What's the differences between arm-eabi-gcc and arm-elf-gcc? Can they both compile the same source code for cortex-m3 arch?
With "arm-eabi-gcc" you have the Linux system C library which will make calls into the kernel IOCTLs, e.g. for allocating memory pages to the process. With "arm-eabi-none-gcc" you are running on platform which doesn't have an operating system at all - so the C library is different to cope with that.
• arm-none-eabi is the toolchain we use in this class. This toolchain targets the ARM architecture, has no vendor, does not target an operating system (i.e. targets a “bare metal” system), and complies with the ARM EABI.
Download and run the installer to install arm-none-eabi-gcc and arm-none-eabi-gdb. Select the default destination folder: C:\Program Files (x86)\GNU Arm Embedded Toolchain\10 2020-q4-major. Notes: Check the Add path to environment variable option before you click the Finish button for the installation.
arm-elf-gcc
is the old toolchain supporting legacy floating-point accelerator (FPA) and the mixed-endian floating-point format.
arm-eabi-gcc
is the newer geneartion of toolchain supporting VFP floating-point format.
I imagine they can compile the same source, but the later one is newer so that must be richer feature wise. What you want to hear depends on which OS / libraries you are compiling against. Toolchain, fundamental libraries and OS go arm in arm. They need to have same ABIs.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With