Tuesday, 20. March 2007, 02:21:09
FILE FORMAT
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
Monday, 19. March 2007, 06:11:24
FILE FORMAT
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.