I'm new in ARM development. Now I'm really confused about the cross tool chain of ARM. Here some problems that I encountered:
Are the developers of gcc
and arm-linux-gcc
the same? Or there are many different developers of arm-linux-gcc
for different versions? If there are, what is the origin of all arm-linux-gcc
compilers? Is there an official website for arm-linux-gcc
?
Where to get official documentation of arm-linux-gcc
? Now I can only get official documentation of gcc from the official GNU website, but I downloaded my arm-linux-gcc
from GNUTOOLCHAIN and cannot find any documents. According to my experience, the options of gcc
and arm-linux-gcc
are not exactly same.
Finally, what are the differences between different prebuilt versions of arm-linux-gcc
? I guess the only difference between them is the default options of the compiler, am I right? Can I use a prebuilt arm-linux-gcc
for arm1176
to compile a program for a cortex-A8
? If so, what compile options should I pay attention to?
Is there any authoritative book about such things?
Answers for your questions are below:
There are different compiler options for doing compilation for arm from different developers. The one I commonly use are Linaro and Code Sourcery. You can search these keywords on Google and find their website easily.
arm-linux-gcc should support all the flags and options of gcc, so all the generic stuff is same as compared to gcc. So you can use the gcc documentation on official GNU website. For something specific you can use the documentation of the specific compiler.
The prebuilt versions are the ones with default options for a particular platform, but they might also include some fixes or maybe hacks to run it on a particular platform. For example in case of RPi you cannot use the generic linaro toolchain and have to use a prebuilt one.