Hubbry Logo
search button
Sign in
Arm Image Format
Arm Image Format
Comunity Hub
History
arrow-down
starMore
arrow-down
bob

Bob

Have a question related to this hub?

bob

Alice

Got something to say related to this hub?
Share it here.

#general is a chat channel to discuss anything related to the hub.
Hubbry Logo
search button
Sign in
Arm Image Format
Community hub for the Wikipedia article
logoWikipedian hub
Welcome to the community hub built on top of the Arm Image Format Wikipedia article. Here, you can discuss, collect, and organize anything related to Arm Image Format. The purpose of the hub is to connect...
Add your contribution
Arm Image Format
Arm Image Format
Developed byAcorn Computers
Type of formatBinary, executable

In computer programming, the Arm Image Format (AIF) is an object file format used primarily for software intended to run on 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

[edit]

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

[edit]

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

[edit]

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

Other uses

[edit]

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

[edit]
  1. ^ a b c d "ARM Software Development Toolkit Reference Guide" (PDF). 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. ^ Helander, Johannes; Forin, Alessandro (1998). "MMLite: A highly componentized system architecture". Proceedings of the 8th ACM SIGOPS European workshop on Support for composing distributed applications. pp. 96–103. doi:10.1145/319195.319210. ISBN 978-1-4503-7317-3.
  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]