Specifications

Table Of Contents
ARM Debugger 3 2 A R M S p e c i f i c I m p l e m e n t a t i o n s
©1989-2014 Lauterbach GmbH
Coprocessors
The following coprocessors can be accessed if available in the processor:
Coprocessor 14. Please refer to the chapter Virtual Terminal and to your ARM documentation for details.
On Cortex-A and Cortex-R the debug register can be accessed by ’C14’ access class and the address is the
address offset in the debug register block divided by 4. Recommended is to use the ’DAP:’ or ’EDAP:’
access class, but then the address is the address offset plus the base address of the debug register block
which is 0xd4011000.
Coprocessor 15, which allows the control of basic CPU functions. This coprocessor can be accessed with
the access class C15. For the detailed definition of the CP15 registers please refer to the ARM data sheet.
The CP15 registers can also be controlled in the PER window.
The TRACE32 address is composed of the CRn, CRm, op1, op2 fields of the corresponding coprocessor
register command
<MCR|MRC> p15, <op1>, Rd, CRn, CRm, <op2>
BIT0-3:CRn, BIT4-7:CRm, BIT8-10:<op2>, BIT12-14:<op1>, Bit16=0 (32-bit
access)
<MCRR|MRRC> p15, <op1>, <Rd1>, <Rd2>, <CRm>
BIT0-3: -, BIT4-7:CRm, BIT8-10: -, BIT12-14:<op1>, Bit16=1 (64-bit access)
is the corresponding TRACE32 address (one nibble for each field)
On Cortex-A/R or ARM11 you can access other available coprocessors by using the same addressing
scheme. The access class is then e.g. ’C10:’ instead of ’C15’. You need to secure that access to this
coprocessor is permitted in the Coprocessor Access Control Register.
The “C15:” access class provides the view of the mode the core currently is in. On devices having
“TrustZone” (ARM1176, Cortex-A) there are some banked CP15 register, one for secure and one for non-
secure mode. With “ZC15:” and “NC15:” you can access the secure / non-secure bank independent of the
current core mode. On devices having a “Hypervisor” mode (e.g. Cortex-A7, -A15) there are CP15 register
which are only available in hypervisor mode or in monitor mode with NS bit set. With “HC15:” you can
access these register independent of the current core mode.