交叉编译工具
1 aarch64-linux-gnu-gcc 交叉编译工具
AArch64 是随 ARMv8 ISA 一起引入的 64 位架构,用于执行 A64 指令的计算机。而且在 AArch64 状态下执行的代码只能使用 A64 指令集。,而不能执行 A32 或 T32 指令。但是,与 AArch32 中不同,在64位状态下,指令可以访问 64 位和 32 位寄存器。
aarch64-linux-gnu-gcc 是一个交叉编译工具链,可以在其他架构的系统中,编译安装 64 位 arm 架构的程序。常用在嵌入式代码的移植中。aarch64-linux-gnu-gcc 是由 Linaro 公司基于 GCC 推出的的 ARM 交叉编译工具。可用于交叉编译 ARMv8 64 位目标中的裸机程序、u-boot、Linux kernel、filesystem 和 App 应用程序。aarch64-linux-gnu-gcc 交叉编译器必须安装在 64 位主机上,才能编译目标代码。
1.1 软件仓库安装
#查看有哪些版本可以安装
apt-cache search aarch64
#选择某个版本进行安装
apt-get install gcc-10-aarch64-linux-gnu
#解决依赖问题
apt --fix-broken install
#安装一个没有版本号的
sudo apt-get install gcc-aarch64-linux-gnu
2 各ARM交叉编译工具的区别
3 交叉编译环境的手动安装
以安装arm-linux-gnueabihf
交叉编译工具为例:
3.1 将交叉编译工具放到 /usr/local/arm 文件夹下
将gcc-linaro-12.0.1-2022.02-x86_64_arm-linux-gnueabihf.tar.xz移动到 /usr/local/arm 文件夹下,注:没有该文件夹就新建一个,该文件夹在后面配置环境变量时也会用到的
3.2 解压
解压交叉编译工具链压缩包,注:解压出来后的文件夹存放的就是交叉编译工具链文件
tar -xvf gcc-linaro-12.0.1-2022.02-x86_64_arm-linux-gnueabihf.tar.xz
gcc-arm-8.2-2018.11-x86_64-arm-linux-gnueabihf
3.3 添加环境变量
使用sudo vim打开/etc/profile,添加环境变量后,保存并退出
sudo vim /etc/profile
export PATH=$PATH:/usr/local/arm/gcc-linaro-12.0.1-2022.02-x86_64_arm-linux-gnueabihf/bin
3.4 重新加载环境变量的配置文件
source /etc/profile
3.5 检验是否安装成功
arm-linux-gnueabihf-gcc -v