Debug
ARM DDI 0432C
Copyright © 2009 ARM Limited. All rights reserved.
6-3
ID112415
Non-Confidential
Figure 6-1 CoreSight discovery
To identify the Cortex-M0 processor within the CoreSight system, ARM Limited
recommend that a debugger:
1.
Locates and identifies the Cortex-M0 ROM table using its CoreSight
identification. See
Cortex-M0 ROM table identification values
more information.
2.
Follows the pointers in that Cortex-M0 ROM table:
a.
System Control Space
(SCS)
b.
Breakpoint unit
(BPU)
c.
Data watchpoint unit
(DWT).
See
Cortex-M0 ROM table components
on page 6-4 for more information.
When a debugger identifies the SCS from its CoreSight identification, it can
identify the processor and its revision number from the CPUID register offset at
0xD00
in the SCS,
0xE000ED00
.
A debugger cannot rely on the Cortex-M0 ROM table being the first ROM table
encountered. One or more system ROM tables are required between the access port and
the Cortex-M0 ROM table if other CoreSight components are in the system, or if the
implementation is uniquely identifiable.
CoreSight debug port
Cortex-M0 ROM table
CoreSight ID
Pointers
CoreSight access port
Base pointer
System control space
CoreSight ID
Cortex-M0 CPUID
Debug control
‡Data watchpoint unit
CoreSight ID
Watchpoint control
‡
Breakpoint unit
CoreSight ID
Breakpoint control
‡ Optional component
Redirection from the
‡
System ROM table, if implemented