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:
-
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)
-
-
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...
Products & Services
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...