Subtitles section Play video Print subtitles >>Hello and welcome to this Video-Tutorial >>my name is Ralf Kopsch - I am Senior Support Engineer for Keil Microcontroller Software Development Tools >>Let me give you a brief overview of the Cortex-M Trace functionality >>an outstanding feature of ARM Cortex-M based microcontrollers and the Keil MDK-ARM toolset >>The limits of Run-Stop Debugging are apparent when testing time-critical control applications >>like motor control or communication stacks >>Single-stepping or breakpoints change the dynamic behavior >>Frequently software problems can only be detected in the active or running system >>Trace lets you analyze the running system >>ARM Cortex M processors integrate the CoreSight Debug & Trace Logic >>that offers the following features >>The Breakpoint Unit allows run-stop debugging with up to 8 breakpoints >>Memory Access allows monitoring of variables buffers and peripherals >>while application code is running at full speed. >>Data Watchpoints trace memory accesses with data value and program address >>Optional program execution can be stopped >>Exception- and Instrumented Trace communicate important program events via debug channels >>Instruction Trace streams the complete program execution for recording and analysis >>The various Trace types can be selectively enabled and contain timing information >>Let me exemplify the usage of these trace features in the uVision Debugger >>The Logic Analyzer uses Data Watchpoints and provides a graphical display of variable changes >>You may choose up to 4 variables and select different display >>modes to show state changes or an analogue signal >>Data Watchpoints allow also Trace Recording of memory accesses >>ITM Trace communicates for example details about interrupt execution >>It shows how often interrupts are executed >>and provides information about minimum and maximum execution time of the interrupt function. >>ITM Trace displays also RTOS thread execution over time in the Event Viewer >>and may be used with code instrumentation >>It even enables a printf-style debug output >>The Performance Analyzer uses Instruction Trace >>While your application is running you can identify performance bottlenecks >>and time-consuming hotspots in order to optimize the algorithms >> Instruction Trace enables also Code Coverage to fulfill certification requirements >> and In-depth analysis of the execution history to identify sporadic executions errors >> In this application example most of the time is spend in the getkey() function polling a status bit >>Interrupt driven I/O may be used to eliminate this >>Lets us explore the various physical connection interfaces to the Trace Unit >>Evaluation Kits frequently offer two standardized debug connectors in a small 0.05” pitch >>The 10-pin debug connector allows run-control and serial wire trace output with the SWO pin >>The 20-pin debug ETM connector is a superset of the 10-pin connector >>and offers full instruction trace output >> Almost every Cortex-M3/M4 microcontroller device offers the Serial Wire or SWO trace output >>SWO delivers data watchpoints,exception and instrumented trace >>However, SWO does not allow instruction trace >>Many Cortex-M3/M4 microcontrollers have an additional 5-pin trace port interface >>that delivers the full instruction trace stream >>Trace information can be selectively enabled to adjust the type of information that interests you >> With Trace Port you can have the full range of trace information >>that includes data watchpoints, exceptions, instrumented and instruction trace >>Some Cortex-M3/M4 microcontrollers provide an ETB or the Embedded Trace Buffer >>ETB streams the trace information in an on-chip RAM >>that can be read via the normal run-control interface. >>In this mode, no additional trace pins are required >>but the amount of trace information is limited by the on-chip RAM >>Therefore it is important that your debugger offers triggering of trace information based on program conditions >>Even the smallest ARM processor, the Cortex-M0+ >> offers trace via the MTB or the Micro Trace Buffer >>Besides run-control debugging the Cortex-M0+ provides instruction trace that is streamed to an on-chip RAM >>This solution is a good compromise for small-form factor devices that have pin-limitations >>since MTB trace can be read even via the 2-pin SWD debug interface >>Now let’s take a look to ARM’s debug adapter and development tools >>A full-featured trace solution requires the following components >>MDK-ARM that includes uVision the integrated development environment >>with a Debugger and various trace analysis features >>ULINKpro which connects to your target hardware >>and streams the complete trace information to your development workstation >>ULINKpro connects via 10-pin or 20-pin debug connectors to the target hardware >>Remember that only the 20-pin Debug/ETM connector provides the full instruction trace stream >>The ULINKpro is the ARM Debug and Trace adapter that is specifically designed for Cortex-M microcontrollers. >>It offers connectivity to all Cortex-M microcontrollers and supports all trace variants >>Full instruction trace with ULINKpro’s streaming trace technology >>that records the complete program execution and overcomes trace buffer limitations >>It is required for non-intrusive program analysis >>and provides full code coverage and performance analysis without compromises >>The ULINKpro debug and trace adapter is used with the Keil MDK-ARM® microcontroller development kit >>Please refer to keil.com for detailed information about the usage of this powerful trace solution >>Thank you for your attention! >>In case of further questions please contact our Sales- and Support team
B2 trace debug cortex instruction pin execution Trace Tutorial for ARM® Cortex-™ M 47 7 黃宇豪 posted on 2017/04/11 More Share Save Report Video vocabulary