I have here is the direct use of the board s5pv210, the method according to Zhu large lecture hall, according to the official installation package to install cross compiler tool chain (also a useful source installation of this high force grid, temporarily refrain)
arm-2009q3.tar.bz2
This package mv to the / usr / local / ARM new directory under the directory
tar -jxvf /usr/local/arm/
After decompression, it will create a new directory in the current directory arm-2009q3
Into the inside of the bin directory, ls cross compiler can see all the tools in the chain as follows
arm-none-linux-gnueabi- addr2line for the call stack when the program crashes positioning information when debugging #
-none-Linux-ARM-gnueabi gprof # very useful debugging tool
-none-Linux-ARM gnueabi-Ar # static library generation tools
-none-Linux-ARM gnueabi-LD # linker
arm-none-linux-gnueabi-objdump # disassemble
arm-none-linux-gnueabi-cpp #C preprocessor
arm-none-linux-gnueabi-gdb # very useful debugging tool
-none-Linux-ARM-gnueabi AS # This is the doing of ?
-none-Linux-ARM-nm gnueabi # symbol View
none-Linux--ARM-the objcopy # gnueabi the objcopy is used to copy the contents of a target file to another file,
可以使用不同于源文件的格式来输出目的文件,即可以进行格式转换(.elf转.bin)
arm-none-linux-gnueabi-c++ #这个C++是干啥的?
arm-none-linux-gnueabi-c++filt
arm-none-linux-gnueabi-ranlib
arm-none-linux-gnueabi-g++
arm-none-linux-gnueabi-readelf
arm-none-linux-gnueabi-gcc
arm-none-linux-gnueabi-size
arm-none-linux-gnueabi-gcc-4.4.1
arm-none-linux-gnueabi-sprite
arm-none-linux-gnueabi-gcov
arm-none-linux-gnueabi-strings
arm-none-linux-gnueabi-strip
arm-none-linux-gnueabi-gdbtui
如何验证一下是否安装成功呢,那就去执行
./arm-none-linux-gnueabi-gcc -v
发现打印出来一堆消息,最后是
gcc version 4.4.1 (Sourcery G++ Lite 2009q3-67) 这就说明我们安装成功了
然后我们来把这个目录添加到系统的环境变量
vi ~/.bashrc
然后在尾部添加
export PATH=$PATH:/usr/local/arm/arm-2009q3/bin
注意这个需要退出当前console再进入的时候才会有效
然后是为这些工具创建符号链接
有一个脚本,直接拷过去/usr/local/arm/arm-2009q3/bin执行就行
=========================================================
其实上述步骤完全可以用一个脚本来实现,为了以后搭建环境时省一些时间,我这里写了一个一键安装脚本envsetup.sh
#!/bin/bash function create_link(){ echo "creating soft link ..." sudo ln arm-none-linux-gnueabi-addr2line -s arm-linux-addr2line sudo ln arm-none-linux-gnueabi-ar -s arm-linux-ar sudo ln arm-none-linux-gnueabi-as -s arm-linux-as sudo ln arm-none-linux-gnueabi-c++ -s arm-linux-c++ sudo ln arm-none-linux-gnueabi-c++filt -s arm-linux-c++filt sudo ln arm-none-linux-gnueabi-cpp -s arm-linux-cpp sudo ln arm-none-linux-gnueabi-g++ -s arm-linux-g++ sudo ln arm-none-linux-gnueabi-gcc -s arm-linux-gcc sudo ln arm-none-linux-gnueabi-gcc-4.4.1 -s arm-linux-gcc-4.4.1 sudo ln arm-none-linux-gnueabi-gcov -s arm-linux-gcov sudo ln arm-none-linux-gnueabi-gdb -s arm-linux-gdb sudo ln arm-none-linux-gnueabi-gdbtui -s arm-linux-gdbtui sudo ln arm-none-linux-gnueabi-gprof -s arm-linux-gprof sudo ln arm-none-linux-gnueabi-ld -s arm-linux-ld sudo ln arm-none-linux-gnueabi-nm -s arm-linux-nm sudo ln arm-none-linux-gnueabi-objcopy -s arm-linux-objcopy sudo ln arm-none-linux-gnueabi-objdump -s arm-linux-objdump sudo ln arm-none-linux-gnueabi-ranlib -s arm-linux-ranlib sudo ln arm-none-linux-gnueabi-readelf -s arm-linux-readelf sudo ln arm-none-linux-gnueabi-size -s arm-linux-size sudo ln arm-none-linux-gnueabi-sprite -s arm-linux-sprite sudo ln arm-none-linux-gnueabi-strings -s arm-linux-strings sudo ln arm-none-linux-gnueabi-strip -s arm-linux-strip } DIR=$(pwd) echo "--------------------------------------" echo "Before install make sure one thing that:" echo "your PC is x86 arch based machine and" echo "you want programs running on arm arch" echo "--------------------------------------" # judge whether the tool chain exists if [ ! -e arm-2009q3.tar.bz2 ]; then echo "arm-2009q3.tar.bz2 not found" return 1 fi # mv to a default path if [ -e /usr/local/arm ]; then sudo cp arm-2009q3.tar.bz2 /usr/local/arm/arm-2009q3.tar.bz2 else echo "mkdir /usr/local/arm" sudo mkdir /usr/local/arm sudo cp arm-2009q3.tar.bz2 /usr/local/arm/arm-2009q3.tar.bz2 fi # unzip the arm-20093.tar.bz2 cd /usr/local/arm if [ ! -e arm-2009q3 ]; then echo "unzip the arm-20093.tar.bz2" sudo tar -jxf arm-2009q3.tar.bz2 fi # new short name for these tools cd /usr/local/arm/arm-2009q3/bin create_link echo "validating ..." ./arm-linux-gcc -v | grep "gcc version 4.4.1" if [ $? -eq 0 ]; then echo "validation ok!" else echo "validation failed" # get back cd $DIR unset DIR return 1 fi # add path to sys env sed -i '$a export PATH=$PATH:/usr/local/arm/arm-2009q3/bin' ~/.bashrc if [ $? -eq 0 ]; then echo "export to sys env ok!" else echo "export to sys env failed" fi # get back cd $DIR unset DIR echo "arm-linux compile chain env set done!"
使用的时候把压缩包和这个脚本放在同一个目录下,然后执行 . envsetup.sh即可