目前正在调试spi nand,发现同样的一段引导代码(大小是2k),放在norflash上能跑,放在nand 上不反应,确定是没运行。目前用的是w25n01g。根据spi flash读写说明,winbond的nand和nor读命令是一样的啊。
离线
brom 加载 spl 部分考虑到兼容性, page size 强制到 1k, 你按每page只写1k试一试。
谢谢晕哥的提点,我将2k的代码分成两份,1k放在第0页,另外1k放在第1页,还是没引导。brom是根据什么来判断是从nand还是从nor引导呢?
离线
首先, 你确认写进去了?
这个比较了,写成功了的。
离线
启动后还是进入 fel 模式?
是啊,是啊
离线
https://whycan.cn/files/members/3/QQ20180919170350.png
除了1k之外,起始地址问题,应该是不同flash,地址到page的map不一样
spl也不能超过18k
brom引导时默认哪个page(page address)开始读呢
离线
gd这个我试的是224个page开始
奇怪哦,是不是得有个MBR啊
离线
晕哥 说:gd这个我试的是224个page开始
奇怪哦,是不是得有个MBR啊
晕哥你的gd片子上有文件系统吗,还是原始裸片啊
离线
你先把spl烧进去,别烧整个u-boot进去, 芯片内部的brom只加载spl.
我就烧了2kB的代码,只想看看它的机制是如何的.
离线
晕哥 说:你先把spl烧进去,别烧整个u-boot进去, 芯片内部的brom只加载spl.
我就烧了2kB的代码,只想看看它的机制是如何的.
看不到规范真是难受。
离线
分析一下 BROM 的二进制代码, 看有没有帮助.
没下载到那牛逼的ida
离线
ida下载: https://whycan.cn/t_440.html
感谢晕哥提供的强大的工具,看了一天,终于坚定信心搞定了。发现v3s brom从32页开始读,没发现魔术字便跳到下一个32页,32,64,96...直到256。终于明白前面那老兄放在224页能行了。
离线