導讀
ModusToolbox™ 軟體:MCU 開發的利器
ModusToolbox™ 軟體是一組支援 MCU 周邊配置和應用的工具和發展。這些工具使您能夠將我們的 MCU 整合到您現有的開發方法中。
ModusToolbox™ 軟體的優點
- 提供完整的 MCU 周邊配置和應用工具
- 可整合到現有的開發方法中
- 使用簡單方便
本文著點於 Infineon XMC1000/4000 系列的實戰與應用講解。以 GPIO 為範例,從 MTB 的配置到程式中的 API 呼叫使用,一步一步的講解。
作為 MCU 開發的參考指南。讀者可以按照本文中的步驟進行操作,逐步學習如何使用 ModusToolbox™ 軟體進行 MCU 開發。
1. 項目開始
1.1 安裝 ModusToolbox™ 軟體
ModusToolbox™ 軟體可在英飛凌開發人員中心 (IDC) 網站上找到:
下載適合您的安裝程序作業系統並根據您的系統情況運行它。
針對 ModusToolbox™ 安裝與操作介面可參考大大通另一位作者的連接。
或參考Infineon所提供的影片來進行操作
https://m.youtube.com/watch?v=31yJfFD_QrI
1.1. Launch Eclipse IDE
預設情況下,Eclipse IDE安裝在以下目錄<install_path>\ModusToolbox\ide_<version>\eclipse\
啟動 Eclipse IDE
• 在 Windows 上,從「開始」功能表中選擇 Eclipse IDE for ModusToolbox™ <version> 項目。
• 對於其他作業系統,執行「modustoolbox」可執行檔。
• 您也可以從所有作業系統的儀表板啟動Eclipse IDE。 欲了解更多信息,請參閱dashboard user guide。
1.2 Open Project Creator tool
在IDE Quick Panel 中點擊 New Application,會啟動Project Creator 工具,該工具提供了多個用於不同用途的應用程式開發套件。 可用的套件可能會隨著時間的推移而變化。所有的範例檔案存在於Github上,可以直接從Infineon Github中下載相關的範列。
https://github.com/Infineon/modustoolbox-software
單擊 Eclipse IDE 快速面板中的 New Application 鏈接。
也可以選擇 File > New > ModusToolbox™ Application.
建立一個Project之前需先選擇適用的BSP,如圖所示,需要先選擇MCU 和連接裝置(如果有支援)。 當您選擇顯示的每個套件時,該套件的說明將顯示在右側。 根據在系統設定中,您可能會看到不同的類別,包括AIROC™ Bluebooth® BSPs、 PSoC™ 4、PSoC™ 6 、TRAVEO、Wireless Charging 和XMC。對於本示例,選擇KIT_XMC14_BOOT_001來演示。
在Getting Started中選擇 Empty XMC App。若Project Name已存在時,可在New Application Name中修改。
完成後,如果沒有錯誤或警告,Project Creator 工具將自動關閉。 如果有僅警告,按一下關閉,應用程式將在 IDE 中開啟。
1.3. Peripheral Setting
點選Quick Panel中的Device Configuration 4.10來進行Peripheral的配置
在Device Configuration主要分成4個頁面
- Peripheral
主要配置Analog(ADC)、Communication(CAN、USCI)、Digital(CCU4、CCU8)、System(ACMP、ERU、POSIF、PRNG、RTC、WDT)
- Pins
主要用於確認MCU每個Pin腳分配情況。
- Analog-Routing
主要用於確認ADC Pin腳分配情況,XMC1000的ADC腳位皆分於於P2.x Pin,這樣避免在規畫時就分配到錯誤的腳位。
- System主要配置MCU的Clock,一般來說並不會去動它。預設是使用External Oscillator,如果需要修改為Internal Oscillator的話,則需要在此頁面進行修改。
在Pins的頁面中,預設有4個PIN已經做為GPIO的配置使用。P4.0、P4.1、P4.2、P4.4。
中間的圖示可以看出目前有那些Pins已經被使用,其中P0.11、P0.10做為Crystal pin,P1.2為USCI TX、P1.3為USCI RX
點選其中一個Pin,可以看到右邊的Parameters有些參數可以調整。
Control Name |
Range/Items |
Description |
General Pin direction |
Input Input/Output |
Selection of Input or Input/Output functionality. • Input: Digital Input. • Input/Output: Digital Input/ Output. |
Output |
Output Mode |
Push Pull, Open Drain Initial Output Level : High, Low |
Connections |
Digital Input Digital Output |
That is global pins are the ones that contain the inputs/outputs of each module that are common to all slices. The GPIO connections are available at the Ports chapter. |
點選Code Preview後,可以看到在Parameters中的配置後,所產生的對應的Code的內容。
1.4. How to use it
Device Configuration配置完所產生的Code皆會在此目錄底下<Project Name >/bsps/TARGET_APP_KIT_XMC14_BOOT_001/config/GeneratedSource/
點開cycfg_pins.c,Pins的初始化的code皆列於此處。
而Infineon大部份Driver層皆有library,位於
<Workspace>/mtb_shared/mtb-xmclib-cat3/release-v4.3.0/XMCLib/inc
以GPIO setting為範例,直接參考xmc_gpio.h的內文就可以直接呼叫使用。
例如要將GPIO設為High,就可以寫
XMC_GPIO_SetOutputHigh(CYBSP_DEBUG_UART_TX_PORT, CYBSP_DEBUG_UART_TX_PIN);
例如要將GPIO設為Low,就可以寫
XMC_GPIO_SetOutputLow(CYBSP_DEBUG_UART_TX_PORT, CYBSP_DEBUG_UART_TX_PIN);
讀取GPIO States的話,就可以寫
XMC_GPIO_GetInput(CYBSP_DEBUG_UART_TX_PORT, CYBSP_DEBUG_UART_TX_PIN);
結語
ModusToolbox™ 軟體是一款功能強大的 MCU 開發工具。本文提供了 ModusToolbox™ 軟體的使用指南和實戰案例,希望對讀者有所幫助。
評論