13.1.2. Angel component overview

The main components of an Angel system are shown in Figure 13.1. The following sections give a summary of the system components.

Figure 13.1. A typical Angel system

Host system components summary

The host system components are:

Debugger

This is the ARM Debugger for Windows (ADW), the ARM Debugger for UNIX (ADU), the ARM command-line debugger (armsd), or a third party debugger that supports the Angel Debug Protocol.

Debugger toolbox

This provides an interface between the debugger and the Remote Debug Interface (RDI).

ADP support

This translates between RDI calls from the debug controller and Angel ADP messages.

Boot support

This establishes communication between the target and host systems. For example, it sets baud rates and re-initializes Angel in the target.

C library support

This handles semihosting requests from the target C library.

Host channel manager

This handles the communication channels, providing the functionality of the devices at a higher level.

Device drivers

These implement specific communications devices on the host. Each driver provides the entry points required by the channel manager.

Target system components summary

The target system components are:

Device drivers

These implement specific communications devices on the development boards. Each driver provides the entry points required by the channel manager.

Channel manager

This handles the communication channels. It provides a streamed packet interface that hides details of the device driver in use.

Generic debug support

This handles the Angel Debug Protocol by communicating with the host over a configured channel, and sending and receiving commands from the host.

Target-dependent debug support

This provides system-dependent features, such as setting up breakpoints and reading/writing memory.

Exceptions support

This handles all ARM exceptions.

C library support

C library support consists of the ARM ANSI C libraries supplied with the SDT, and the semihosting support that is built into Angel to send requests to the host when necessary.

Booting and initialization

The Angel booting and initialization support code:

  • performs startup checks

  • sets up memory, stacks, and devices

  • send a boot message to the debugger.

User application

This is an application on the target system.

Copyright © 1997, 1998 ARM Limited. All rights reserved.ARM DUI 0040D
Non-Confidential