The LatticeMico32 and LatticeMico8 development environment use the GNU CC (GCC) compiler tools. GCC generates Executable Linked Format (.elf) output. The ELF file contains all of the information resulting from a successful compilation and linking of your assembly, C, or C++ source code. The ELF file data is segregated into sections:
- .boot: Contains opcodes residing at the Exception Base Address
- .text: Contains all remaining opcodes
- .data: Contains pre-initialized read/write data
- .rodata: Contains all pre-initialized read-only data
- .bss: Contains all allocated, but uninitialized data
- .debug_xxxx: other sections that contain information important to GDB
You can extract information from the ELF file using several tools available in the GNU binutils tool set. Using the lm32-elf-objdump and lm32-elf-objcopy utilities you can inspect the ELF file contents. You can learn more about binutils from: