SPRADN5 December 2024 F29H850TU , F29H859TU-Q1
The final step in all this is going to be adding the post build step to generate our GUI. To enable the GUI support, go to Project Properties -> General -> Variables and add two variables called DLT_SUPPORT and GUI_SUPPORT. Set the values to 1.
Figure 6-14 User Defined VariablesThis step is required to generate the GUI, please copy and paste the following post build steps.
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
After adding these post build steps, go ahead and build the project. Once the project finishes building to view the GUI, go to View -> Reload Window. Once the window finishes reloading, go to View -> Plug-Ins -> gui_app. The name that appears depends on the name provided in the Gui Project Name, under the MCU Mission Control module.
Figure 6-15 CCS Theia PluginsThe GUI a tab called DLT, where all DLT content goes to. The table and graph shows case all tag markers and variables that were applied to the source code. If more intrinsics are added in the source code, the project needs to be rebuilt and the GUI needs to be reopened.
Figure 6-16 Base GUI in CCS TheiaSelect the correct COM Port by going to Options → Serial Port Settings....
Figure 6-17 Serial Port ConfigurationThe correct COM port must be selected for the GUI to function properly.
Connect to the device and load the program to the device and the graph fills with data.
Figure 6-18 Final Output GUI ComposerThe columns that are shown are the translated DLT package logs. Absolute time is the IPC timer value converted to milliseconds. Relative time is always relative to a previous code marker or DLTAG. The TAG column is the value that was passed into the __builtin_c29_datalog_tag compiler intrinsic. This serves as a way to trace the application code. The function column informs what function the variable being data log is sourced from. The datatype column refers to the data type of the variable from the source code. The variable column refers to the variable being data logged. The Reg column is the value of the variable at the time the log was reached in the application code. There are additional columns that are minimized as the columns are related to overflow and whether the log was a code marker or variable log.
| Absolute Time | Relative Time | TAG | Function | Datatype | Variable | Reg | Timer 1 OVF | Timer 2 OVF | Code marker or variable log? |
|---|---|---|---|---|---|---|---|---|---|
| Absolute time of IPC timer | Relative time between code markers or DLTAGs | TAG value used in __builtin_c29_datalog_tag | Source file information and function name used in source code where DLT is used | Data type of variable (i.e. float, int, uint etc) | Variable name used in application code passed into __builtin_c29_datalog_write | Register value of the variable being logged | If OVF is 1, then an overflow occurred | If OVF is 1, then an overflow occurred | 0 - Variable Log 1- Code Marker |