From The Definitive Guide to the ARM Cortex-M3

Debugging Features Overview

The Cortex-M3 processor provides a comprehensive debugging environment. Based on the nature of operations, the debugging features can be classified into two groups:

  1. Invasive debugging:

    • Program halt and stepping

    • Hardware breakpoints

    • Breakpoint instruction

    • Data watchpoint on access to data address, address range, or data value

    • Register value accesses (both read or write)

    • Debug monitor exception

    • ROM-based debugging (Flash patch)

  2. Noninvasive debugging:

    • Memory accesses (memory contents can be accessed even when the core is running)

    • Instruction trace (via the optional Embedded Trace Module)

    • Data trace

    • Software trace (via the Instrumentation Trace Module)

    • Profiling (via the Data Watchpoint and Trace Module)

A number of debugging components are included in the Cortex-M3 processor. The debugging system is based on the CoreSight debug architecture, allowing a standardized solution to access debugging controls, gather trace information, and detect debugging system configuration.

CoreSight Overview

The CoreSight debug architecture covers a wide area, including the debugging interface protocol, debugging bus protocol, control of debugging components, security features, trace data interface, and more. The CoreSight Technology System Design Guide (Ref 3) is a useful document for getting an overview of the architecture. In addition, a number of sections in the Cortex-M3 Technical Reference Manual (Ref 1) are descriptions of the debugging components in Cortex-M3 design. These components are normally used only by debugger software, not by application code. However, it is still useful to briefly review these items so that we can have a better understanding of how the debugging system works.

Processor...

Copyright Elsevier Inc. 2007 under license agreement with Books24x7

Products & Services
Test, Inspection, and Measurement Software
Test, inspection and measurement software is used to design, automate and implement the testing of instruments and equipment, and the measurement of device parameters.
Embedded Systems Software
Embedded systems software is designed to support a special-purpose computer system. It has a single dedicated function or a small number of dedicated functions, often with real-time performance constraints.
Programming Languages
Programming languages provide the commands, grammar and syntax for instructing digital devices and computers to perform specific tasks.
GPIB Controllers and GPIB Interface Boards
GPIB controllers and GPIB interface boards are devices that enable communications between GPIB buses and GPIB networks.

Topics of Interest

Introduction The Cortex-M3 processor comes with a number of debugging components used to provide debugging features such as breakpoint, watchpoint, Flash patch, and trace. If you are an application...

Memory System Features Overview The Cortex-M3 processor has a different memory architecture from that of traditional ARM processors. First, it has a predefined memory map that specifies which bus...

Fundamentals The Cortex-M3 is a 32-bit microprocessor. It has a 32-bit data path, a 32-bit register bank, and 32-bit memory interfaces. The processor has a Harvard architecture, which means it has a...

Overview I discussed some fundamental debugging steps in an earlier chapter but in the context of debugging the boot code. In this chapter, I will discuss debugging an application residing on top of...

Abbreviation Meaning ADK AMBA Design Kit AHB Advanced High-Performance Bus AHB-AP AHB Access Port AMBA Advanced Microcontroller Bus Architecture...