This is the mail archive of the
mailing list for the GDB project.
RE: [Help] About the two debug modes of ARM
- From: "Will Deacon" <will dot deacon at arm dot com>
- To: "'xingxing pan'" <forandom at gmail dot com>, "gdb" <gdb at sourceware dot org>, "Matthew Gretton-Dann" <Matthew dot Gretton-Dann at arm dot com>, <ks at nvidia dot com>
- Date: Tue, 6 Jul 2010 15:47:52 +0100
- Subject: RE: [Help] About the two debug modes of ARM
- References: <AANLkTilmrQ67nz2_OR0Hz5ZFZovZLlLXoUGk2jZSf6IC@mail.gmail.com>
> 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,