欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-07-14 09:30:01
...

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

编译安装流程:

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

二、制作流程

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

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

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

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

• 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

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

Target Architecture设置为Arm
Default instruction set mode 设置为arm
Architecture level 设置为 armv6;
Emit assembly for cpu 设置为 arm1176jzf-s
Use specific FPU 设置为 vfp
Floating point 改为 hardware (FPU)(这里我没设置)
3)工具链配置
进入Toolchain option
crosstool-ng制作ok6410开发板的交叉编译库

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

其他配置保持默认

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

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

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

参考这个帖子

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

相关标签: linux