用Crosstool-ng构建交叉编译工具链

交叉编译指在一个平台上生成另一个平台上的可执行代码。常见的有三种:

  • 在Windows PC上,利用集成开发环境(ADS),运行armcc编译器,编译出针对ARM CPU的可执行代码
  • 在Windows PC上,利用cygwin环境,运行arm-elf-gcc编译器,编译出针对ARM CPU 的可执行代码
  • 在Linux PC上,利用arm-linux-gcc编译器,编译出针对Linux ARM平台的可执行代码

交叉编译工具链是一个由编译器、连接器和解释器组成的综合开发环境,交叉编译工具链主要由binutils、gcc和glibc 3部分组成。
本文使用Crosstool-ng在Ubuntu系统中构建用于ARM平台的交叉编译工具链。

  • 交叉编译工具:arm-linux-6.3.0
  • 编译平台:Ubuntu 14.04.4 LTS
  • 目标平台:S3C6410
  • crosstool-ng-1.23.0

一 、下载安装crosstool-ng

  1. crosstool-ng官网github上下载最新版本。

    ~/arm-linux-tools$ wget http://crosstool-ng.org/download/crosstool-ng/crosstool-ng-1.23.0.tar.bz2
    
  2. 解压源码,进入源码目录

    ~/arm-linux-tools$ tar jxvf crosstool-ng-1.23.0.tar.bz2 
    ~/arm-linux-tools$ cd crosstool-ng-1.23.0/
    
  3. 安装编译依赖包

    sudo apt-get install sed bash dpkg-dev bison flex patch texinfo automake m4 libtool cvs websvn tar gzip bzip2 lzma libncurses5-dev bison flex texinfo automake libtool patch cvs cvsd gperf help2man gawk
    

    安装中提示如下错误:
    dpkg: error processing package websvn (–configure):
    subprocess installed post-installation script returned error exit status 1
    E: Sub-process /usr/bin/dpkg returned an error code (1)

    解决

    $ sudo mv /var/lib/dpkg/info/ /var/lib/dpkg/info_old/
    $ sudo mkdir /var/lib/dpkg/info/
    $ sudo apt-get update
    
  4. 执行编译三部曲

    ./configure --prefix=/opt/crosstool-ng
    make
    sudo make install
    
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值