Ubuntu 编译 ARM-Linux-Gcc 工具链 -- 通过crosstool-NG制作工具链

Posted liuyunxiang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ubuntu 编译 ARM-Linux-Gcc 工具链 -- 通过crosstool-NG制作工具链相关的知识,希望对你有一定的参考价值。

1.手动下载制作过程中所需要的包,节省时间

所用包如下(不同版本所有包版本有所不同)

libtool-2.4.6

linux-3.2.87

gmp-6.1.2

mpfr-3.1.5

isl-0.16.1

mpc-1.0.3

libelf-0.8.13

expat-2.2.0

ncurses-6.0

libiconv-1.15

gettext-0.19.8.1

binutils-2.28

gcc-5.4.0

glibc-2.25

duma_2_5_15

gdb-7.12.1

ltrace-0.7.3

strace-4.16

2.工具链制作准备

 进入crosstool目录:cd ~/.crosstool

 执行:ct-ng list-samples

技术分享图片

选择arm-unknown-linux-gnueabi 作为交差编译工具链的模版

执行命令:ct-ng show-arm-unknown-linux-gnueabi,查看编译交差编译工具链所需要的配置  

技术分享图片

下载gcc 6.3.0wget http://ftp.gnu.org/gnu/gcc/gcc-6.3.0/gcc-6.3.0.tar.gz  

技术分享图片

执行命令:ct-ng arm-unknown-linux-gnueabi 

技术分享图片

执行命令:ct-ng menuconfig 

技术分享图片

 

技术分享图片

  选择 Target options

       *** Target optimisations ***

           (armv4t) Architecture level :指令集架构,

           (arm920t) Emit assembly for CPU  :CPU核心类型,  -mcpu=name

           () Tune for CPU:对CPU的优化,具体可以查看芯片手册,-mtune=name

技术分享图片

  最新版本的crosstool-ng只需要选择第一二项目就好了。

  选择 toolchain options:  

技术分享图片

 

3.开始编译:

 

执行命令:ct-ng build

技术分享图片

编译成功: 

技术分享图片

设置所有用户环境变量:

vim /etc/profile

首行添加如下

export PATH=/home/liu/ARM9/Tools/设置的路径/bin:$PATH

保存并退出,更新生效:

source /etc/profile

执行

arm-s3c2440a-linux-gnueabi-gcc -v

技术分享图片

u-boot 2016.01 不支持GCC6,因此要把 GCC的版本改成GCC5.0版本--GCC6.0版本之间。

 

以上是关于Ubuntu 编译 ARM-Linux-Gcc 工具链 -- 通过crosstool-NG制作工具链的主要内容,如果未能解决你的问题,请参考以下文章

Ubuntu14.04 用arm-linux-gcc 4.4.3 配置交叉编译环境问题

在Ubuntu下,安装arm-linux-gcc交叉编译器,环境变量也都设置好了

在Ubuntu下,安装arm-linux-gcc交叉编译器,环境变量也都设置好了,运行arm-linux-gcc 提示未找到命令

安装arm-linux-gcc交叉编译器

ubuntu11 安装交叉编译 arm-linux-gcc 4.4.3出现崩溃型问题,希望高手相助。

ubuntu arm-linux-gcc 4.4.3怎么编译hello.c