背景
项目需要导入ATF流程,拿到源码尝试编译,期间遇到些问题,故希望通过本文记录下。
源码下载
源码路径如下:
git clone https://github.com/ARM-software/arm-trusted-firmware.git
编译
1>默认交叉编译工具链 aarch64-none-elf,网址如下:
https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads
2>linux下交叉编译工具链安装,具体可以参考如下
https://blog.csdn.net/qq_58397358/article/details/121160720
注:实测ubuntu下工具链要解压到opt目录下,才能生效
3>生成可执行文件
cd到arm-trusted-firmware目录下,然后运行下面命令
CROSS_COMPILE=aarch64-none-elf- make PLAT=fvp all
运行后的编译log如下:
编译结束后有报错,生成BL2固件失败,详见下图:
但是BL1固件已经生成,结果见下图:
总结
通过上述步骤实现了ATF固件的生成,但是BL2生成还有些问题,后续解决。