Arm Image Format
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. It can optionally facilitate debugging, including under operating systems running on other processor architectures.
01Format
The file can be either executable or non-executable and is loaded at 0x8000 unless otherwise specified. 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.
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.
02AIF 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).
An allocation was later made in the header to mark executables as being "StrongARM-ready", to address some backward compatibility issues.
03Debugging
04Other uses
Sources and credits
This article is adapted from the Wikipedia article “Arm Image Format”, written by its contributors and licensed under CC BY-SA 4.0. Fathomly has changed the layout, removed citation markers, navigation and maintenance notices, and adjusted punctuation. This adapted version is shared under the same license. For references, see the original article.
Fathomly is not affiliated with or endorsed by the Wikimedia Foundation. Spotted a problem? Tell us.