crosstool-ng制作ok6410开发板的交叉编译库

本文介绍了如何使用crosstool-ng编译安装交叉编译工具,并详细阐述了配置过程,包括路径、平台和工具链的设定,以及编译环境的选择,最终生成arm-unknown-linux-gnueabi的交叉编译库。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、 首先编译安装crosstool-ng工具

编译安装流程:

https://blog.csdn.net/code_back/article/details/107749573

二、制作流程

  1. 建立一个制作交叉编译工具的目录crosstool
  2. ct-ng list-samples查看crosstoll-ng工具支持制作哪些工具模块,如下图所示:

在这里插入图片描述

这里选择arm-unknown-linux-gnueabi,通过执行ct-ng arm-unknown-linux-gnueabi命令生成对应的config文件。
3. 配置
执行ct-ng menuconfig命令进入配置页面
1)路径配置:

在这里插入图片描述

• Local tarballs directory:指定制作编译器所需要的源码包的下载存放目录这里设置为/home/ok6410/Desktop/ok6410/crosstool/src。
• Debug crosstool-NG:选择Debug crosstool-NG,会多出一个子菜单,选中Save intermediate steps,此选项提供一个从上一步错误的地方继续编译,而不是从新编译,这样节约大量的时间。
• Number of parallel jobs:这个菜单需要下拉才能看到此项为增加编译时的并行进程数,以增加运行速度,加速编译。如选择三个进程:选择(3)Number of parallel jobs。(我虚拟机环境下,速度还是没有提升)
2)平台配置

进入Target option

在这里插入图片描述

Target Architecture设置为Arm
Default instruction set mode 设置为arm
Architecture level 设置为 armv6;
Emit assembly for cpu 设置为 arm1176jzf-s
Use specific FPU 设置为 vfp
Floating point 保持不变
3)工具链配置
进入Toolchain option
在这里插入图片描述

• Tuple’s vendor string:供应商字符串,若设置为none,则编译后的工具链名字为arm-none-linux-gnueabi。
• Tuple’s alias:工具链的别名,若设置为arm-linux,则编译后会建立工具链的软连接,命名为arm-linux-xx。

4)编译环境选择linux2.6.32(最低版本),glibc版本选择glibc2.8,

  1. 编译
    执行ct-ng build开始编译
    注意 磁盘剩余空间必须大于10GB否者可能编译失败
    编译时间大约1个半小时,期间会下载依赖库文件,如果下载失败可手动下载存放目录为
/home/ok6410/Desktop/ok6410/crosstool/build/.build.tarballs

在这里插入图片描述

  1. 编译输出目录为
/home/x-tool

参考这个帖子

https://blog.csdn.net/HumorRat/article/details/5615298

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值