3. 开发环境搭建与第一个低功耗工程
要让 TRAVEO T2G 真正跑起来,第一步不是写代码,而是把工具链、板级支持包和调试通道一次性理顺。本节以 ModusToolbox 为主线,完成从安装到串口打印的完整闭环:安装 ModusToolbox、选择 TRAVEO T2G BSP、创建工程、编译下载、配置调试串口。整个过程围绕一个核心目标——让开发板在低功耗模式下仍能通过串口输出可观察的信息。
3.1 安装 ModusToolbox
ModusToolbox 是英飞凌主推的跨平台开发套件,包含 Eclipse IDE、命令行工具、设备配置器(Device Configurator)、库管理器(Library Manager)以及 GCC 编译工具链。安装时建议选择 ModusToolbox Setup 统一安装器,它会自动拉取 IDE、工具链和必要的补丁包。
安装路径不要包含中文或空格,例如使用 C:\Infineon\Tools\ModusToolbox。安装完成后,首次启动会提示选择工作区(Workspace),建议单独建一个目录,如 D:\mtb_workspace。随后在 Preferences → ModusToolbox 中确认工具链路径已自动识别,若未识别,手动指向 tools_3.x/gcc 目录。
3.2 选择 TRAVEO T2G BSP
BSP(Board Support Package)是连接芯片外设与上层代码的桥梁。TRAVEO T2G 系列包含 CYT2、CYT3、CYT4 等多个子系列,每个子系列又有不同的封装和引脚复用。选择 BSP 时,必须与手头开发板型号严格对应。
在 ModusToolbox 中,通过 Library Manager 或 Project Creator 选择 BSP。以常见的 CYT2B7 为例,BSP 名称通常形如 TARGET_CYT2B7-xxx。选择后,工具会自动生成 cybsp.c、cybsp.h 以及对应的链接脚本和启动文件。若开发板为自定义板,则需基于官方 BSP 复制一份并修改引脚定义。
BSP 选择错误会导致时钟初始化失败、串口无输出甚至无法下载。判断方法:编译后查看 cybsp.h 中的 CYBSP_DEBUG_UART_TX_PIN 等宏是否与实际板卡丝印一致。
3.3 创建第一个低功耗工程
在 Project Creator 中选择 Empty Application 或 Hello World 模板,指定 BSP 后生成工程。工程结构大致如下:
MyFirstLowPower/
├── main.c
├── cybsp.c / cybsp.h
├── Makefile
├── deps/
│ └── mtb_shared/
└── libs/
└── retarget_io/
低功耗工程的关键在于:初始化后不要停留在死循环里空转,而是进入 Cy_SysPm_DeepSleep() 或 Cy_SysPm_Hibernate()。以下是一个最小示例,使用 Retarget I/O 将 printf 重定向到调试串口:
#include "cybsp.h"
#include "cy_pdl.h"
#include "cy_retarget_io.h"
int main(void)
{
cy_rslt_t result;
result = cybsp_init();
if (result != CY_RSLT_SUCCESS) { CY_ASSERT(0); }
cy_retarget_io_init(CYBSP_DEBUG_UART_TX,
CYBSP_DEBUG_UART_RX,
CY_RETARGET_IO_BAUDRATE);
printf("TRAVEO T2G low-power demo start\r\n");
for (;;)
{
printf("Enter DeepSleep...\r\n");
Cy_SysPm_DeepSleep(CY_SYSPM_WAIT_FOR_INTERRUPT);
printf("Wakeup!\r\n");
}
}
注意:进入 DeepSleep 前必须确保没有未处理的中断挂起,否则会立即唤醒。示例中 CY_SYSPM_WAIT_FOR_INTERRUPT 表示等待中断唤醒,适合按键或 RTC 周期唤醒场景。
3.4 编译、下载与调试串口配置
编译使用 make 或 IDE 的 Build 按钮。若使用命令行,在工程根目录执行:
make build
make program
下载依赖 KitProg3 或 J-Link。TRAVEO T2G 开发板通常板载 KitProg3,通过 USB 连接后,在设备管理器中应出现 KitProg3 USB-UART 和 KitProg3 CMSIS-DAP 两个设备。若未出现,安装 KitProg3 驱动或使用 fw-loader 更新固件。
调试串口配置是本节最容易出问题的环节。默认波特率通常为 115200,数据位 8,无校验,停止位 1。在 PC 端使用串口终端(如 Tera Term、PuTTY 或 VS Code 串口监视器)打开对应 COM 口。若输出乱码,优先检查波特率是否与 CY_RETARGET_IO_BAUDRATE 一致;若无任何输出,检查 TX/RX 是否接反、BSP 中 UART 引脚是否与实际板卡匹配。
Cy_SysPm_DeepSleep 前设置断点,观察唤醒源。3.5 低功耗工程的关键观察点
完成上述步骤后,一个可运行的低功耗工程应具备以下特征:上电后串口打印启动信息;进入 DeepSleep 后电流明显下降(可用万用表或功耗分析仪观察,典型值从几十毫安降至微安级);通过按键或 RTC 中断唤醒后继续打印。若电流没有下降,检查是否有外设时钟未关闭、GPIO 未配置为低功耗状态,或调试器仍处于连接状态。
下表汇总了本节涉及的关键配置项与常见问题,便于快速排查:
| 配置项 | 典型值/操作 | 异常表现 | 排查方向 |
|---|---|---|---|
| BSP 选择 | CYT2B7 对应 TARGET_CYT2B7-xxx | 编译报错、引脚宏未定义 | 核对开发板丝印与 BSP 名称 |
| 调试串口波特率 | 115200 | 乱码 | 检查终端与代码是否一致 |
| TX/RX 引脚 | CYBSP_DEBUG_UART_TX/RX | 无输出 | 对照原理图确认复用 |
| DeepSleep 唤醒源 | 按键/RTC 中断 | 无法唤醒或立即唤醒 | 检查中断标志与清除 |
| 下载器 | KitProg3 | 无法识别设备 | 更新固件或换 USB 线 |