腺嘌呤 发表于 2021-6-30 11:15:03

关于SPL开源方案的疑问

仔细阅读了NAND FLASH官方文档
《Rockchip_Developer_Guide_Linux_Nand_Flash_Open_Source_Solution_CN.pdf》
文档中描述“Rockchip SDK默认采用闭源的miniloader 加载 trust 和 u-boot,所有存储设备(eMMc NAND/NOR Flash)都以block接口访问,对于想通过MTD 接口访问NAND / NOR Flash的开发者,Rockchip 提供了开源的SPL来加载trust和u-boot,并且在 u-boot中通过MTD接口访问NAND/NOR Fash”。
我理解大概意思是可以通过开源SPL替代闭源miniloader,但是通过研究编译脚本发现,miniloader的生成依赖于RV1126MINIALL.ini文件,通过boot_merger工具拼接生成,所需要拼接的东西如下:
Path1=bin/rv11/rv1126_usbplug_v1.17.bin
FlashData=bin/rv11/rv1126_ddr_924MHz_v1.05.bin
FlashBoot=bin/rv11/rv1126_spl_v1.06.bin
切换开源SPL方案后脚本可以自动将最后一个FlashBoot替换成开源的
FlashBoot=./tmp/u-boot-spl.bin
但是另外两个文件并没有找到开源方案
Path1=bin/rv11/rv1126_usbplug_v1.17.bin
FlashData=bin/rv11/rv1126_ddr_924MHz_v1.05.bin
所以瑞芯微这个开源方案也只是部分开源吗?上述两个所需文件是否也能够开源?或者说有什么方式能够全部开源MiniLoader吗?

腺嘌呤 发表于 2021-6-30 11:17:13


NAME=RV1126

MAJOR=1
MINOR=5

NUM=1
Path1=bin/rv11/rv1126_ddr_924MHz_v1.05.bin
Sleep=1

NUM=1
Path1=bin/rv11/rv1126_usbplug_v1.17.bin

NUM=2
LOADER1=FlashData
LOADER2=FlashBoot
FlashData=bin/rv11/rv1126_ddr_924MHz_v1.05.bin
FlashBoot=./tmp/u-boot-spl.bin

PATH=rv1126_spl_loader_v1.05.106.bin


请问
bin/rv11/rv1126_ddr_924MHz_v1.05.bin
bin/rv11/rv1126_usbplug_v1.17.bin
bin/rv11/rv1126_spl_v1.06.bin
都是做什么用的,没有找到官方的说明文档。

板蓝根 发表于 2021-7-1 09:16:23

腺嘌呤 发表于 2021-6-30 11:17

NAME=RV1126



Rokchicp 没有全开源的,不知道用主线的话可不可以实现。
请问你是出于什么原因需要 ddr 初始化阶段全开源代码呢?

腺嘌呤 发表于 2021-7-1 10:51:41

板蓝根 发表于 2021-7-1 09:16
Rokchicp 没有全开源的,不知道用主线的话可不可以实现。
请问你是出于什么原因需要 ddr 初始化阶段全开 ...

现在预研准备以后商业用途,所以希望全部开源。

wershner 发表于 2022-1-7 22:29:02

腺嘌呤 发表于 2021-7-1 10:51
现在预研准备以后商业用途,所以希望全部开源。

你好,你找到了DDR初始化的源码了吗?可以分享给我吗?感谢

wershner 发表于 2022-1-7 22:33:09

板蓝根 发表于 2021-7-1 09:16
Rokchicp 没有全开源的,不知道用主线的话可不可以实现。
请问你是出于什么原因需要 ddr 初始化阶段全开 ...

主线是什么意思呀?可以讲讲吗?有啥方案可以实现DDR初始化呢?

sprhawk 发表于 2022-8-15 14:48:51

腺嘌呤 发表于 2021-7-1 10:51
现在预研准备以后商业用途,所以希望全部开源。

对于 RK3399, u-boot 的部分是有全开源的版本的,可以从头引导(包括 DDR 初始化),但是我采购的 Rockpi 4B 的版本,大概是因为更换了 DDR4 内存的频率,导致原始的 u-boot 的 spl 不能正确初始化 DDR4。
理论上,DDR4 的部分可以从官方的 ddr 的二进制包中抽出来特定的初始化数据,不过之前尝试并未成功。为了尽快实现产品功能,还是采用了官方的 loader 来加载 u-boot 和 tee 了。因为 DDR 初始化的参数跟 SoC 关系太过紧密,想在没有 原厂支持的情况下来实现,挺有难度(当然,原厂很大可能上不会去积极支持全开源的方案的。

RV11系列的开放程度似乎不如 RK3399 。

PS: 你想用全开源的方案来实现 RV,我猜是想做个开源的开发板?像树莓派那样?RV 的 NPU 的驱动和 Security System 的部分都是封闭的,你也那不到开源的版本
页: [1]
查看完整版本: 关于SPL开源方案的疑问