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

一、 首先编译安装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

©️2020 CSDN 皮肤主题: 深蓝海洋 设计师:CSDN官方博客 返回首页