[Help] About the two debug modes of ARM

Will Deacon will.deacon@arm.com
Tue Jul 6 14:48:00 GMT 2010


> From the ARM11 reference manual, I know ARM11 has two debug modes, the
> Halting mode and the Monitor Mode.
> When we use debuggers to debug a program, often there are also two
> modes. The remote debugging, the debugger runs on the host, the
> debuggee runs on the target, and the debugger communicates with the
> core through something like JTAG. The native debugging, the debugger
> and debuggee run on the same computer.

Right, those are the usual two debugging scenarios.
> Here are my questions.
> (1)Dose the Halting mode and the Monitor mode correspond to Remote
> debugging and Native debugging respectively?

Halting Mode means that the core is being debugged by an external
JTAG debugger. Monitor mode means that the debugging is performed
natively via co-processor or memory-mapped debug registers and 
debug events are handled via exceptions.

> (2)Some cores like ARM920 don't have the Monitor mode. Dose it means
> that when we are in native debugging on that cores, we can not use the
> hardware breakpoints and watchpoints?

You will need an external debugger in order to use hardware watchpoints
or breakpoints on the ARM920. The 926 has monitor mode implemented using
the EmbeddedICE-RT logic, so you can use the hardware resources there [with
the relevant Kernel support].

Hope that helps,


More information about the Gdb mailing list