12.12.1. Configuring Angel

The configuration for the Angel model exists in a section called OS in the armul.cnf file. This appears as:


{ OS
;; Angel configuration
[ ...]
}

The configuration options are:


AngelSWIARM=0x123456
AngelSWIThumb=0xab

AngelSWIARM and AngelSWIThumb declare the SWI numbers that Angel uses. For descriptions, see Chapter 13 Angel in the ARM Software Development Toolkit User Guide.


Heapbase=0x40000000
HeapLimit=0x70000000
Stackbase=0x80000000
StackLimit=0x70000000

where:

HeapBase/HeapLimit

defines the application heap.

StackBase/StackLimit

defines the application stack.

The Angel model automatically detects at runtime whether a model uses Angel or Demon SWIs.

The following options define the initial locations of the exception mode stack pointers.


AddrSuperStack=0xa00
AddrAbortStack=0x800
AddrUndefStack=0x700
AddrIRQStack=0x500
AddrFIQStack=0x400

The next option is the default location of the user mode stack, and the default value returned by SWI_SYSHEAPINFO, that returns the top of the memory application. A different value may be returned if a memory model calls ARMul_SetMemSize, for example:


AddrUserStack=0x80000

These options define the location in memory where the ARMulator places the code to handle the hardware exception vectors:


AddrSoftVectors=0xa40
AddrsOfHandlers=0xad0
SoftVectorCode=0xb80

The final option points to a buffer where the Angel model places a copy of the command line. This can be retrieved be by catching the RDI_Info call, RDISet_Cmdline:


AddrCmdLine=0xf00

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