New Tools and Techniques for Cortex-M Debugging

Posted by Stephen Martin on Feb 29, 2016 11:31:50 PM

Embedded debugging has undergone a revolution thanks to innovations in the hardware and development tools. Gone are the days when you were forced to use command line debug and when you had to rely on blinking LEDs and printf() statements. Today's developers can take advantage of new data visualization and analysis tools that can help you quickly diagnose system problems in real time.

If you are developing for a Cortex-M target we'd like to introduce you to some ways to help you take your debugging to another level: find bugs more easily, and get new insights into the behavior of your system. Over the past year we have written a series of blog articles that will give you a good introduction to some of these easy-to-use tools and techniques.


TruePERSPECTIVES posts on advanced debugging techniques:

Introduction to Serial Wire Viewer Tracing - Real-time event- and memory access tracing with little or no processor overhead

Recording and Analyzing Instruction Trace - Record execution history for later analysis, using the ETM instruction trace interface from ARM

Cortex-M Printf Redirection to Console - Part 1  and Part 2 - - Printf() re-direction to a console window in the debugger using the JTAG connection

Memory Access History Tracing - Monitor reads/writes at full speed system execution and log for later analysis

Measuring Execution Time - Measure the execution time of any-sized and any-partitioned blocks of code

Real Time Variable Watch - Monitor variable values in real-time as the application runs at full execution speed

Performance Optimization Techniques - Knowing where your application spends most time executing

Oscilloscope-like Graphical Data Plotting - Visualize variable values graphically in real-time, using a data plot graph


Read the superset blog post that covers the entire topic of Cortex-M debugging:

How to use the most powerful debug techniques on ARM Cortex-M devices

You can also get a good overview of Serial Wire Viewer real-time tracing on Cortex-M cores by reading this white paper on the subject:

Read our SWV event and data tracing whitepaper!

Want to try these techniqes for yourself? Try TrueSTUDIO Pro Development Tools today.

  1. Download and install TrueSTUDIO Lite to access the world's best free tools for ARM development- no code-size limits. Free to download, install and use.
  2. Request a TrueSTUDIO Pro evaluation. Get a license key that will unlock powerful Pro features for a limited time.

NOTE: To experience the full functionality of TrueSTUDIO Pro you will need to use a Segger J-Link debug probe or an ST-Link onboard debug probe (included with evaluation boards from ST Microelectronics). The connection to these probes is set up automatically by the TrueSTUDIO project configuration wizard.


Topics: ARM Cortex, Debugging, Embedded Software Development