Keil Logo

CMSIS Debug Support

CMSIS provides for Cortex-M3 / Cortex-M4 debug support via the Instrumented Trace Macrocell (ITM).

The ITM unit contains 32 ITM channels. A write operation to an ITM channel memory location creates a trace record with:

  • output value
  • time stamp
  • program location

CMSIS uses ITM channel 0 for printf-style debug information.

  • A standard interface is used to transmit the debug information.
  • ASCII values are written to ITM Stimulus Port 0.
  • Zero CPU cycles are required to get the data out of the processor.
  • The intrusive output routine adds to execution time and needs memory, but can be shipped within the end product.
  • uVision outputs the transmitted data of ITM channel 0 to a debug console "Debug (printf) Viewer" window.

The use of the ITM Stimulus Ports is only possible if:

  • Serial Wire Debug (SWD) Port is used
  • Serial Wire Output (SWO) is enabled

This example shows the use of the CMSIS debug functions.

Friday, May 14, 2010
  Arm logo
Important information

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies.

Change Settings

Privacy Policy Update

Arm’s Privacy Policy has been updated. By continuing to use our site, you consent to Arm’s Privacy Policy. Please review our Privacy Policy to learn more about our collection, use and transfers
of your data.