Article Details

ID: 1489
Case Type: faq
Category: Implementation
Related To: Mico32(MSB)
Family: All FPGA

Search Answer Database

Search Text Image

LatticeMicoSystem: What is the .ELF file that is generated by the LatticeMico32/LatticeMico8 Software Project Enviroment C/C++ compiler?

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: