SPRADN5 December   2024 F29H850TU , F29H859TU-Q1

 

  1.   1
  2.   Abstract
  3.   Trademarks
  4. 1Introduction
  5. 2C28x vs C29x vs ARM Logging
  6. 3SysConfig
    1. 3.1 Start or Stop Logging
    2. 3.2 Capture Modes
    3. 3.3 Trigger for transferring Logs
  7. 4Interpreting DLT Logs
  8. 5Compiler Intrinsic
  9. 6DLT Tool
    1. 6.1 Visualization
    2. 6.2 Walkthrough on Tool
    3. 6.3 Add Logs to Application
    4. 6.4 Export DLT Log
    5. 6.5 CCS Theia
  10. 7Summary
  11. 8References

Introduction

Why is data logging and trace important in real time control systems?

  • Debugging application code during and after development or testing
  • Profiling application code
  • Creating capture logs of a control system for deep analysis
  • Tracing application code flow

There are many applications that require different uses of using data log or trace features on a device. The DLT provides a way to log critical run time content, and then export out by JTAG, UART, or FSI. If there is no JTAG connection available, the DLT can still be used if there is a UART or FSI implementation to export the data. The lines of code controlling what is being logged can be kept in the application code without impact on CPU performance.

The DLT provides data logging and code flow execution through dedicated instructions provided in the C29x user guide. When using the DLT for data logging variables or adding code flow markers in the application there is additional information attached to each log. The additional information is dependent on what mode the DLT is capturing the logs. The two modes for the additional information added to each log are time stamping or program counter information. In time stamping mode, the DLT provides information of when variables or code markers are being logged. In program counter mode, the DLT provides information to know where these logs are happening.

There are dedicated instructions used to log information. The instructions have the following names DLTAG and DLREG. DLTAGs are used as the code flow markers. DLREGs are the instructions that allow users to data log variables. With the leverage of multiple instructions running in parallel using the C29x processor these instructions can run in parallel and provide non-intrusive behavior when data logging or adding code flow markers to the application code. The co-processor interface (CPI) looks for these dedicated instructions from the CPU and provides the packet information to the DLT which gets logged to a dedicated memory address region for each CPU. The CPU or DMA can read out the logs from the DLT internal memory and move the logged information as needed.

Here is a high level view from going to application code to visualizing the data being logged by the DLT on a PC.

 DLT Example Code
                    Snippet Figure 1-1 DLT Example Code Snippet

This application note explains the steps needed to configure the DLT, data log, and add code markers using the built in compiler intrinsic. The DLT leverages the compiler and SysConfig to provide the fastest way to get started with using this peripheral.

The use-case that is discussed throughout this application report is using the DLT to record a temperature sensor sample and ADC results within ISR.