13.4.8. Debugging your Angel port

You can use a number of methods to debug your Angel port. The method you choose will depend on the stage of development you have reached, and the hardware available to you.


You should take debug requirements into consideration when designing your development board. Your board should allow access to the full Data bus and Address bus. In addition, general purpose outputs, such as programmable LEDs, can be useful for debug purposes.

You can use the following debug methods:


You can debug the early stages of your Angel port under ARMulator. Only the initial stages of the code can be debugged in ARMulator because the ARMulator environment has no means of receiving responses from peripherals. You can use programmable LEDs to assist you in debugging under ARMulator.


EmbeddedICE and Multi-ICE are valuable tools for debugging Angel because they can operate before the basic Angel functionality is working. For example, they can operate before your Angel device drivers are functional.

These are the preferred option if your board uses an appropriate ARM processor, such as the ARM7TDMI. Your processor must support the DI debug extensions to work with an ICE solution.

ROM emulators and Logic Analyzers

If your ARM processor does not support debugging under Multi-ICE or EmbeddedICE, you can use ROM emulators or logic analyzers to help you debug your Angel port. The Angel sources include source files to help you use:

  • the E5 ROM Emulator from Crash Barrier Ltd.

  • the neXus ROMulator from neXus Ltd.

The support files for these are located in the Angel\Source\logging directory.


Specify DEBUG=1 to build a debugging version of Angel.

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