学习笔记_安装交叉编译工具链(For S3C2440)

来源:互联网 发布:墨泥模拟驾驶软件 编辑:程序博客网 时间:2024/06/05 00:59
安装交叉编译工具链

使用环境:
Ubuntu 12.04 LTS

1.     安装基本开发包

$ sudo apt-get install bison flex  patch libncurses5-dev texinfo automake libtool gcj-jdk cvs cvsd gawk gperf
$ sudo apt-get install expat libexpat-dev

安装termcap:
$ wget  ftp://ftp.gnu.org/gnu/termcap/termcap-1.3.1.tar.gz
$ tar zxvf termcap-1.3.1.tar.gz
$ cd termcap-1.3.1
$ ./configure --prefix=/usr
$ make -j2
$ sudo make install

2.     下载源码包

crosstool-ng可以自动去下载源码包,为减少时间可以提前下载以下源码包:
http://mirror.bjtu.edu.cn/gnu/
https://www.kernel.org/pub/linux/kernel/v2.6/

binutils-2.19.1a.tar.bz2  16M
dmalloc-5.5.2.tgz               651K
duma_2_5_15.tar.gz          235K
ecj-latest.jar                     1.5M
expat-2.1.0.tar.gz              550K
gcc-4.3.2.tar.bz2            57M
gdb-6.8a.tar.bz2            16M
glibc-2.9.tar.bz2             16M

glibc-ports-2.9.tar.bz2       447K
gmp-4.3.2.tar.bz2             1.9M
libelf-0.8.13.tar.gz             146K
linux-2.6.32.61.tar.xz     51M
ltrace_0.5.3.orig.tar.gz      144K
mpfr-2.4.2.tar.bz2             1.1M
ncurses-5.9.tar.gz             2.7M
strace-4.5.19.tar.bz2         488K


3.     编译安装交叉编译工具链crosstool-ng

下载crosstool-ng:
http://crosstool-ng.org/download/crosstool-ng/

$ tar jxvf crosstoo-ng-1.19.0.tar.bz2 -C /work/tools
$ mkdir /work/tools/crosstool-ng-1.19.0_build
$ mkdir /work/tools/crosstool-ng-1.19.0_install
$ cd /work/tools/crosstool-ng-1.19.0
$ ./configure --prefix=/work/tools/crosstool-ng-1.19.0_install
$ make -j2
$ make install

4.     配置crosstool-ng

$ cd /work/tool/crosstoo-ng-1.19.0_build
$ cp ../crosstool-ng-1.19.0/sample/arm-unknown-linux-gnueabi/* .
$ mv crosstool.config .config
$ ../crosstool-ng-1.19.0_install/bin/ct-ng menuconfig

a)配置源码包路径和交叉编译器安装路径 
Paths and misc options  --->
     (/work/tools/src) Local tarballs directory     #源码包路径
     (/work/tools/crosstool) Prefix directory       #交叉编译器的安装路径
并把下载的源码包放入/work/tools/src目录下

b)配置交叉编译器针对体系结构
 Target options  --->
      *** Target optimisations ***
     (armv4t) Architecture level 
     (arm9tdmi) Emit assembly for CPU    
     (arm920t) Tune for CPU
 相关参考信息可以参考:
     man gcc-4.3.2/gcc/doc/gcc.1
         

c)关闭JAVA编译器
C compiler  --->
      *** Additional supported languages: *** 
      ] Java  

d)配置编译时使用的核数
Paths and misc options  --->
   *** Build behavior *** 
   (4) Number of parallel jobs 

e)配置使用的内核版本
Operating System  --->
     Target OS (bare-metal)  ---> 
与下载的内核版本匹配

f)配置编译名称前缀
Toolchain options  --->
       *** Tuple completion and aliasing ***  
       (arm920t) Tuple's vendor string 
生成的编译器前缀:arm-arm920t-linux-gnueabi-

g)退出并保持配置

5.     编译交叉工具链
$ ../crosstool-ng-1.19.0_install/bin/ct-ng build

6.     配置交叉工具链环境变量

$ sudo vi /etc/profile
export PATH=$PATH:/work/tools/crosstool/bin
$ source /etc/profile
$ arm-arm920t-linux-gnueabi-gcc -v
原创粉丝点击