x210 installation and validation cross compilation tools chain

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即可

 

 

 

 
 
 
 

Guess you like

Origin www.cnblogs.com/Arnold-Zhang/p/11291967.html