ModusToolbox 實戰入門- XMC GPIO應用篇

導讀

ModusToolbox™ 軟體:MCU 開發的利器

ModusToolbox™ 軟體是一組支援 MCU 周邊配置和應用的工具和發展。這些工具使您能夠將我們的 MCU 整合到您現有的開發方法中。

ModusToolbox™ 軟體的優點

  • 提供完整的 MCU 周邊配置和應用工具
  • 可整合到現有的開發方法中
  • 使用簡單方便
 
本文著點於 Infineon XMC1000/4000 系列的實戰與應用講解。以 GPIO 為範例,從 MTB 的配置到程式中的 API 呼叫使用,一步一步的講解。

作為 MCU 開發的參考指南。讀者可以按照本文中的步驟進行操作,逐步學習如何使用 ModusToolbox™ 軟體進行 MCU 開發。



1. 項目開始

1.1 安裝 ModusToolbox™ 軟體

ModusToolbox™ 軟體可在英飛凌開發人員中心 (IDC) 網站上找到:

https://www.infineon.com/cms/en/design-support/tools/utilities/infineon-developer-center-idc-launcher/

下載適合您的安裝程序作業系統並根據您的系統情況運行它。

針對 ModusToolbox™ 安裝與操作介面可參考大大通另一位作者的連接。

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個頁面

  1. Peripheral

主要配置Analog(ADC)、Communication(CAN、USCI)、Digital(CCU4、CCU8)、System(ACMP、ERU、POSIF、PRNG、RTC、WDT)

  1. Pins

主要用於確認MCU每個Pin腳分配情況。

  1. Analog-Routing

主要用於確認ADC Pin腳分配情況,XMC1000的ADC腳位皆分於於P2.x Pin,這樣避免在規畫時就分配到錯誤的腳位。

  1. 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™ 軟體的使用指南和實戰案例,希望對讀者有所幫助。

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

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

評論