Skip to main content

[TriCore] Considerations to get DAP Streaming running without loss of trace data - Knowledgebase / FAQs by core architecture / TriCore - Lauterbach Support

[TriCore] Considerations to get DAP Streaming running without loss of trace data

DAP streaming is a medium bandwidth trace solution. For best performance, it is important to configure the debug port for maximum bandwidth. This FAQ gives guidance on how to achieve this.

First Step - Use the Maximum Possible Bandwidth

  • Use debug port type DAPWide (command SYStem.CONFIG DEBUGPORTTYPE DAPWide).
  • Use the maximum debug port clock (command SYStem.JtagClock) that allows a stable debug link. A debug port clock of 120 MHz should guarantee the best out-of-the-box results. With a debug port clock of 160 MHz, a maximum data rate of 30 MB/s can be achieved. For chips that are affected by errata DAP_TC.010, only a maximum data rate of 25 MB/s is possible.
  • Check that the debug connection is stable:
    • Debugger/target communication is established e.g. via SYStem.Up
    • Test basic debug functionality:
      • List.auto
      • Data.Test 0xD0000000++0x1FFF
      • StepGo.directBreak.direct

In case this is not working for higher debug port clocks, e.g., 120 MHz or more, the target board’s design does not allow DAP Streaming. The cause and possible countermeasures would then have to be investigated separately (see Board troubleshooting).

Second Step - Trace Configuration

Try to record a minimal trace and then gradually approach the limit at which the amount of trace data generated in the chip does not exceed the bandwidth of the debug interface. This is to be done separately for each use case in the application, whereby a setting found once often only has to be modified minimally.

Board Troubleshooting

Most electrical issues are caused by stubs:

  • Consider unplugging all unused cables and third-party tools to at least limit the length of the stub lines.
  • Infineon TriBoards have multiple debug connectors, resulting in stubs. So, either use:
    • OCDS-L1 connector (16-pin JTAG header) in case TriBoard is unmodified, thus having stubs. This minimizes the impact of stubs and normally results in the highest possible bandwidth for this case.
    • DAP connector (10-pin DAP header) if the TriBoard has been modified to eliminate all stubs by removing certain 0-Ohm resistors. See the Infineon TriBoard documentation for more information.
  • For custom targets, see the schematics or contact the supplier. Ensure that all signals required for DAPWide are connected.

DAP Streaming Use Cases

Program Trace

  • Trace configuration is to be limited to a single core at a time.
  • The Compact Function Trace (CFT) mode is to be used (MCDS.ProgramTrace Mode CFT)
  • In most cases, depending on the target application, excluding short leaf functions from trace is required. The criterion for “short” is the number of bytes executed. A value that can be set via the command MCDS.TraceFilter.LeafFctLength. Then further on-chip trace filters such as TraceON / TraceOFF have to be considered.

Selective Data Trace

  • Tracing write access to selected variables and observe their behavior during runtime e.g. Trace.DRAW.Data
  • AUTOSAR Run Time Interface (ARTI) profiling
    • Trace based instrumentation
    • Provides extended information about
      • Tasks
      • Interrupt Service Routines (ISRs)
      • Runnables …
    • Allows a system level timing analysis for all cores in parallel
Helpful Unhelpful

8 of 8 people found this page helpful

Add a comment

ID-0
To prove you are a human, please tell us the text you see in the CAPTCHA image