ARM Cortex-M3 Technical Reference Manual page 219

R2p0
Hide thumbs Also See for Cortex-M3:
Table of Contents

Advertisement

Bits
Type
[18]
Read
[17]
Read
[16]
Read
[15:6]
-
[5]
Read/write
[4]
-
[3]
Read/write
[2]
Read/write
[1]
Read/write
[0]
Read/write
ARM DDI 0337G
Unrestricted Access
Table 10-2 Debug Halting Control and Status Register (continued)
Field
Function
S_SLEEP
Indicates that the core is sleeping (WFI, WFE, or SLEEP-ON-EXIT). Must
use C_HALT to gain control or wait for interrupt to wake-up. For more
information on SLEEP-ON-EXIT see Table 7-1 on page 7-3.
S_HALT
The core is in debug state when S_HALT is set.
S_REGRDY
Register Read/Write on the Debug Core Register Selector register is
available. Last transfer is complete.
-
Reserved.
C_SNAPSTALL
If the core is stalled on a load/store operation the stall ceases and the
instruction is forced to complete. This enables Halting debug to gain control
of the core. It can only be set if:
C_DEBUGEN = 1
C_HALT = 1.
The core reads S_RETIRE_ST as 0. This indicates that no instruction has
advanced. This prevents misuse.
The bus state is Unpredictable when this is used.
S_RETIRE can detect core stalls on load/store operations.
-
Reserved.
C_MASKINTS
Mask interrupts when stepping or running in halted debug. Does not affect
NMI, which is not maskable. Must only be modified when the processor is
halted (S_HALT == 1). Also does not affect fault exceptions and SVC
caused by execution of the instructions. CMASKINTS must be set or
cleared before halt is released. This means that the writes to set or clear
C_MASKINTS and to set or clear C_HALT must be separate.
C_STEP
Steps the core in halted debug. When C_DEBUGEN = 0, this bit has no
effect. Must only be modified when the processor is halted (S_HALT == 1).
C_HALT
Halts the core. This bit is set automatically when the core Halts. For
example Breakpoint. This bit clears on core reset. This bit can only be
written if C_DEBUGEN is 1, otherwise it is ignored. When setting this bit
to 1, C_DEBUGEN must also be written to 1 in the same value (value[1:0]
is 2'b11). The core can halt itself, but only if C_DEBUGEN is already 1
and only if it writes with b11).
C_DEBUGEN
Enables debug. This can only be written by AHB-AP and not by the core. It
is ignored when written by the core, which cannot set or clear it.
The core must write a 1 to it when writing C_HALT to halt itself.
Copyright © 2005-2008 ARM Limited. All rights reserved.
Non-Confidential
Core Debug
10-5

Advertisement

Table of Contents
loading

Table of Contents