Trace messages can fill a lot of (or entire) trace buffer after the CPU reaches a breakpoint but before MCDS (On-Chip trace logic) detects the breakpoint and stops the trace.
Use case is based on TC399XE, therefore for other CPU different events can be used.
1. Make sure that the core synchronization is active.
2. Create a new trace configuration via the Wizard.
3. Select Manual Trigger/Recorder configuration (in Analyzer Configuration dialog / Configure / Recorder) and click Configure...
4. On the Recorder tab select the Continuous mode.
5. On the MCDS tab, select your core of interest to be observed by POB X.
6. Configure POB X (TriCore X tab) as shown below.
7. Find an event that references dcu_sus (debug status and control trace unit suspend) and selected inverted (!dcu_sus). Click on the EVT6 and enable dcu_sus. Both checkboxes should be enabled.
8. Map the event to tc_act_0.
9. On the MCX tab map tcx_act_0 (which is connected to !dcu_sus) to tsu_rel_en. This means only generated timestamps while the CPU is not suspended.
10. Start trace and stop the CPU via breakpoint or manually. The Analyzer
stays in WAITING mode until the stop event and winIDEA reads out the data.
The configuration of tsu_rel_en
is necessary because otherwise the MCDS would continue to generate trace
messages after the CPU is stopped. That fills the trace buffer with messages
and actual data is not seen.
Sorry this article didn't answer your question, we'd love to hear how we can improve it.
Note: This form won't submit a case. We'll just use it to make this article better.