C
在Infineon上开始使用
本节提供有关在Qt Quick Ultralite支持的平台(Infineon平台)上开始使用的所有必要信息。Qt for MCUs是Infineon认证HMI工具。
注意:在设置开发环境之前,请确保已安装所有先决条件。
设置开发环境
配置Qt Creator IDE
要使用Qt Creator IDE为MCU开发,需要MCU插件。安装Qt for MCUs SDK时会默认启用Qt Online Installer。
要为MCU构建和运行应用程序,您必须创建一个kit
- 选择 编辑 > 首选项 > 设备 > MCU。
注意:如果您看不到MCU选项卡,请选择 帮助 > 关于插件,启用 McuSupport 插件,然后重新启动Qt Creator以应用更改。
- 如果尚未设置,请提供Qt for MCUs安装目录的路径。
- 选择一个 由Qt for MCUs SDK支持的目标。例如,Qt for MCUs 2.8.0 - TVIIC2D4M-BAREMETAL 32bpp。
- 在 要求 部分,确保满足特定平台的要求。
- 选择 启动时自动创建所有可用的目标kit 以自动创建kit。
注意:您还可以使用 创建kit 和 更新kit 手动创建/更新kit。
- 如果选择自动创建kit,请选择 应用 并重新启动Qt Creator。
配置CMake变量
您还可以从命令提示符设置开发环境。有关使用CMake与Qt Quick Ultralite开发Infineon板应用程序的更多信息,请参阅Infineon板CMake手册。
使用预构建的Qt Quick Ultralite库构建应用程序
使用Qt Creator IDE构建应用程序
- 打开您要构建的示例的CMake项目文件。
- 在配置项目窗口中
- 选择您之前创建的工具包。例如,适用于MCU的Qt 2.8.0 - TVIIC2D4M-BAREMETAL 32bpp。
- 选择配置项目。
当项目配置完成时,选择运行或在键盘上按Ctrl+r键来构建并将二进制文件闪存到目标设备。
注意:使用Qt Creator闪存时,仅支持与MiniProg4调试器一起使用。
使用命令提示符构建应用程序
您也可以从命令提示符构建应用程序。以下示例说明了如何为TVIIC2D4M-BAREMETAL、TVIIC2D4MLITE-BAREMETAL、TVIIC2D6M-BAREMETAL或TVIIC2D6MDDR-BAREMETAL目标构建最小化
示例。
QUL_ROOT
和QUL_TOOLS
在下面的命令行示例中被用作预设环境变量的样子。例如
export QUL_ROOT=$HOME/Qt/QtMCUs/2.8.0 export QUL_TOOLS=$HOME/Qt/Tools/QtMCUs
set QUL_ROOT=C:\Qt\QtMCUs\2.8.0 set QUL_TOOLS=C:\Qt\Tools\QtMCUs
cd %QUL_ROOT%\examples\minimal mkdir build cd build cmake .. -G "Ninja" -DCMAKE_BUILD_TYPE=MinSizeRel -DQul_ROOT=%QUL_ROOT% -DCMAKE_TOOLCHAIN_FILE=%QUL_ROOT%\lib\cmake\Qul\toolchain\ghs-arm.cmake -DQUL_TARGET_TOOLCHAIN_DIR=C:\ghs\comp_201714 -DQUL_BOARD_SDK_DIR=C:\TVII-GraphicsDriver -DINFINEON_AUTO_FLASH_UTILITY_DIR="C:\Program Files (x86)\Infineon\Auto Flash Utility 1.4" -DQUL_PLATFORM=tviic2d4m-baremetal cmake --build .
cd %QUL_ROOT%\examples\minimal mkdir build cd build cmake .. -G "Ninja" -DCMAKE_BUILD_TYPE=MinSizeRel -DQul_ROOT=%QUL_ROOT% -DCMAKE_TOOLCHAIN_FILE=%QUL_ROOT%\lib\cmake\Qul\toolchain\ghs-arm.cmake -DQUL_TARGET_TOOLCHAIN_DIR=C:\ghs\comp_201714 -DQUL_BOARD_SDK_DIR=C:\TVII-GraphicsDriver -DINFINEON_AUTO_FLASH_UTILITY_DIR="C:\Program Files (x86)\Infineon\Auto Flash Utility 1.4" -DQUL_PLATFORM=tviic2d4mlite-baremetal cmake --build .
cd %QUL_ROOT%\examples\minimal mkdir build cd build cmake .. -G "Ninja" -DCMAKE_BUILD_TYPE=MinSizeRel -DQul_ROOT=%QUL_ROOT% -DCMAKE_TOOLCHAIN_FILE=%QUL_ROOT%\lib\cmake\Qul\toolchain\ghs-arm.cmake -DQUL_TARGET_TOOLCHAIN_DIR=C:\ghs\comp_201714 -DQUL_BOARD_SDK_DIR=C:\TVII-GraphicsDriver -DINFINEON_AUTO_FLASH_UTILITY_DIR="C:\Program Files (x86)\Infineon\Auto Flash Utility 1.4" -DQUL_PLATFORM=tviic2d6m-baremetal cmake --build .
cd %QUL_ROOT%\examples\minimal mkdir build cd build cmake .. -G "Ninja" -DCMAKE_BUILD_TYPE=MinSizeRel -DQul_ROOT=%QUL_ROOT% -DCMAKE_TOOLCHAIN_FILE=%QUL_ROOT%\lib\cmake\Qul\toolchain\ghs-arm.cmake -DQUL_TARGET_TOOLCHAIN_DIR=C:\ghs\comp_201714 -DQUL_BOARD_SDK_DIR=C:\TVII-GraphicsDriver -DINFINEON_AUTO_FLASH_UTILITY_DIR="C:\Program Files (x86)\Infineon\Auto Flash Utility 1.4" -DQUL_PLATFORM=tviic2d6mddr-baremetal cmake --build .
成功构建最小化
示例应用程序后,可以使用以下命令之一进行闪存
使用MiniProg4调试器:
使用自动生成的闪存目标
cmake --build . --target flash_minimal
或手动
"C:\Program Files (x86)\Infineon\Auto Flash Utility 1.4\bin\openocd.exe" -s "C:\Program Files (x86)\Infineon\Auto Flash Utility 1.4\scripts" -f interface/kitprog3.cfg -c "set ENABLE_SEMPERFLASH_0 1" -c "transport select swd" -f target/traveo2_c2d_4m.cfg -c "program MinSizeRel/minimal.elf verify exit"
"C:\Program Files (x86)\Infineon\Auto Flash Utility 1.4\bin\openocd.exe" -s "C:\Program Files (x86)\Infineon\Auto Flash Utility 1.4\scripts" -f interface/kitprog3.cfg -c "set ENABLE_SEMPERFLASH_0 1" -c "transport select swd" -f target/traveo2_c2d_4m.cfg -c "program MinSizeRel/minimal.elf verify exit"
"C:\Program Files (x86)\Infineon\Auto Flash Utility 1.4\bin\openocd.exe" -s "C:\Program Files (x86)\Infineon\Auto Flash Utility 1.4\scripts" -f interface/kitprog3.cfg -c "transport select swd" -f target/traveo2_6m.cfg -c "program MinSizeRel/minimal.elf verify exit"
"C:\Program Files (x86)\Infineon\Auto Flash Utility 1.4\bin\openocd.exe" -s "C:\Program Files (x86)\Infineon\Auto Flash Utility 1.4\scripts" -f interface/kitprog3.cfg -c "transport select swd" -f target/traveo2_6m_ddr.cfg -c "program MinSizeRel/minimal.elf verify exit"
使用J-Link调试器:
"C:\Program Files (x86)\Infineon\Auto Flash Utility 1.4\bin\openocd.exe" -s "C:\Program Files (x86)\Infineon\Auto Flash Utility 1.4\scripts" -f interface/jlink.cfg -c "set ENABLE_SEMPERFLASH_0 1" -c "transport select swd" -f target/traveo2_c2d_4m.cfg -c "program MinSizeRel/minimal.elf verify exit"
"C:\Program Files (x86)\Infineon\Auto Flash Utility 1.4\bin\openocd.exe" -s "C:\Program Files (x86)\Infineon\Auto Flash Utility 1.4\scripts" -f interface/jlink.cfg -c "set ENABLE_SEMPERFLASH_0 1" -c "transport select swd" -f target/traveo2_c2d_4m.cfg -c "program MinSizeRel/minimal.elf verify exit"
"C:\Program Files (x86)\Infineon\Auto Flash Utility 1.4\bin\openocd.exe" -s "C:\Program Files (x86)\Infineon\Auto Flash Utility 1.4\scripts" -f interface/jlink.cfg -c "transport select swd" -f target/traveo2_6m.cfg -c "program MinSizeRel/minimal.elf verify exit"
"C:\Program Files (x86)\Infineon\Auto Flash Utility 1.4\bin\openocd.exe" -s "C:\Program Files (x86)\Infineon\Auto Flash Utility 1.4\scripts" -f interface/jlink.cfg -c "transport select swd" -f target/traveo2_6m_ddr.cfg -c "program MinSizeRel/minimal.elf verify exit"
相同的步骤适用于任何其他应用程序。
使用GDB进行调试
对于调试,已知GHS调试器、J-Link Ultra+调试器和Miniprog4均可正常工作,并推荐使用。其他调试器也可能可用,请联系Infineon或工具供应商进行确认。
注意:当使用Green Hills编译器时,GDB回溯可能不准确或不完整。
要求
使用GDB进行调试需要GNU Arm GCC 12.3.rel1工具链。可以从GNU Arm嵌入式工具链下载下载。
编译
配置时务必使用-DCMAKE_BUILD_TYPE=Debug
,以确保构建的执行文件获得必要的DWARF2调试表。
启动GDB服务器
设置环境变量INFINEON_AUTO_FLASH_UTILITY_DIR
按照以下步骤设置INFINEON_AUTO_FLASH_UTILITY_DIR
,并根据您的机器正确调整路径
set INFINEON_AUTO_FLASH_UTILITY_DIR="C:\Program Files (x86)\Infineon\Auto Flash Utility 1.4"
使用MiniProg4调试器:
连接MiniProg4调试器后,执行以下命令
%INFINEON_AUTO_FLASH_UTILITY_DIR%\bin\openocd -s %INFINEON_AUTO_FLASH_UTILITY_DIR%\scripts -f interface/kitprog3.cfg -c "transport select swd" -f target/traveo2_c2d_4m.cfg
%INFINEON_AUTO_FLASH_UTILITY_DIR%\bin\openocd -s %INFINEON_AUTO_FLASH_UTILITY_DIR%\scripts -f interface/kitprog3.cfg -c "transport select swd" -f target/traveo2_c2d_4m.cfg
%INFINEON_AUTO_FLASH_UTILITY_DIR%\bin\openocd -s %INFINEON_AUTO_FLASH_UTILITY_DIR%\scripts -f interface/kitprog3.cfg -c "transport select swd" -f target/traveo2_6m.cfg
%INFINEON_AUTO_FLASH_UTILITY_DIR%\bin\openocd -s %INFINEON_AUTO_FLASH_UTILITY_DIR%\scripts -f interface/kitprog3.cfg -c "transport select swd" -f target/traveo2_6m_ddr.cfg
使用J-Link调试器:
将J-Link调试器连接到板上J-Tag插座并执行以下命令
%INFINEON_AUTO_FLASH_UTILITY_DIR%\bin\openocd -s %INFINEON_AUTO_FLASH_UTILITY_DIR%\scripts -f interface/jlink.cfg -c "transport select swd" -f target/traveo2_c2d_4m.cfg
%INFINEON_AUTO_FLASH_UTILITY_DIR%\bin\openocd -s %INFINEON_AUTO_FLASH_UTILITY_DIR%\scripts -f interface/jlink.cfg -c "transport select swd" -f target/traveo2_c2d_4m.cfg
%INFINEON_AUTO_FLASH_UTILITY_DIR%\bin\openocd -s %INFINEON_AUTO_FLASH_UTILITY_DIR%\scripts -f interface/jlink.cfg -c "transport select swd" -f target/traveo2_6m.cfg
%INFINEON_AUTO_FLASH_UTILITY_DIR%\bin\openocd -s %INFINEON_AUTO_FLASH_UTILITY_DIR%\scripts -f interface/jlink.cfg -c "transport select swd" -f target/traveo2_6m_ddr.cfg
可用于调试的核心
OpenOCD现在已连接到MCU,并等待GDB连接。如果查看终端输出,您将找到几个可连接的端口。第一个是CM0+(Cortex-M0+)核心,其余的是CM7(Cortex-M7)核心(TRAVEO™ T2G CYT3DL上一个,TRAVEO™ T2G CYT4DN和TRAVEO™ T2G CYT4EN各有两个)。当您通过GDB连接到GDB服务器时,请选择对应于您要调试的核心的端口。
Qt for MCUs默认使用CM0+
作为引导加载程序,第一个CM7
核心用于应用程序。
使用GDB连接
现在您可以通过GDB连接到GDB服务器并逐条执行指令。
设置《ARMGCC_DIR
》环境变量
按如下所示设置《ARMGCC_DIR
》,并将路径调整为您的机器的正确位置
set ARMGCC_DIR="C:\Qt\Tools\QtMCUs\arm_gcc_12_3_1\bin"
使用MiniProg4调试器:
%ARMGCC_DIR%\arm-none-eabi-gdb.exe C:/path/to/binary/application.elf -ex "target remote localhost:3334" (gdb) monitor reset (gdb) continue
使用J-Link调试器:
注意:由于这些板基于ARM《big.LITTLE
》CPU架构,请确保您使用《monitor traveo2 reset_halt
》命令重启
%ARMGCC_DIR%\arm-none-eabi-gdb.exe C:/path/to/binary/application.elf -ex "target remote localhost:3334" (gdb) monitor traveo2 reset_halt sysresetreq (gdb) continue
特定于板的信息
硬件 | 板 | 编译器 | 操作系统 |
---|---|---|---|
TRAVEO™ T2G | TRAVEO™ T2G CYT3DL, CYT3DL (4M LITE KIT), CYT4DN和CYT4EN | IAR Functional Safety Build Tools for Arm V8.22.3和Green Hills MULTI Compiler for Embedded ARM 2017.1.4 | 裸金属 |
在特定Qt许可下可用。
了解更多。