Saturday, February 18, 2006

GCC Tool Chains for ARM processor

Cross Compiler for ARM processer:
www.arm.com provides a realview IDE software for the ARM processer. But its costly for a normal person to buy. It also provides a 30 day trial version CD. But there is also a free cross compiler for ARM processor, as GCC toolchains for ARM-ELF. It can be obtained from http://www.codesourcery.com/gnu_toolchains/arm/. All the tools can be downloaded separately and compiled following the instructions from any site. I followed the steps from http://www.6809.org.uk/gp32/build-cross-compiler.shtml.
http://www.codesourcery.com will surely answer any of the compilation and building problems. I could compile it very easily. But i had problems when i tried to compile a C file with the arm-elf-gcc. It gave me lots of errors while linking the object files. I was sitting with that for a day or so.
Error Message:
/usr/local/arm/3.4-codesources/bin/../lib/gcc/arm-none-
elf/3.4.0/../../../../arm-none-elf/bin/ld: ERROR: /usr/local/arm/3.4-
codesources/bin/../lib/gcc/arm-none-elf/3.4.0/../../../../arm-none-
elf/lib/libc.a(atexit.o) uses FPA instructions, whereas a.out does not

Just compile gcc with --with-fpu=fpa option to correct it :)

GCC Tool Chains for BF533

Free Cross Compiler for BF533 Processer is now comes with GCC and you can get it @ http://blackfin.uclinux.org/
Analog Devices gives the Visual DSP++ IDE for a 90 day trial period, which is really a good IDE for BF533. But my affinity towards Free Softwares made me to search for a Free cross compiler. http://blackfin.uclinux.org/ has the Gcc Toolchains for BF533 Processors and it can be downloaded from that site which is very active. I have downloaded it and installed it also. Its very simple to install. After extracting it, just run the install script in the Buildscripts directory.

Eg:
Assumption:
Am in my home dir. Created a build directory called Bfin-build. I have also extracted the toolchain in my home dir.
$ cd Bfin-build
$../bfin-gcc-3.4.05r4-2/buildscript/BuildToolChain -s /home/madhan/bfin-gcc-3.4.05r4-2

Thats it, it'll build everything by itself.
Append the path variables to the existing path variable.
Eg:
export PATH=$PATH:$HOME/Bfin-build/bin:$HOME/Bfin-build/sbin:$HOME/Bfin-build/libexec
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/Bfin-build/lib

Now you can try out the tools, like bfin-elf-gcc, etc :)