When you build a gcc toolchain there is the possibility to build it as arm-elf or as arm-none-eabi, but what is the difference?
I use the eabi today, but that is just since everyone else seem to do that... but since that is a really bad argument, it would be really nice to understand the difference.
Note: This toolchain will crosscompile code for Cortex-M3 based mcu:s like the stm32.
Thanks
Some links:
EABI:
ELF:
Each architecture or architecture/os couple has an ABI. The ABI (Application binary Interface) describes how functions should be called, syscalls numbers, arguments passed, which registers can be used ...
The abi describes how the compiler should generate the assembler.
If you use only assembler you don't need to care about the ABI.
arm-elf and arm-none-eabi just use two versions of the Arm ABI. The eabi toolchain uses a newer revision, but could also be called arm-elf-eabi, as it generates elf too.