Compiling on Windows - what are all the output files?

Hi; I’ve successfully compiled the Core firmware on Windows, and there are a few files produced:

  • appname.elf
  • appname.bin
  • appname.hex

I was going to type up some guesses on what these all were, but I’ll just get them wrong. Can anyone tell me what these are? I know the .bin file is suitable for flashing via the cloud, but what are the rest?

Hi @naikrovek

These are standard embedded gcc toolchain output files. The ELF file is a Executable and Linkable Format file that if you were compiling for Linux directly you could make into an executable. For our purposes, it is useful for tools that do debugging and looking at the memory map. The hex and bin files are actually made from the elf file.

The hex file is and “Intel Hex File” that you would send to an EPROM programer and is just the .bin file rendered in ASCII hex in a certain industry-standard format.

The map file is a human and computer readable file with the memory locations of all your symbols.

The bin file you already know.