Real-Time Trace and Analysis
MDK-ARM, together with a ULINK adapter, uses the ARM CoreSight technology in Cortex-M based devices to provide advanced real-time debug, trace, and analysis capabilities.
Data and Event Trace
All Cortex-M3 and Cortex-M4 devices provide data and event trace. MDK-ARM provides a number of ways to analyze this information while your system is running:
- Trace Window - Displays program flow by capturing timestamps, PC samples, exceptions, and Read/Write accesses.
- Debug Viewer - Displays the printf-style output of the Instrumented Trace (ITM) in a terminal window.
- Exceptions window - Displays statistical information about program exceptions and interrupts.
- Event Counters - Display real-time values of specific event counters providing performance indications.
- Logic Analyzer - Graphically displays variable changes in captured data trace.
- RTX Event Viewer - display RTX Kernel task switching events and statistics on a time scale.
Data and Event Trace Windows provide information from the running target for
program data, exceptions, variables, and printf-style outputs.
Cortex-M devices with ETM provide instruction trace. The Keil ULINKpro streams instruction trace directly
to your PC, enabling debugging of historical sequences, execution profiling, performance optimization, and code coverage analysis.
The virtually unlimited stream of trace information enables MDK to provide complete Code Coverage of your program. Code coverage identifies every instruction that has been executed, ensuring thorough testing of your application. This is an essential requirement for complete software verification and certification.
Take a look at the video for more information about Code Coverage.
ULINKpro allows applications to be run for long periods of time while collecting trace information.
This can be used by the Execution Profiler and Performance Analyzer to identify program bottlenecks, optimize your application, and to help locate defects.
The Performance Analyzer displays time spent in each part of your program.
- Real-Time Trace features are only available in MDK 4.02 or higher and are not support by ULINK1.
- Data and Event trace is available with ULINKpro, ULINK2, or ULINK-ME.
- Instruction trace is only available with ULINKpro.