Firefly开源社区

[技术讨论] 关于SPL开源方案的疑问

38

积分

0

威望

0

贡献

技术小白

积分
38
发表于 2021-6-30 11:15:03     
仔细阅读了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吗?
回复

使用道具 举报

38

积分

0

威望

0

贡献

技术小白

积分
38
发表于 2021-6-30 11:17:13     
[CHIP_NAME]
NAME=RV1126
[VERSION]
MAJOR=1
MINOR=5
[CODE471_OPTION]
NUM=1
Path1=bin/rv11/rv1126_ddr_924MHz_v1.05.bin
Sleep=1
[CODE472_OPTION]
NUM=1
Path1=bin/rv11/rv1126_usbplug_v1.17.bin
[LOADER_OPTION]
NUM=2
LOADER1=FlashData
LOADER2=FlashBoot
FlashData=bin/rv11/rv1126_ddr_924MHz_v1.05.bin
FlashBoot=./tmp/u-boot-spl.bin
[OUTPUT]
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
都是做什么用的,没有找到官方的说明文档。
回复

使用道具 举报

1万

积分

14

威望

13

贡献

管理员

Rank: 9Rank: 9Rank: 9

积分
11138

优秀版主

发表于 2021-7-1 09:16:23     
腺嘌呤 发表于 2021-6-30 11:17
[CHIP_NAME]
NAME=RV1126
[VERSION]

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

使用道具 举报

38

积分

0

威望

0

贡献

技术小白

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

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

使用道具 举报

19

积分

0

威望

0

贡献

技术小白

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

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

使用道具 举报

19

积分

0

威望

0

贡献

技术小白

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

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

使用道具 举报

65

积分

0

威望

0

贡献

技术小白

积分
65
发表于 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 的部分都是封闭的,你也那不到开源的版本
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

友情链接 : 爱板网 电子发烧友论坛 云汉电子社区 粤ICP备14022046号-2
快速回复 返回顶部 返回列表