初级会员

- 积分
- 124
- 金钱
- 124
- 注册时间
- 2013-6-2
- 在线时间
- 16 小时
|
ATK-DLRK3588B 从 TF 卡独立启动自编译 U-Boot SPL 的问题
正点原子技术你们好!
我正在 ATK-DLRK3588B(RK3588,16GB LPDDR4X)上移植自己编译的 U-Boot 2026.10 和 Linux 7.2.9,希望实现完全从 TF 卡独立冷启动,不修改或依赖原厂 eMMC。
目前遇到一个问题,想请教一下。
1. 当前 TF 卡启动镜像
- Sector 64(32KB):idbloader.img,包含 DDR v1.24 和 U-Boot SPL 2026.10
- Sector 16384(8MB):u-boot.itb
- 后续分区:Boot 和 RootFS
idbloader.img 大小为 215040 bytes,以 RKNS 开头。上述内容均已写入 TF 卡,并通过读取校验确认。
2. 实际冷启动现象
插入 TF 卡,上电后 UART 仍然显示:
- DDR V1.13 25cee80c4f cym 23/08/11-09:31:58
- U-Boot SPL 2017.09-g5f53abfa1e-221223
- Trying to boot from MMC2
- Trying fit image at 0x4000 sector
复制代码
随后 SPL 可以读取 TF 卡上的自编译 FIT,相关 hash 校验正确,但在:
- Jumping to U-Boot(0x00800000)
- via ARM Trusted Firmware(0x00060000)
复制代码
之后发生复位循环,无法继续启动。
拔出 TF 卡后,原厂系统可以从 eMMC 正常启动。
3. 想请教的几个问题
此前技术支持确认,这块板子默认插入 TF 卡就能独立启动,不需要经过 eMMC。
因此想进一步确认:
1. BootROM 是否会直接从 TF 卡 sector 64 加载 DDR 初始化固件及 SPL?还是存在其他启动机制?
2. TF 卡已经写入自编译 SPL 2026.10,为什么 UART 仍然显示原厂 DDR v1.13 和 SPL 2017.09?是否可能是 BootROM 未能识别当前的 idbloader.img?
3. 对于这款核心板,自编译 U-Boot SPL 在 DDR 固件版本、IDBLoader 打包格式及加载位置方面,有没有特别要求?
4. 是否有官方已验证的、完全从 TF 卡独立启动 U-Boot 的镜像制作方法,可以作为对照?
目前暂时没有修改过原厂 eMMC,也希望尽量保持原厂固件不变。
想先确认问题出在 BootROM 加载、IDBLoader 封装,还是 DDR/SPL 兼容性方面,再进行下一步测试。
谢谢! |
|