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.
you can take a look at this document https://developer.arm.com/tools-and-software/embedded/legacy-tools/ds-5-development-studio/resources/tutorials/building-bare-metal-applications-in-ds-5-using-gcc-compiler
View all questions in Arm Compilers forum