Skip navigation.

DIVING FOR SILENCE

diverson's second weblog

Posts tagged with "FILE FORMAT"

Binary File Formats in EMBEDDED SYSTEM (2)

About the AXF File Format: ARM Executable Format (AXF) is formatted from:

ELF(Executable and Link Format) header

image's code

image's initialized static data

debug and relocation information (optional)

Definition of AXF ELF Header:
#define EI_NIDENT 16 
typedef struct {
unsigned char e_ident[EI_NIDENT];
// file info 
Elf32_Half e_type; 
// type of file 
Elf32_Half e_machine;
// target processor
Elf32_Word e_version; 
// version # 
Elf32_Addr e_entry;
// program entry point 
Elf32_Off e_phoff;
// offset of program header 
Elf32_Off e_shoff; 
// offset of section header table 
Elf32_Word e_flags;
// processor-specific flags 
Elf32_Half e_ehsize; 
// ELF header’s size 
Elf32_Half e_phentsize;
// entry size in pgm header tbl
Elf32_Half e_phnum; 
// # of entries in pgm header
Elf32_Half e_shentsize;
// entry size in sec header tbl 
Elf32_Half e_shnum; 
// # of entries in sec header tbl 
Elf32_Half e_shstrndx; 
// sec header tbl index of str tbl 
} Elf32_Ehdr; 


Sample File Layout



About Intel Hex File Format

IntelHexFormat.pdf
Introduction to Various File Formats in Embedded System

Binary File Formats in EMBEDDED SYSTEM (1)

What is the difference between ELF, DWARF, AXF, AIF, AOF and COFF?

Answer:

ELF stands for "Executable and Linking Format", which is a standard format used by a number of vendors. It is now the default output (executable) format for the ARM Software Development Toolkit.

DWARF 1 and DWARF 2 are two standard formats for representing symbolic debug information within an ELF file. Since the ELF standard itself does not specify how debug information is to be represented, vendors were free to choose which format they wanted to produce. When DWARF debug information is stored within an ELF file, we may speak of the file as being "ELF/DWARF 1" or "ELF/DWARF 2".

AXF stands for "ARM Executable Format", which is the generic term for the formatted (not pure binary image) output files produced by the ARM Linker. Output files from the ARM Linker often have the extension ".AXF". The only way to determine whether a ".AXF" file contains records in ELF format or in AIF format is by reading the file header.

AIF is the ARM Image Format. It is an obsolescent format that was used in earlier versions of the ARM tools for executable files.

AOF is the ARM Object Format, produced by the compiler.

COFF is the Common Object File Format - this is used by a number of GNU-based development systems. The ARM debuggers are not able to read this format.

November 2009
S M T W T F S
October 2009December 2009
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30