Hex, bin and ELF Files
(1) in the build directory you will find sub-project make files (particularly in each folder); that’s all automatically generated and you don’t really need to worry. Outside of the build folder there’s one xml file and a couple of “hidden” dot files with setting (.cproject, .project); don’t mess with them directly, it’s not helpful unless you’re really in a jam, trust me
(2) there should be basically Debug and Release build folders, in the root there is a your bin,hex, and elf... they’re all different representations of the output (elf has all the detail, bin and hex represent the same but compiled program but with stuff stripped - obviously one is binary and one is ascii text representing that binary as hexadecimal)
eg:
Generating hex and Printing size information:
arm-none-eabi-objcopy -O ihex "EthernetUDPTestFreeRTOS.elf" "EthernetUDPTestFreeRTOS.hex"
arm-none-eabi-size "EthernetUDPTestFreeRTOS.elf"
text data bss dec hex filename
35736 32 39320 75088 12550 EthernetUDPTestFreeRTOS.elf
the elf file is the output from the link step and the arm-none-eabi-objcopy makes the hex file from that
you don’t need to use the ST-Link program if you’re in SW4STM32; the functionality is right there when you begin debugging it will download the binary via your ST-Link device