一、 首先编译安装crosstool-ng工具
编译安装流程:
https://blog.youkuaiyun.com/code_back/article/details/107749573
二、制作流程
- 建立一个制作交叉编译工具的目录crosstool
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,
- 编译
执行ct-ng build开始编译
注意 磁盘剩余空间必须大于10GB否者可能编译失败
编译时间大约1个半小时,期间会下载依赖库文件,如果下载失败可手动下载存放目录为
/home/ok6410/Desktop/ok6410/crosstool/build/.build.tarballs

- 编译输出目录为
/home/x-tool
参考这个帖子
https://blog.youkuaiyun.com/HumorRat/article/details/5615298
使用crosstool-ng创建OK6410开发板的交叉编译工具链
本文介绍了如何使用crosstool-ng编译安装交叉编译工具,并详细阐述了配置过程,包括路径、平台和工具链的设定,以及编译环境的选择,最终生成arm-unknown-linux-gnueabi的交叉编译库。
5256

被折叠的 条评论
为什么被折叠?



