前提:需要linux的操作的操作系统或者在windows上用虚拟机运行linux操作系统的环境
一.交叉编译工具 aarch64-linux-gnu-gcc 安装
介绍:
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.查看有哪些版本可以安装:
apt-cache search aarch64
在这里插入图片描述
2.选择某个版本进行安装
apt-get install gcc-10-aarch64-linux-gnu
可能会出现 E: Unmet dependencies. 错误
在这里插入图片描述
使用 apt --fix-broken install 可解决依赖问题
root@kali:~/Documents/test# apt --fix-broken install
Reading package lists… Done
Building dependency tree
Reading state information… Done
Correcting dependencies… Done
The following packages were automatically installed and are no longer required:
dh-python libdouble-conversion1 liblinear3

3.安装一个没有版本号的 gcc-aarch64-linux-gnu
sudo apt-get install gcc-aarch64-linux-gnu

这样就可以使用 gcc-aarch64-linux-gnu 了。如果你在安装的过程中,出现了问题,也可以直接从官方网站下载编译好的二进制文件,直接运行,不过,得注意下载的版本要与硬件架构、系统版本相符。
二 ATF编译
1.在安装交叉编译链工具后,设置环境变量 (这步貌似不用做也行)
export CROSS_COMPILE=usr/bin/aarch64-linux-gnu-
其中usr/bin是安装位置,可以使用命令获得:
whereis aarch64-linux-gnu-gcc
2.去获取ATF代码:
git clone https://github.com/ARM-software/arm-trusted-firmware.git
cd arm-trusted-firmware
3.编译
make CROSS_COMPILE=aarch64-linux-gnu- PLAT=qemu
其中 PLAT=qemu是指定平台
也可以使用
make CROSS_COMPILE=aarch64-linux-gnu-
4.结果
可以到build目录下查看编译结果

其中安装交叉编译工具参考
https://blog.csdn.net/iijik55/article/details/124102540

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐