![Atmel AT91EB01 User Manual Download Page 11](http://html1.mh-extra.com/html/atmel/at91eb01/at91eb01_user-manual_3003428011.webp)
The Debugging System
AT91EB01 Evaluation Board User Manual
2-3
■
Software configurable JTAG rate
■
Easy software upgrades - 100% host-based software
■
Extra user input/output bits for user-supplied drivers
2.1.4
The Angel Debug
Monitor
Note:
To aid readability, the term “Angel” is used to mean the Angel Debug Monitor on
target throughout this user guide.
Angel is a program that enables development and debugging of applications running on
the AT91 microcontrollers. Angel communicates with a debugger that can handle the
Angel communications protocol, such as the ARMSD, the ARM Debugger for Windows.
Angel can debug applications running in both ARM and Thumb state on the AT91 Eval-
uation Board. A typical Angel system has two main components that communicate via a
physical link, such as a serial cable:
Debugger:
This runs on the host computer. It gives instructions to Angel and dis-
plays the results obtained from it. The debugger could be ARMSD, the ARM
Debugger for Windows.
Angel:
This runs alongside the application being debugged on the target platform.
The ARM Software Development Toolkit features two versions of Angel:
■
a full version for use on development hardware
■
a minimal version for use on production hardware.
Only the full version is provided with the AT91EB01.
Angel uses a debugging protocol called the Angel Debug Protocol (ADP), which sup-
ports multiple channels. It requires control over the ARM’s exception vectors, but can
share these with your applications.
Angel can be used to:
■
evaluate existing application software on real hardware (as opposed to emulation of
the hardware)
■
develop software applications on the AT91 Evaluation Board
■
bring into operation new hardware that includes an ARM processor
■
port operating systems to the AT91 microcontroller
These activities require some understanding of how Angel’s components work together.
Some involve modification of Angel itself, such as porting operating systems. For more
detailed information, see the ARM Software Development Toolkit User Guide (ARM DUI
0040) and the ARM Software Development Toolkit Reference Guide (ARM DUI 0041).
The section “Using Angel” on page 3-12 gives details on the use of Angel on the
AT91EB0x.
2.1.5
How EmbeddedICE
and Multi-ICE differs
from a Debug
Monitor
A debug monitor, such as Angel, is an application that runs on the board in conjunction
with the user application, and requires some resource to be available for it on the board.
When the board powers up, Angel installs itself by initializing the vector table so that it
takes control of the board when an exception occurs. Communication coming in from
the host causes an interrupt, halting the user application and calling the appropriate
code within Angel. Angel then returns to the user application. This can complicate mat-
ters if the application also requires access to interrupts. Similarly, if the application
requests some form of I/O to the host, this is implemented within the application using a
software interrupt (SWI) instruction that is dealt with by Angel's SWI handler. This
means that Angel requires non-volatile memory to store the debug monitor code, RAM
to store its data, and control over the exception vectors to enable it to gain control of the
ARM7TDMI while the user's application is running.
EmbeddedICE and Multi-ICE, on the other hand, require no such resource. Rather than
existing as an application on the board, they work by using a combination of the debug
Summary of Contents for AT91EB01
Page 1: ...AT91EB01 Evaluation Board USER MANUAL...
Page 2: ......
Page 6: ...Table of Contents iv...
Page 28: ...Setting Up the AT91EB01 Evaluation Board 3 16 AT91EB01 Evaluation Board User Manual...
Page 43: ......