We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Hi.
i am a little bit confused!
what are the known types of tollchans for Cortex M for example Stm32?
is the gnu-arm-gcc the same as arm-none-eabi-gcc?
Wtah about WinARM?
The naming for GCC based toolchain is :
".. loosely named using a convention of the form arch[-vendor][-os]-abi. "
gnu-arm-gcc is thus probably ARM GCC spin-off, no OS (baremetal). I'm not sure but this is probably their old naming, not how Linaro names it.
arm-none-eabi-gcc is thus target ARM no vendor specific EABI bare-metal GCC.
On ABI / EABI , see here:
https://en.wikipedia.org/wiki/Application_binary_interface
On GCC toolchain naming see some notes here :
https://web.eecs.umich.edu/~prabal/teaching/resources/eecs373/toolchain-notes.pdf
An "arm-none-eabi-gcc" should compile for any ARM/ Cortex target it supports, independent of vendor specific target - like Stm32. However, as you understand, there will be your SoC or board specific initialization which depends on your chip , such as memory layout. So for one, a vendor may provide target chip C runtime init code, and other board specific initialization. To make user's life easier. Or, you write one yourself.
Hope that makes it a little bit clearer for you.