13.4. Porting Angel to new hardware

This section describes the steps you must take to port Angel to your own hardware. It assumes that you have a general understanding of how Angel works. Refer to Angel in operation for an introduction to Angel operation.

Angel is designed to make porting to new hardware as easy as possible. However, there are many configurable features of Angel and you must modify Angel code to support your hardware.

The easiest way to port Angel is to select an existing Angel implementation as a template and modify it to suit your own hardware. The ARM Software Development Toolkit provides a number of Angel ports in the Angel\Source directory.

In addition, there are Angel ports from other board manufacturers for their own development boards. These are not distributed with the ARM Software Development Toolkit.

You should select an existing version of Angel that has been ported to hardware that is as similar as possible to your own. If you are not basing your Angel port on a port from another board manufacturer it is recommended that you use the Angel PID port provided with the ARM Software Development Toolkit. The most important hardware features to consider when making this decision include:

Device drivers

Writing device drivers is a large part of the porting process. If possible, choose a version of Angel that supports the same, or very similar communications hardware. This makes it simpler to modify the device driver code.


The PID and ARM evaluation boards do not have a cache or MMU. If you are porting to hardware that is based on a third party development board that includes a cache and MMU you should consider using the Angel port from that manufacturer.

The following examples and recommendations refer to the Angel PID port, however, the same general principles apply no matter which Angel port you select as a template.

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