参考网站
-  ATF (arm-trusted-firmware),可以称之为 Trusted Firmware-A (TF-A),也就是 TF-A 
-  https://www.trustedfirmware.org/ 
-  https://github.com/ARM-software/arm-trusted-firmware 
环境
-  使用 qemu,就是不需要板子 
-  win10 64位 VMware Workstation Pro 16 
-  ubuntu 20.04 
-  qemu (虚拟ARM开发板),qemu aarch64平台
-  ATF(TF-A)版本:2.9 
-  gcc 交叉编译工具链:gcc version 12.2.1 20230401 
下载 ATF
-  git clone https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git
-  也可以从 github 下载:https://github.com/ARM-software/arm-trusted-firmware 
编译方法
-  配置好 gcc 交叉编译工具链,这里使用 gcc version 12.2.1 20230401,下载地址: https://snapshots.linaro.org/gnu-toolchain/12.2-2023.04-1/aarch64-linux-gnu/
-  配置好 交叉编译工具链的 环境变量 
-  编译命令: make ARCH=aarch64 CROSS_COMPILE=aarch64-linux-gnu- PLAT=qemu all DEBUG=1
-  【注意】新版本的 ATF, ARCH=aarch64而不是ARCH=arm64

编译产物
- 主要为 :bl1.bin bl2.bin bl31.bin

qemu 引导验证
-  当前没有 u-boot,貌似无法正确的引导,初步引起的信息如下 
-  qemu.sh 脚本 
#!/bin/bash
qemu-system-aarch64 \
        -nographic \
        -machine virt,secure=on \
        -cpu cortex-a53 \
        -smp 2 \
        -m 1024 \
        -bios bl1.bin \
        -semihosting-config enable,target=native
-  备注: -semihosting-config enable,target=native需要这条
-  正常的板子,各个 bin 文件应该是烧写到 Flash 上的分区的,这里使用 qemu 模拟,需要本地文件的支持 
-  chmod +x qemu.sh,执行./qemu.sh

小结
- 初步了解 基于 qemu aarch64 平台 ATF 的编译方法,后面继续研究 如何与 u-boot 配合,引导整个Linux 系统



















