sitio de referencia
-
ATF (arm-trusted-firmware), puede llamarse Trusted Firmware-A (TF-A), que es TF-A
ambiente
-
Usa qemu, no necesitas tablero
-
win10 64 位 VMware Workstation Pro 16
-
Ubuntu 20.04
-
qemu (placa de desarrollo ARM virtual),
aarch64
plataforma qemu -
Versión ATF (TF-A): 2.9
-
Cadena de herramientas de compilación cruzada gcc: gcc versión 12.2.1 20230401
Descargar ATF
-
git clone https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git
-
También se puede descargar desde github: https://github.com/ARM-software/arm-trusted-firmware
método de compilación
-
Configure la cadena de herramientas de compilación cruzada gcc, utilícela aquí
gcc version 12.2.1 20230401
, descargue la dirección: https://snapshots.linaro.org/gnu-toolchain/12.2-2023.04-1/aarch64-linux-gnu/ -
Configurar las variables de entorno de la cadena de herramientas de compilación cruzada
-
Comando de compilación:
make ARCH=aarch64 CROSS_COMPILE=aarch64-linux-gnu- PLAT=qemu all DEBUG=1
-
【Nota】La nueva versión de ATF,
ARCH=aarch64
en lugar deARCH=arm64
producto compilado
- Principalmente:
bl1.bin bl2.bin bl31.bin
verificación de arranque qemu
-
Actualmente no existe u-boot, y parece que no se puede guiar correctamente, la información inicial es la siguiente
-
Guión 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
-
Nota:
-semihosting-config enable,target=native
esto es obligatorio -
Para una placa normal, cada archivo bin debe escribirse en la partición en Flash. Aquí, qemu se usa para simulación, lo que requiere el soporte de archivos locales.
-
chmod +x qemu.sh
,implementar./qemu.sh
resumen
- Obtenga una comprensión preliminar del método de compilación ATF basado en la plataforma qemu aarch64 y luego continúe estudiando cómo cooperar con u-boot para guiar todo el sistema Linux.