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

  1. 选择 编辑 > 首选项 > 设备 > MCU

    注意:如果您看不到MCU选项卡,请选择 帮助 > 关于插件,启用 McuSupport 插件,然后重新启动Qt Creator以应用更改。

  2. 如果尚未设置,请提供Qt for MCUs安装目录的路径。

    {MCU preferences}

  3. 选择一个 由Qt for MCUs SDK支持的目标。例如,Qt for MCUs 2.8.0 - TVIIC2D4M-BAREMETAL 32bpp
  4. 要求 部分,确保满足特定平台的要求。
  5. 选择 启动时自动创建所有可用的目标kit 以自动创建kit。

    注意:您还可以使用 创建kit更新kit 手动创建/更新kit。

  6. 如果选择自动创建kit,请选择 应用 并重新启动Qt Creator。

配置CMake变量

您还可以从命令提示符设置开发环境。有关使用CMake与Qt Quick Ultralite开发Infineon板应用程序的更多信息,请参阅Infineon板CMake手册

使用预构建的Qt Quick Ultralite库构建应用程序

使用Qt Creator IDE构建应用程序

  1. 打开您要构建的示例的CMake项目文件。
  2. 配置项目窗口中
    1. 选择您之前创建的工具包。例如,适用于MCU的Qt 2.8.0 - TVIIC2D4M-BAREMETAL 32bpp
    2. 选择配置项目

{MCU project configuration}

当项目配置完成时,选择运行或在键盘上按Ctrl+r键来构建并将二进制文件闪存到目标设备。

注意:使用Qt Creator闪存时,仅支持与MiniProg4调试器一起使用。

使用命令提示符构建应用程序

您也可以从命令提示符构建应用程序。以下示例说明了如何为TVIIC2D4M-BAREMETAL、TVIIC2D4MLITE-BAREMETAL、TVIIC2D6M-BAREMETAL或TVIIC2D6MDDR-BAREMETAL目标构建最小化示例。

QUL_ROOTQUL_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"

相同的步骤适用于任何其他应用程序。

使用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-Tag插座并执行以下命令

可用于调试的核心

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

注意:由于这些板基于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™ T2GTRAVEO™ T2G CYT3DL, CYT3DL (4M LITE KIT), CYT4DN和CYT4ENIAR Functional Safety Build Tools for Arm V8.22.3和Green Hills MULTI Compiler for Embedded ARM 2017.1.4裸金属

在特定Qt许可下可用。
了解更多。