ZHCAFG3 December 2024 F29H850TU , F29H859TU-Q1
所有这一切的最后一步是添加编译后处理步骤以生成我们的 GUI。要启用 GUI 支持,请转到“项目属性”->“通用”->“变量”,然后添加两个分别名为 DLT_SUPPORT 和 GUI_SUPPORT 的变量。将值设置为 1。
图 6-14 用户定义的变量需要执行此步骤才能生成 GUI,请复制并粘贴以下编译后处理步骤。
if ${DLT_SUPPORT} == 1 ${NODE_TOOL} ${BuildDirectory}\syscfg\dlt\generate_assoc_table_v1.01.00.js "${CG_TOOL_ROOT}/bin/c29clang.exe -Xclang -ast-dump=json" "-c -I"${COM_TI_MCU_SDK_F29H85X_INSTALL_DIR}/source" -I"${COM_TI_MCU_SDK_F29H85X_INSTALL_DIR}/source/driverlib" -I"${COM_TI_MCU_SDK_F29H85X_INSTALL_DIR}/source/bitfields" -I"${COM_TI_MCU_SDK_F29H85X_INSTALL_DIR}/examples/device_support/include" -I"${COM_TI_MCU_SDK_F29H85X_INSTALL_DIR}/source/rtlibs/dcl" -I"${COM_TI_MCU_SDK_F29H85X_INSTALL_DIR}/source/rtlibs/dsp/fpu/fpu32/fft" -I"${COM_TI_MCU_SDK_F29H85X_INSTALL_DIR}/source/rtlibs/iqmath" -I"${COM_TI_MCU_SDK_F29H85X_INSTALL_DIR}/source/kernel/freertos/Source/include" -I"${COM_TI_MCU_SDK_F29H85X_INSTALL_DIR}/source/kernel/freertos/Source/portable/CCS/C2000_C29x" -I"${PROJECT_ROOT}/" -I"${CG_TOOL_INCLUDE_PATH}" -I"${PROJECT_ROOT}/CPU1_RAM/syscfg" -I"${CG_TOOL_INCLUDE_PATH}" -DDEBUG -g"
if ${GUI_SUPPORT} == 1 ${BuildDirectory}\syscfg\gui_setup.bat
添加这些编译后处理步骤后,继续操作并编译项目。当项目构建完成,可以查看 GUI 后,转到“视图”->“重新加载窗口”。窗口完成重新加载后,转到“视图”->“插件”->“gui_app”。显示的名称取决于 MCU 任务控制模块下 GUI 项目名称 中提供的名称。
图 6-15 CCS Theia 插件称为 DLT 的 GUI 选项卡,所有 DLT 内容都位于该选项卡中。此表和图表显示了应用于源代码的所有标签标记和变量。如果在源代码中添加了更多内在函数,则需要重构项目,并且需要重新打开 GUI。
图 6-16 CCS Theia 中的基本 GUI转到 选项→串口设置... 来选择正确的 COM 端口。
图 6-17 串行端口配置必须选择正确的 COM 端口才能使 GUI 正常工作。
连接至器件并将程序加载到器件中,图形会填充数据。
图 6-18 最终输出 GUI Composer显示的列是转换后的 DLT 包日志。绝对时间是转换为毫秒的 IPC 计时器值。相对时间始终相对于上一个代码标记或 DLTAG。标签 列是传递到 __builtin_c29_datalog_tag 编译器内在函数中的值。这是一种跟踪应用程序代码的方法。函数列告知作为数据日志的变量来自哪个函数。数据类型 列是指源代码中变量的数据类型。变量 列是指所记录数据的变量。寄存器 列是在应用程序代码中到达日志时变量的值。其他列会被最小化,因为这些列与溢出以及日志是代码标记还是变量日志有关。
| 绝对时间 | 相对时间 | TAG | 功能 | 数据类型 | 变量 | 寄存器 | 计时器 1 OVF | 计时器 2 OVF | 代码标记还是变量日志? |
|---|---|---|---|---|---|---|---|---|---|
| IPC 计时器的绝对时间 | 代码标记或 DLTAG 之间的相对时间 | 在 _builtin_c29_datalog_tag 中使用的标签值 | 源代码中使用 DLT 的源文件信息和函数名称 | 变量的数据类型(即 float、int、uint 等) | 在传入 __builtin_c29_datalog_write 的应用程序代码中使用的变量名 | 所记录的变量的寄存器值 | 如果 OVF 为 1,则发生了溢出 | 如果 OVF 为 1,则发生了溢出 | 0 - 变量日志 1 - 代码标记 |