ModusToolbox 實戰入門- 介紹篇

前言

英飛凌針對可程式化單晶片系統 (Programmable system-on-chip, PSoC) 相關系列元件,提供了兩套開發工具,分別為 PSoC Creator  ModusToolbox
本系列博文將偏重於 ModusToolbox 進行軟件介紹以及應用說明。


1.   英飛凌 PSoC 開發工具

1.1 PSoC 開發工具介紹

英飛凌針對 PSoC 主要提供兩個免費的開發平台,您可以使用它們進行應用開發:
  • ModusToolbox:
    • ModusToolbox 軟件包括
      • 配置工具
      • 底層驅動程序
      • 中間件庫
      • 操作系統支持
      • 使您能夠創建 MCU 和無線應用程序的其他軟件包
    • ModusToolbox IDE 是基於 Eclipse 的開發環境,相關的硬件和中間件配置器,皆可在以下平台上運行:
      • Windows (x64) (exe)
      • macOS (x32 - x64) (pkg)
      • Linux (x64) (tar.gz)
    • ModusToolbox 支持
      • 完全集成到 IDE 中的獨立器件和中間件配置器。使用配置器設置器件中不同模塊的配置,並生成可用於固件開發的代碼。
      • 所有 PSoC 6 MCU 器件。
      • 建議您將 ModusToolbox 用於 PSoC 6 MCU 的所有應用程序開發。有關更多信息,請參閱 ModusToolboxTM user guide
    • 英飛凌在 GitHub 網站上提供了最新的庫和支持軟件。
      GitHub 上可用的英飛凌軟件資源支持一個或多個目標生態系統:
      • MCU 和藍牙 SOC 生態系統–用於 PSoC 6、Wi-Fi、藍牙和藍牙低功耗應用開發的全功能平台
      • Mbed OS 生態系統–提供嵌入式操作系統,傳輸安全性和雲服務以創建連接的嵌入式解決方案
      • Amazon FreeRTOS 生態系統–通過軟件庫擴展了 FreeRTOS 內核,可輕鬆將小型低功耗設備安全地連接到 AWS 雲服務
    • ModusToolbox 工具和資源也可以在命令行中使用。有關命令行操作部分,請參閱 ModusToolboxTM user guide

      ModusToolbox
      圖 1 ModusToolbox 軟件視圖

  • PSoC Creator:
    • Cypress 早期針對 PSoC 開發的專用 IDE,僅在 Windows 上運行。目前已停止更新維護,最終可用版本為 v4.4。
    • 這個成熟的 IDE 包含一個圖形編輯器,該圖形編輯器在組件的幫助下支持基於原理圖的設計輸入。
    • 它支持 PSoC 6 MCU 器件的子集以及 PSoC 3, PSoC 4 和 PSoC 5LP 等其他 PSoC 器件系列。
    • 有關更多信息,請參閱 AN221774 Getting Started with PSoC 6 on PSoC Creator
      PSoC Creator
      圖 2 PSoC Creator 軟件視圖


1.2 開發平台的選擇

  • ModusToolbox:
    • ModusToolbox IDE 當前不支持 PSoC 6 MCU 的某些功能:
      • UDB
      • USB 主機模式
    • 英飛凌將來會發布新版本的 ModusToolbox,增加支持這些功能並改善用戶體驗。
    • 為什麼選擇 ModusToolbox?
      • 具有基於 Eclipse 的工具的使用經驗,並且想利用基於 Eclipse 的 IDE 的強大功能和可擴展性
      • 希望在 Linux 或 MacOS 上使用開發環境
      • 想要使用英飛凌 IoT 設備構建 IoT 應用程序
      • 正在使用 PSoC Creator 不支持的 PSoC 6 MCU 設備
  • PSoC Creator:
    • 為什麼選擇 PSoC Creator?
      • 傾向於使用圖形編輯器進行設計輸入和代碼生成,並且 IDE 支持您計劃使用的 PSoC MCU
      • 打算在 PSoC MCU 上使用 UDB



2.   ModusToolbox 軟件介紹

2.1 ModusToolbox 軟件架構

由於本篇主角為 ModusToolbox,因此以下將以它為主來說明。
ModusToolbox 是一套工具和軟件,可為融合了 MCU 和無線系統的應用去創建,並提供身臨其境的開發體驗,使您能夠將我們的設備集成到您現有的開發方法中。
為實現這一目標,ModusToolbox 利用了 FreeRTOS、Arm® Mbed 等流行的第三方生態系統,並為 Wi-Fi、Bluetooth®、CAPSENSETM 和安全性添加了特定功能。
ModusToolbox 的 Eclipse IDE 是一個支持應用程序配置和開發的多平台開發環境。
圖 3 顯示了 ModusToolbox 軟件中包含的工具/資源的高級視圖。 如需更深入地了解 ModusToolbox 軟件,請參閱 ModusToolboxTM user guide

ModusToolbox架構


圖 3 ModusToolbox 軟件架構


ModusToolbox 安裝程序包括設計配置器和工具,以及構建系統基礎架構。

構建系統基礎結構包括新的項目創建嚮導,該嚮導可以獨立於 ModusToolbox IDE,make 基礎結構和其他工具運行。


2.2 ModusToolbox 開發參考流程

ModusToolbox 為使用 PSoC 6 MCU 和其他 Wi-Fi/Bluetooth® 設備進行固件開發提供了四個參考流程:
  1. FreeRTOS 開發流程:
    • FreeRTOS 是一個用於微控制器的開源操作系統,它使小型、低功耗的邊緣設備易於編程、部署、保護、連接和管理。
    • FreeRTOS 擴展了 FreeRTOS 內核,這是一種流行的微控制器開源操作系統,其軟件庫可以輕鬆地將小型低功耗設備安全地連接到 AWS IoT Core 等 AWS 雲服務或運行 AWS IoT Greengrass 的更強大的邊緣設備。
      要開始使用 Amazon FreeRTOS 在 PSoC™ 6 MCU 上進行固件開發,請訪問 Getting started with FreeRTOS
  2. Arm® Mbed OS 開發流程:
    • Arm® Mbed OS 是一款免費的開源嵌入式操作系統,專為物聯網中的“聯網物件”而設計。
    • 它包含開發基於 Arm® Cortex®-M 微控制器的互聯產品所需的所有功能,包括安全性、連接性、RTOS 以及傳感器和 I/O 設備的驅動程序。
      要開始使用 Mbed OS 在 PSoC™ 6 上進行固件開發,請參閱 Getting started with PSoC™ 6 MCU and CYW43xxx in Mbed OS
  3. MCU 和 Bluetooth® SoC 生態系統:
    • 這是適用於 PSoC™ 6 MCU 的 ModusToolbox™ 的 Eclipse IDE 支持的本機開發流程。 您可以在裸機或您選擇的 RTOS 上使用它。
  4. AnyCloud 開發流程:
    • AnyCloud 是基於行業標準 lwIP TCP/IP 堆棧和 Mbed TLS 網絡安全性的庫集合。
    • 它支持在 PSoC™ 6 MCU 設備上快速開發 Wi-Fi 和 Bluetooth® 應用程序。
    • AnyCloud 通過完全開放、可定制和可擴展的源代碼分發,支持使用自定義或替代第三方雲管理方法進行開發。
    • AnyCloud 包括 Wi-Fi 連接管理器、Wi-Fi 中間件核心、Wi-Fi 主機驅動程序、FreeRTOS 內核、RTOS 抽像庫、MQTT、OTA、LPA、安全套接字和 Bluetooth® 堆棧。
      要開始使用 PSoC™ 6 MCU 上的 AnyCloud,請參閱英飛凌 GitHub 存儲庫中的 AnyCloud code examples

2.3 ModusToolbox 開發資源

上述所有開發流程都依賴於提供的低階資源。 這些包括:
  • 開發板支援包 (BSP)
    • BSP 是固件層,包含特定電路板的驅動程序和其他功能。
    • BSP 是一組庫,提供 API 以初始化電路板並提供對電路板周邊設備的訪問。
    • 包括低階資源,例如用於 PSoC™ 6 MCU 的外設驅動程序庫 (PDL),並具有用於電路板外設的巨集。
    • 使用 HAL 來配置電路板。
    • 可以創建自定義 BSP 以支持最終應用電路板。
      有關詳細信息,請參閱 ModusToolboxTM user guide 中的開發板支援包部分。
  • 硬件抽象層 (HAL)
    • 提供了一個高級接口來配置和使用 MCU 上的硬件模塊。
    • 是一個通用接口,可用於多個產品系列。
    • 專注於易用性和可移植性,意味著 HAL 不會公開所有低階外設功能。
    • HAL 封裝了較低級別的驅動程序 (如 PSoC™ 6 PDL),並為 MCU 提供了高階接口。 該接口被提取出,可在任何 MCU 上工作。 這有助於您編寫獨立於目標 MCU 的應用程序固件。
    • HAL 可以在單個應用程序中與特定於平台的庫(例如 PSoC™ 6 PDL)結合使用。
    • 對於大多數應用程序,您可以利用 HAL 更簡單、更通用的接口,即使其中一部分需要更細微的控制。
  • PSoC™ 6 外設驅動程序庫 (PDL)
    • 將設備頭文件、啟動代碼和外設驅動程序集成到一個單獨包中。
    • 支持 PSoC™ 6 MCU 器件系列。 驅動程序將硬件功能抽象為一組易於使用的 API。 這些在 PDL API 參考中有完整的記錄。
    • 減少了了解暫存器使用和位元結構的需要,從而簡化了 PSoC™ 6 MCU 系列中大量外設的軟件開發。 為應用程序配置驅動程序,然後使用 API 調用來初始化和使用外圍設備。
  • 中間層函式庫(Middleware)
    • 為應用程序提供特定功能的廣泛的中間層函式庫
    • 可用的中間層跨越連接(藍牙®、AWS IoT、藍牙® LE、安全套接字)到 PSoC™ 6 特定功能(CAPSENSE™、USB、設備固件升級 (DFU)、emWin)。
    • 所有中間層都作為庫和通過 GitHub 存儲庫來傳遞。



小結

透過以上講解,相信應該已經對於 ModusToolbox 開發工具有初步的了解,下一篇預計專注於安裝此軟件的說明,本篇博文到這裡,期待下一篇博文吧!

 

參考資料

[1] AN228571 Getting started with PSoC™ 6 MCU on ModusToolbox™ software
[2] AN228571 ModusToolbox 上 PSoC 6 MCU 入门



英飛凌台灣 Automotive PSoC 代理商聯繫人
PM:
Frank Chiu; 手機:+886-937-008-020; Email:frank.chiu@sacsys.com.tw;


FAE:
Ade Chen; 手機:+886-989-485-028; Email:ade.chen@sacsys.com.tw;
Ade_QR

★博文內容均由個人提供,與平台無關,如有違法或侵權,請與網站管理員聯繫。

★文明上網,請理性發言。內容一周內被舉報5次,發文人進小黑屋喔~

評論