rk系列U-BOOT移植

RK 系列启动与 U-Boot 打包概述(OK3506 适配说明)

本文总结 RK 系列 SoC 的典型启动流程、常见镜像格式与打包方法,结合 OK3506(RK3506,ARMv7)移植的实际经验给出要点与注意事项。

1. 启动阶段(简要)

Rockchip 引导通常分 5 个阶段(示意):

  • BL1(ROM) — SoC 上电后执行的内部 ROM。
  • BL2 / SPL(pre-loader / TPL) — 初始化 DRAM、外设并加载主 U‑Boot。
  • BL31(EL3 runtime)/ OP-TEE(可选) — 安全监控与运行时服务(ARMv8)或 TEE(ARMv7 下为 tee.bin)。
  • BL33(U‑Boot) — 主引导程序,负责加载 kernel/fit 等。
  • Kernel / Rootfs — 正式引导 Linux。

OK3506 为 ARMv7,仅需 tee.bin 作 Trusted OS;ARMv8 平台还会有 bl31/bl32 等。
在这里插入图片描述

下图可以清晰的展示基于ARMV8的启动方式,在boot中是需要bl1,bl2,bl31,bl32的,在实际的uboot.fit中也会加入安全启动内容。但是要注意的是我用的rk3506的ARMv7的,所以只有安全启动的tee.bin,没有其他内容。
在这里插入图片描述

2. 常见镜像类型(RK 平台)

  • kernel.img / zImage:内核。
  • resource.img:DTB + logo 等资源(用于 RK/Android 格式与 FIT)。
  • boot.img(RK 格式或 Android 格式):可包含 kernel + ramdisk + resource + DTB。
  • u-boot.itb / u-boot.img:主 U‑Boot(含 ATF/TEE 时为 itb 格式)。
  • trust.img:ATF/TEE(仅在需要时)。
  • amp.img:多核异构系统下的 AMP 固件。

引导优先级通常:android > rk > distro(distro 为通用 FIT/文件系统加载方式)。
在这里插入图片描述
rk系列实际上支持三种固件制作方式,可以看下面。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
还有两种uboot的格式。
在这里插入图片描述

3. FIT / ITS 打包

  • .its 文件是 FIT 的源描述(images、configurations)。
  • 打包用工具:建议使用源码树中编译的 …/u-boot/tools/mkimage,系统包 mkimage 常缺少 FIT 支持。
  • 常见约定地址(示例,从板上日志确认):
    • kernel load/entry: 0x01100000
    • fdt load: 0x00063000
  • device/rockchip 的 mk-fitimage.sh 会用占位符(0xffffff00/0xffffff01)替换为合适地址,通常不用手工硬编码。

示例 .its(核心字段)请保证 images 节点与 configurations 引用一致(使用 @1 单元名并在 configuration 中以字符串引用 “kernel@1”)。

4. partition / parameter.txt

  • parameter.txt(或 GPT)定义闪存分区起始扇区与大小,SPL 和 U‑Boot 在不同阶段使用该信息。
  • SPL 有时会硬编码默认偏移(例如 0x2000/0x4000),确保 SPL 的配置(CONFIG_MTD_BLK_U_BOOT_OFFS 等)与 parameter.txt 一致,或将正确的 parameter.txt 烧录到扇区 0。
  • 使用 rkdeveloptool 时,若 SPL 未读取 partition 信息,需按 LBA(扇区)写入(例如:wl 0x4000 u-boot.itb)。

5. resource.img 与验证(Verified Boot)

  • resource.img 常包含签名/哈希信息,U‑Boot 验证 FIT 时会查 resource(日志中显示 resource: sha256+)。
  • 若启用 verified boot,确保同时烧录 resource.img 与对应的 FIT/u-boot,否则校验失败。

对于有大小核的情况来说,还需要制作amp.img
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值