This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Tool/software: TI C/C++ Compiler
Hello,
SPNU151I 2.3.4, --abi=eabi is the default, and I read somewhere that this implies ELF format.
However, we have gcc-arm-none-eabi-4_9-2015q3 toolchain also found in ccsv6/tools/compiler folder.
Why the gcc tool is has “none-eabi” in its name?
Dave
Dave Smith62 said:Why the gcc tool is has “none-eabi” in its name?
The compiler development team at TI does not name this compiler. Linaro produces this compiler, and they name it. I tried to find some documentation on the convention for naming GCC compiler executables. I could find discussion of it in various places, but no authoritative documentation. In one place, it says the "none" refers to the vendor. In another, it says the "none" refers to the OS running on the device. In this particular case, I think no OS is what they are trying to capture. Other ARM compilers released by Linaro are called arm-linux-something.
Dave Smith62 said:Is it less capable than TI’s own compiler which produces eabi?
No
Dave Smith62 said:If we have an .obj file produced by TI eabi compiler, and we try to link it with gcc-arm-none-eabi’s linker (which file?), would that fail?
No
Dave Smith62 said:Given that eabi is a long-established standard, it sounds a little stupid that gcc tool chain does not support it. Any reason for that?
This ARM GCC compiler does support EABI.
Thanks and regards,
-George
In this maillist thread and thread, Linaro people replied that the tool focused on Cortex-A series and would LIKELY work for arm v5.
1. Could you confirm that the linaro included in CCS (gcc-arm-none-eabi-4_9-2015q3) work for ARM9?
2. The Linaro toolchain is named Linaro GCC. In fact, since GCC 3 there is option for targeting ARM architectures, as in this gnu.org link. So if we already have gnu.org's gcc which produces ARM code, then what is the work Linaro actually doing? Do they just finetune the GCC's ARM compiler to each specific ARM architectures?
Dave
Dave Smith62 said:
Be careful. That information does comes from Linaro experts. On the other hand, those threads are dated 2010.
Dave Smith62 said:1. Could you confirm that the linaro included in CCS (gcc-arm-none-eabi-4_9-2015q3) work for ARM9?
If you run ...
% arm-none-eabi-gcc.exe -v --help
You will get a lot of documentation specific to that compiler. You probably ought to capture it in a file. Among the things you will find are ...
Known ARM CPUs (for use with the -mcpu= and -mtune= options): arm1020e arm1020t arm1022e arm1026ej-s arm10e arm10tdmi arm1136j-s arm1136jf-s arm1156t2-s arm1156t2f-s arm1176jz-s arm1176jzf-s arm2 arm250 arm3 arm6 arm60 arm600 arm610 arm620 arm7 arm70 arm700 arm700i arm710 arm7100 arm710c arm710t arm720 arm720t arm740t arm7500 arm7500fe arm7d arm7di arm7dm arm7dmi arm7m arm7tdmi arm7tdmi-s arm8 arm810 arm9 arm920 arm920t arm922t arm926ej-s arm940t arm946e-s arm966e-s arm968e-s arm9e arm9tdmi cortex-a12 cortex-a15 cortex-a15.cortex-a7 cortex-a5 cortex-a53 cortex-a57 cortex-a57.cortex-a53 cortex-a7 cortex-a8 cortex-a9 cortex-m0 cortex-m0.small-multiply cortex-m0plus cortex-m0plus.small-multiply cortex-m1 cortex-m1.small-multiply cortex-m3 cortex-m4 cortex-m7 cortex-r4 cortex-r4f cortex-r5 cortex-r7 ep9312 fa526 fa606te fa626 fa626te fa726te fmp626 generic-armv7-a iwmmxt iwmmxt2 marvell-pj4 mpcore mpcorenovfp native strongarm strongarm110 strongarm1100 strongarm1110 xscale
I'm not sure which arm9 option is best for your device.
Dave Smith62 said:2. The Linaro toolchain is named Linaro GCC. In fact, since GCC 3 there is option for targeting ARM architectures, as in this gnu.org link. So if we already have gnu.org's gcc which produces ARM code, then what is the work Linaro actually doing? Do they just finetune the GCC's ARM compiler to each specific ARM architectures?
The GCC documentation includes the target specific options for every CPU it supports. This does not mean the host compiler gcc you may have can target ARM.
In case it is useful, the GCC manual specific to the GCC ARM compiler bundled with CCS is in a directory location similar to ...
C:\ti\ccsv6\tools\compiler\gcc-arm-none-eabi-4_9-2015q3\share\doc\gcc-arm-none-eabi\pdf\gcc
Thanks and regards,
-George