Arm offers 2 different GCC toolchains: one for Cortex-M/R devices and the other one for Cortex-A devices. However, in the Cortex-M/R toolchain documentation, it is specified that Cortex-A targets are accepted too, so this confuses me: why is there another toolchain for Cortex-A devices?
In my case, I am trying to build a baremetal application for a Cortex-A9 using a Makefile that invokes the GCC cross-compiler for arm. Should I use arm-none-eabi- or arm-eabi- tools? What's the difference?
Also, where can I find a template for a linker LD script for Cortex-A9 cores which I can then customize?
I have done this many times for Cortex-M devices, using arm-none-eabi-gcc, and using template linker scripts and startup files that I can then edit for my own needs. I can find many of these templates for Cortex-M devices, but none for Cortex-A cores.
Thanks Zheng. I tried both tools (arm-none-eabi-gcc and arm-eabi-gcc) and both work correclty for me (I am using a hard FPU). The only difference I could find between the 2 is that arm-eabi-gcc (cortex-a toolchain) seems to compile faster.