You are on page 1of 13

Debugger

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).

Protocol converter: This interfaces between the high-


level commands issued by the debug host and the low-
level commands of the ARM7TDMI processor JTAG
interface.

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

You might also like