本文主要是交叉编译工具链的相关笔记,若笔记中有错误或者不合适的地方,欢迎批评指正😃。
点击查看使用工具及版本
PC端开发环境 | Windows | Windows11 |
Ubuntu | Ubuntu20.04.6的64位版本(一开始使用的是16.04版本,后来进行了升级) |
VMware® Workstation 17 Pro | 17.0.0 build-20800274 |
终端软件 | MobaXterm(Professional Edition v23.0 Build 5042 (license)) |
Win32DiskImager | Win32DiskImager v1.0 |
Linux开发板环境 | Linux开发板 | 正点原子 i.MX6ULL Linux 阿尔法开发板 |
uboot | NXP官方提供的uboot,NXP提供的版本为uboot-imx-rel_imx_4.1.15_2.1.0_ga(使用的uboot版本为U-Boot 2016.03) |
linux内核 | linux-4.15(NXP官方提供) |
点击查看本文参考资料
点击查看相关文件下载
一、交叉编译工具简介
什么是交叉编译器?Ubuntu
中安装使用的 GCC
编译器是针对 X86
架构的。而我们现在要编译的是 ARM
架构的代码,所 以我们需要一个在 X86
架构的 PC
上运行,可以编译 ARM
架构代码的 GCC
编译器,这个编译器就叫做交叉编译器。
在这里,我使用的是开发板配套教程中Linaro
出品的交叉编译器,而作为初学者的我,还是先跟教程走吧,哈哈。所以我使用的就是4.9
版本的编译器啦。相关网址如下:
二、安装交叉编译工具链
1. 下载软件包
可以在下边的地址中下载4.9.4
版本的交叉编译工具软件包,当然自己也可以使用更高版本啦,我是为了跟教程一致,才用的老版本,以后会玩了,可能就换新了:
1
| https://releases.linaro.org/components/toolchain/binaries/4.9-2017.01/arm-linux-gnueabihf/
|
下载完毕后,拷贝到自己Ubuntu
的一个目录中:
1
| cp 2Sharedfiles/3Software/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz ~/1Software/
|
然后进入目录,并解压:
1 2
| cd ~/1Software/ tar -xvf gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz
|
2. 安装交叉编译器
1 2
| sudo mkdir /usr/local/arm sudo cp -r ~/1Software/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf /usr/local/arm
|
1 2 3 4 5 6 7 8
| # 1.打开相应文件 sudo vim /etc/profile
# 2.文件结尾添加以下内容 export PATH=$PATH:/usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin
# 3.重启设备,使环境变量生效(最好重启下吧) reboot
|
- (3)安装相关的库(虽然写笔记的时候还不知道有啥用)
1
| sudo apt-get install lsb-core lib32stdc++6
|
这个库安装的时间还是有点久的。
1
| arm-linux-gnueabihf-gcc -v
|
若成功,则会显示交叉编译工具的版本,如下图所示: