Arm Image Format

Source: Wikipedia, the free encyclopedia.
Arm Image Format
Developed byAcorn Computers
Type of formatBinary, executable

In

ARM microprocessors. It was introduced by Acorn Computers for use with their Archimedes computer.[citation needed
] It can optionally facilitate debugging, including under operating systems running on other processor architectures.

Format

The file can be either executable or non-executable and is loaded at 0x8000 unless otherwise specified.[1] Executable files can relocate themselves if necessary and non-executable files are prepared for execution by an image loader. An extended AIF is a type of non-executable which includes information to enable the placement of code and data within specific areas of memory.[1]

The file includes a header and separate areas of read-only and read-write code/data. It can optionally include data for debugging and the code (with list) for self-relocation.[1]

AIF header

The header includes information about self-relocation, entry point, exit instruction, area sizes and locations, debug type, addressing mode and memory placement (in the case of the extended file).[1]

An allocation was later made in the header to mark executables as being "StrongARM-ready", to address some backward compatibility issues.[2]

Debugging

The files can be run for debugging under DOS and SunOS using the ARM Windowing Debugger.[3]

Other uses

Microsoft's MMLite modular system architecture supports the loading of various image formats,[4] including AIF files.[5][6] Porting of Wind River Systems' VxWorks operating system to the StrongARM EBSA-285 board involved using AIF files.[7]

References

  1. ^
    ARM Holdings
    . Retrieved 28 June 2012.
  2. ^ "Application Note 295". Engineering Support Application Note. Acorn Computers. 4 October 1996. Archived from the original on 2013-01-04. Retrieved 28 June 2012.
  3. ^ "armwd - The ARM Windowing Debugger". Man Pages for ARM Tools. University of Cambridge. Retrieved 28 June 2012.
  4. .
  5. ^ "Everything You Always Wanted To Know About MMLite (but were afraid to ask): The FAQ for MMLite". Microsoft Invisible Computing. Microsoft. 2004. Retrieved 28 June 2012.
  6. ^ "aif_ldr.c". Microsoft Invisible Computing. Microsoft. 2004. Retrieved 28 June 2012.
  7. ^ "Porting VxWorks to an Intel StrongARM SA-110 Based Platform" (PDF). Intel. April 2001. Retrieved 28 June 2012.[permanent dead link]