Debugger: Submitted by Sachin B K
Debugger: Submitted by Sachin B K
Submitted by
Sachin B K
1
Debugger
The ARM debug unit assists in debugging software
running on the ARM processor. We can use an ARM
debug unit, in combination with a software debugger
program, to debug:
application software
operating systems
ARM processor based hardware systems.
2
Typical debug system
3
Debug host: A computer that is running a software
debugger such as the ARM Debugger for Windows
(ADW).
4
Debug target :The ARM7TDMI-S processor has
hardware extensions that ease debugging at the lowest
level. These extensions enable you to:
halt program execution
examine and modify the internal state of the core
examine the state of the memory system
execute abort exceptions, enabling real-time
monitoring of the core
resume program execution.
5
Controlling debugging
The major blocks of the ARM7TDMI-S processor are:
ARM CPU core: This has hardware support for
debug.
Embedded ICE macrocell: A set of registers and
comparators that you use to generate debug exceptions
(such as breakpoints).
TAP controller: Controls the action of the scan chains
using a JTAG serial interface.
6
ARM7TDMI-S block diagram
7
Debug modes
Halt mode When the system is in halt mode, the core
enters debug state when it encounters a breakpoint or a
watchpoint.
Monitor mode When the system is in monitor mode,
the core does not enter debug state on a breakpoint or
watchpoint.
8
Entry into debug state
If the system is in halt mode, any of the following types
of interrupt force the processor into debug state:
a breakpoint (a given instruction fetch)
a watchpoint (a data access)
an external debug request.
In monitor mode, the processor continues to execute
instructions in real time, and will take an abort
exception. The abort status register enables to establish
whether the exception was due to a breakpoint or
watchpoint, or to a genuine memory abort.
9
EmbeddedICE
The EmbeddedICE-RT logic can be used to program
the conditions under which a breakpoint or watchpoint
can occur. Alternatively, we can use the DBGBREAK
signal to enable external logic to flag breakpoints or
watchpoints and monitor the following:
address bus
data bus
control signals.
10
EmbeddedICE Debug Environment Block
Diagram
11
EmbeddedICE
Allows the software debugger to talk via a JTAG port
directly to the core.
Inserts instructions directly in to the ARM7TDMI-S
core.
The ARM7TDMI-S core or the System state can be
examined, saved or changed depending on the type of
instruction inserted.
12
THANK YOU
13