导读
ModusToolbox™ 软体:MCU 开发的利器
ModusToolbox™ 软体是一组支援 MCU 周边配置和应用的工具和发展。这些工具使您能够将我们的 MCU 整合到您现有的开发方法中。
ModusToolbox™ 软体的优点
- 提供完整的 MCU 周边配置和应用工具
- 可整合到现有的开发方法中
- 使用简单方便
本文著点于 Infineon XMC1000/4000 系列的实战与应用讲解。以 GPIO 为范例,从 MTB 的配置到程式中的 API 呼叫使用,一步一步的讲解。
作为 MCU 开发的参考指南。读者可以按照本文中的步骤进行操作,逐步学习如何使用 ModusToolbox™ 软体进行 MCU 开发。
1. 项目开始
1.1 安装 ModusToolbox™ 软体
ModusToolbox™ 软体可在英飞凌开发人员中心 (IDC) 网站上找到:
Infineon Developer Center Launcher - Infineon Technologies
下载适合您的安装程序作业系统并根据您的系统情况运行它。
针对 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中下载相关的范列。
GitHub - Infineon/modustoolbox-software: This ReadMe contains links and information on Cypress and third-party middleware for ModusToolbox, as well as BSPs and other resources.
单击 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)
2. Pins
主要用于确认MCU每个Pin脚分配情况。
3. Analog-Routing
主要用于确认ADC Pin脚分配情况,XMC1000的ADC脚位皆分于于P2.x Pin,这样避免在规画时就分配到错误的脚位。
4. 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™ 软体的使用指南和实战案例,希望对读者有所帮助。
登录大大通,了解更多详情,解锁1500+完整应用方案,更有大联大700+FAE在线答疑解惑!