Rockchip | Rockchip ATF(ARM Trusted Firmware)的获取与构建

本文介绍了ARM Trusted Firmware(ATF)的相关内容,包括Rockchip ATF和Upstream ATF的下载方式,支持的Rockchip设备如RK3399、RK3328等,使用mk - atf.sh脚本构建ATF的方法,以及通过U - Boot SPL FIT镜像和Rockchip miniloader两种方式安装ATF的步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 下载ARM Trusted Firmware

1.1 Rockchip ATF

Rockchip 不提供 ATF 源代码,但是 ATF 二进制文件位于 rkbin repository

1.2 Upstream ATF

从 github 中获取源代码:

git clone https://github.com/ARM-software/arm-trusted-firmware.git

2 支持设备

Upstream ARM Trusted Firmware 支持 Rockchip SoCs:


3 构建ATF

此处使用 mk-atf.sh 脚本来构建 ATF。

$ cat mk-atf.sh 

#!/bin/bash

make realclean

CFLAGS='-gdwarf-2' \
CROSS_COMPILE=aarch64-linux-gnu- \
make PLAT=rk3399 DEBUG=0 ERROR_DEPRECATED=1 bl31

因为 RK3399 ATF 中有一个 cortex-M0 的代码,因此需要一个编译器。安装方法:

sudo apt-get install gcc-arm-none-eabi

可以在构建完成后得到 bl31.elf bl31.bin 。

注意:最新版本的ATF(包括 rockchip 版本和 upstream 版本)bl31.elf 代替了 bl31.bin,bl31.bin 现在不可用。


4 安装ATF

4.1 使用U-Boot SPL FIT镜像

复制 trust 二进制文件( optee.bin 或 bl31.elf )的目录,并将其重命名为 tee.bin(armv7)或 bl31.elf(armv8)。使用下面的命令来获得 u-boot.itb:

make u-boot.itb

输出 u-boot.itb 是一个包括 u-boot-nodtb.bin , board.dtb 与可以通过 SPL 加载的 trust 二进制文件。

4.2 使用Rockchip miniloader

或者,可以使用 Rockchip miniloader 和 U-Boot,这不需要 SPL。

ATF 是由 miniloader 加载的,因此应该将其打包为 miniloader 的已知格式:

trust_merger rk_tools/RKTRUST/RK3399TRUST.ini trust.img

根据分区定义,在地址偏移 0x6000 处写入 trust.img。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值