安装crosstool并用其制作交叉编译器

安装

1.利用命令:
git clone git://crosstool-ng.org/crosstool-ng
因为ubuntu上面默认没有安装git工具,需要提前安装,命令:
sudo apt-get install git

2.下载完成后,解压到用户目录,转到crosstool-ng-1.20.0目录。
在这里插入图片描述
3.执行文件中的bootstrap文件,会提示你没有安装编译必要的程序。

在这里插入图片描述

利用sudo apt-get install autoconf
安装完成后 执行 ./configure

4.执行make,再执行sudo make install
5.安装完成后测试一下ct-ng,出现在这里插入图片描述
则表示安装成功。

制作交叉编译器

1.ct-ng list-samples查看crosstoll-ng工具支持制作哪些工具模块,如下图所示:在这里插入图片描述
这里选择arm-unknown-linux-gnueabi,通过执行ct-ng arm-unknown-linux-gnueabi命令生成对应的config文件。

2.利用:ct-ng menuconfig 命令进入配置页面

在这里插入图片描述
(1)路径配置
在这里插入图片描述
1 Local tarballs directory:指定制作编译器所需要的源码包的下载存放,可以修改成任意位置,请提前建好并注意权限。
2 Prefix directory:制作好的交叉编译器所放置的目录。

(2)平台配置

在这里插入图片描述
1.Target Architecture:这个选择arm架构;
2. Architecture level:指CPU指令集架构,
3. mit assembly for CPU:cpu核心,如Contex-A7
4.Tune for CPU:哪一款CPU。
5.Use specific FPU:FPU处理器,VFP或neon等。
6.Floating point:浮点运算类型,软浮点或硬浮点

(3)工具链配置
在这里插入图片描述
1.Tuple’s vendor string:供应商字符串,若设置为abc,则编译后的工具链名字为arm-abc-linux-gnueabi。
2.Tuple’s alias:工具链的别名,若设置为arm-linux,则编译后会建立工具链的软连接,命名为arm-linux-xx。

(4)其他配置根据需要进行调整。
1.jOperating System —>菜单。选择编译的内核版本。这里使用默认的参数;
2.Binary utilities —>选择binutils的源码包版本号,配置二进制工具。这里使用默认参数。
C-library —>菜单,选择glibc库版本,使用默认参数
C compiler —>菜单选择GCC版本,选择默认参数
Debug facilities —>菜单,选择调试工具版本,默认参数。

编译

命令 ct-ng build
此时可能出现错误,如图
在这里插入图片描述
这是由于ubuntu的gcc没有装g++,这里只需要安装g++就可以:
sudo apt-get install g++。

编译完成后所有的工具都在(自己之前在路径配置时设置的)的目录下。接下来设置环境变量
export PATH=$PATH:/work/tools/
为了防止每次重启系统都要设置,在sudo vi /etc/environment 修改PATH的值
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/work/tools/crosstool/ bin"
然后运行. /etc/environment 使生效环境变量

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值