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次,发文人进小黑屋喔~

评论