• Menu
  • Product
  • Email
  • PDF
  • Order now
  • DLT Developer's Guide With Tooling

    • SPRADN5 December   2024 F29H850TU , F29H859TU-Q1

       

  • CONTENTS
  • SEARCH
  • DLT Developer's Guide With Tooling
  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
  12. IMPORTANT NOTICE
search No matches found.
  • Full reading width
    • Full reading width
    • Comfortable reading width
    • Expanded reading width
  • Card for each section
  • Card with all content

 

Application Note

DLT Developer's Guide With Tooling

Abstract

The data logger and trace (DLT) peripheral is a key element for non-intrusive data logging with tracing support in application code. This peripheral can be leveraged for both industrial and automotive applications. C29x real-time microcontrollers offer a non-intrusive way to data log critical CPU run time content and provide trace capabilities without additional CPU overhead. This application note focuses on an application use-case described within the introduction, demonstrating each of the features of the DLT along with how to use the SysConfig system configuration tool to set-up and program the DLT. There is additional material on how to setup the DLT visualization tool needed to interpret the data logging and trace contents without the use of external hardware. SysConfig is a tool that exists integrated in Code Composer Studio or as a stand alone program that allows users to generate C header and code files using a graphical user interface (GUI). This application note was done using the F29H859TU8ZEXQL device. However, the content in this application note is applicable to all devices with the DLT peripheral.

Trademarks

All trademarks are the property of their respective owners.

1 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.

2 C28x vs C29x vs ARM Logging

 C28x vs C29x vs ARM Logging
                    Figure 2-1 C28x vs C29x vs ARM Logging

3 SysConfig

As mentioned in the abstract, this application note utilizes SysConfig to configure the DLT peripheral along with the other required components such as visualizing the DLT packets. The SysConfig GUI allows users to walk through the configurations needed to set up the DLT to be ready to start logging in the application code.

3.1 Start or Stop Logging

The first step to configuring the DLT is setting up the start and stop events to log information. There are two main methods of starting or stopping logged information through the code markers (DLTAGs) or using ERAD events. The third method is security focused and prevents logged information to occur based on the enabled LINK filters. The TAG or ERAD filters control when to start or stop data logging. LINK filters are used to filter out sections of code to data log based on what current LINK has access.

The TAG based filtering has a few options such as the Start Tag Reference, Start Tag Mask, and the end tag configurations. These can be used to start or stop the DLT from logging. The mask is and’ed with the code marker that is reached in the application code. If the and’ed output of the current tag value and the tag filter start mask equals the start tag reference and the tag based filtering is enabled, then the DLT starts logging. The same is true to stop the DLT from logging using the end tags. The start/end tag reference can be any 16-bit value.

Below is a flow chart diagram that explains what happens if users have both TAG based and ERAD based conditions to start or stop logging.

 Start and Stop Events Decision
          Chart Figure 3-1 Start and Stop Events Decision Chart

Configuring the start or stop end tags can be any 16-bit value. SysConfig offers a helpful GUI to configure these.

 DLT Tag Filter SysConfig Figure 3-2 DLT Tag Filter SysConfig

The Enable Tag based Filtering option must be selected. The configurations outlined to configure the start tag reference value and end tag reference value. The Start Tag Mask and End Tag Mask get AND'ed with the respective start or end reference values to control when the logs occur. In the above configuration, 0x5 is the start tag reference value being used and the end tag reference value of 0x20. These values are arbitrary and can be configured with any value. The code generated in SysConfig's board.c file is shown below.

 DLT Initialization Snippet Figure 3-3 DLT Initialization Snippet

 

Texas Instruments

© Copyright 1995-2025 Texas Instruments Incorporated. All rights reserved.
Submit documentation feedback | IMPORTANT NOTICE | Trademarks | Privacy policy | Cookie policy | Terms of use | Terms of sale