1. 安装VMware虚拟机工具;
2. 安装MacOS 10.12版本;
从crosstool-ng官网可以获取当前工具支持的各怕平台系统版本,笔者这里选用MacOS 10.12版本,下载地址:
链接:https://pan.baidu.com/s/1JyTvVNEALCl1Jkgg1CmNNQ?pwd=7p9h
提取码:7p9h
下载解压后会有一份.vmdk文件,直接将文件导入到VMware工具中即可。
3. 系统安装完成后需要安装crosstool依赖的工具环境;
推荐使用一键脚本安装方式:
4. 安装crosstool-ng工具
brew install crosstool-ng mpfr gmp grep
查看支持的samples
ct-ng list-samples
查看目标samples
ct-ng show-arm-unknown-linux-gnueabi
选择目标samples
ct-ng arm-unknown-linux-gnueabi
依据目标板的CPU参数进行个性化配置
ct-ng menuconfig
由于工具需要在支持大小写敏感的分区里才能正确生成交叉编译器,所以我们这里需要创建并挂载分区:
深海游弋的鱼 – 默默的点滴https://www.mobibrw.com/2016/4608生成交叉编译器:
ct-ng build
遇见如下报错直接忽略:
[INFO ] Installing final gcc compiler
[ERROR] clang: error: unsupported option '-print-multi-os-directory'
[ERROR] clang: error: no input files
5.测试工具链
准备一个简单的hello world程序,编译源文件:
/Volumes/aarch64/x-tools/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-gcc hello.c -o hello
将生成的可执行文件放到目标板上测试运行结果。
6. 参考
https://www.crifan.com/files/doc/docbook/crosstool_ng/release/html/crosstool_ng.html