Subject: The ARM Debug Monitor: Angel

From: Zsolt Kiraly <[email-masked]>
Date: Fri, 02 Oct 1998 16:26:07 -0700

Hi there,

For you Angel hackers, here is the ARM Angel web-page. But you probably
knew about this already...

http://www.arm.com/Documentation/Overviews/Angel/

Zsolt
--
Zsolt Kiraly <[email-masked]>
Department of Aeronautics & Astronautics
Stanford University

Introduction

Angel 1.04

Angel 1.05 Beta

Versions

EmbeddedICE
Documents
Platforms

Introduction

Angel is the debug monitor program for ARM processors, as supplied with
the ARM Development Board as
well as many other boards from ARM's semiconductor and
tools partners.

It provides the following services to the developer:

debug capability, including memory inspection, image download and execution,
breakpointing and single step

CPU and board startup and basic exception handling

a full ANSI C library, using semihosting
to provide services from the host which are not available on the target

a full source distribution, allowing developers a kickstart in developing
stand-alone applications

Angel interfaces with the ARM Software Development Toolkit (SDT) in two
ways:

the interface library "Remote_A" is used by debuggers to communicate with
an Angel target when debugging or executing code.

application code uses software interrupt (SWI) calls to request services
of Angel either directly or via the toolkit's C library.

Communication between the debugger and the target, over serial/parallel
or Ethernet links, uses a protocol called the Angel Debug Protocol (ADP)
defined in the following 2 documents (available here soon):

Angel Debug Protocol Specification (DUI 0052A)

`

Angel Debug Protocol Messages Specification (DUI 0053A)

The Ethernet enabled build of Angel includes the Fusion TCP/IP stack from
Pacific Softworks and is available from ARM as a separate Ethernet
Adaptor Kit for the ARM Development Board.

Angel Version 1.05 [Beta release]

This is the latest, Beta version of Angel. The final release will be
shipped with the next version of the Software Development Toolkit.
This release introduces better operation
in supervisor mode, and makes the use of application SWIs, IRQs and
FIQs more robust. It is thus now possible to single step interrupt
service routines, and use applications which use supervisor mode in
combination with interrupts.

Summary of Changes

Compatibility Issues

Download

Documentation

Angel Version 1.04

This is the version of Angel as shipped with SDT 2.11a.

EmbeddedICE Firmware (ICEagent v2.07)

A variant of Angel is also built into the
EmbeddedICE interface unit,
which is available from ARM as a separate product.

ROM images
are available for download. EmbeddedICE is an alternative debugging
system that does not require the target to be running a debug monitor program.
It is available for many ARM processors (e.g. ARM7TDMI), is less intrusive
on the application code, does not require target resources and allows breakpointing
on ROM.

Version History

Angel has been part of the ARM Software Development Toolkit since version
2.10. ARM have released the following versions of Angel for the ARM Development
Board and the EmbeddedICE interface unit:

SDT Release

Angel
Version

EmbeddedICE
Version

Notes

2.10

1.00

2.01

Initial release

2.02

Low voltage targets enabled

1.01

2.03

Beta release of v2.04

2.11

1.02

2.04

Minor changes to JTAG code, heartbeats

1.03

2.06

Fix SWI Write0 and WriteC calls

2.11a

1.04

2.07

Improved comms reliability and structure

1.05

Improved Interrupt & SVC mode operation

Documentation

The following Angel Application Notes are available:

Angel Porting Guide

Embedded C library sscanf() (with example code)

Embedded Heap Management (with example code)

Other documents describing Angel include:

Angel Debug Protocol Specification (DUI 0052A)

Angel Debug Protocol Messages Specification (DUI 0053A)

Angel.wri, the SDT 2.11a release notes

Detailed changes in Angel v1.04 (SDT2.11 to SDT2.11a)

Platforms Supported

Angel must be ported to a specific hardware configuration in order to work.
Ports of Angel to the ARM
Development Board and ARM60
Evaluation Board are shipped with the toolkit. Other ports can be obtained
from third party manufacturers:

StrongARM boards

Cogent ARM7TDMI board

Mitel (formerly GPS) MAP board

Sharp 7790
board

Cirrus
7110  board

ARM7500FE board from
Bluewater Systems

For more information please contact

us.

Copyright (c) ARM Ltd., 1998.

All Rights Reserved. Legal statement.