linux交叉编译工具链,arm-linux交叉编译工具链的制作(firefly-RK3399)

一、        安装crosstool-NG

1、        新建立一个目录arm-linux-tool,并且进入此目录。

2、        获取crosstool-NG源码

3、解压获取的打包文件crosstool-ng-1.20.0.tar.bz2。

4、配置并进行依赖检测:进入crosstool-ng-1.20.0目录中,运行./configure –prefix /home/ubunu/arm-linux-tools/crosstool-install/。(在这之前需要确定安装了gperf、bison、flex、texinfo、gawk、libtool、automake、libncurses5-dev、g++等软件)

在进行配置过程中出现如下错误,可清楚看出是版本过低。

进行软件的更新(失败),再进行libtool的安装如下所示:成功。

5、编译和安装

make

make install

6、配置环境变量以及检查crosstool-NG是否安装成功。

二、        配置交叉编译工具链

在crosstool-NG中有很多已经做好的默认配置(位于crosstool-ng-1.20.0/samples目录下),这里只需要进行修改就可以了。因为是制作arm-linux的交叉编译工具链,所以选择arm-unknown-linux-gnueabi进行配置。

1、        将arm-unknown-linux-gnueabi文件夹复制到crosstool-build目录下

2、将默认配置文件拷贝到crosstool-build目录下并改名为.config

cd ~/arm-linux-tools/crosstool-build

cp arm-unknown-linux-gnueabi/crosstool.config .config

3、        执行ct-ng menuconfig进入配置界面进行配置

ct-ng menuconfig

(1)设定源码包路径和交叉编译器的安装路径

源码包路径:设置Paths and misc options下的Local tarballs directory为/home/ubuntu/arm-linux-tools/src

交叉编译器的安装路径:设置Paths and misc options下的Prefix directory为/home/ubuntu/arm-linux-tools/x-tools/${CT_TARGET}

(2)修改交叉编译器针对的架构

设置Target options下的Architecture level为armv4t

设置Target options下的Emit assembly for CPU为arm9tdmi

设置Target options下的Tune for CPU为arm920t

(以上这几个参数是如何得出来的,可以参考gcc的man手册。你可以在下载的gcc-4.9.1.tar.bz2解压后的文件夹中找到(gcc-4.9.1/gcc/doc/gcc.1)

执行以下命令打开gcc.1)

(3)设置编译时的并行进程数

1)设置Paths and misc options下的Number of parallel jobs为4

这个数值不宜过大,应该为CPU核心数量的两倍。

(4)设置编译器前缀

1)设置Toolchain options下的Tuple's vendor string为RK3399,这样生成的编译器的前缀就是arm-RK3399-linux-gnueabi-

4、安装termcap

5、编译

在crosstool-build目录下执行以下命令进行编译

ct-ng build

6、根据以上可制作出交叉编译链(根据开发板配置)。

三、选用成熟的交叉编译器进行安装配置(亲自测可用)

1、        解压在/usr/local/tool/下

2、        配置环境变量 sudo  etc/profile,将其路径写入最后一行,export PATH=$PATH”“/usr/local/tool/gcc-linaro-arm-linux-gnueabihf-4.9-2014.07_linux/bin”

3、        使其生效 source /etc/profile

4、        查看路径echo $PATH

5、        查看编译器安装是否成功

问题1:识别不了32位.。http://blog.sina.com.cn/s/blog_7880d3350102wvrv.html(进一步下载适合版本64位)

问题2:由于可执行文件的访问权限问题,在RK-3399上需要扩展权限

chmod +x 可执行文件(正在研讨更优方法,现在尝试挂载的方法)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值