主题 : 建议友善从IROM加载Nandflash 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 9192
精华: 0
发帖: 19
金钱: 95 两
威望: 19 点
贡献值: 0 点
综合积分: 38 分
注册时间: 2009-09-20
最后登录: 2020-11-02
楼主  发表于: 2011-08-12 09:44

 建议友善从IROM加载Nandflash



从友善的硬件电路设计上看,和mini2440一样。都是采用cpu本身的硬件机制,加载Nandflash前面的4K代码到steppingstone,steppingstone映射到0x0000_0000,从而达到从Nandflash启动的目的。

但是当使用MLC的时候,这个机制就有很大风险,可能导致的问题是,系统有时不能启动。
原因有
1 MLC不像SLC那么稳定,
2 直接从Nandflash启动,是没有ECC校验的。

如果从IROM启动,再通过IROM加载Nand,这时nand加载是带8位的ECC校验的,那就安全多了。

当然,这样友善生产就很麻烦了,不同的大小的Flash,就有不同的电阻跳线设置。

自由,自强,共享,共创。
级别: 论坛版主
UID: 12573
精华: 27
发帖: 8838
金钱: 46490 两
威望: 9298 点
贡献值: 27 点
综合积分: 18216 分
注册时间: 2010-01-09
最后登录: 2019-07-16
1楼  发表于: 2011-08-12 09:58
本来就是从IROM启动的,现在还有哪款高级CPU不是从IROM启动的吗?
除了JTAG调试或许经过某种设置,直接进入纯粹的裸机模式,其他任何启动方式都必定要经过IROM,包括2410,2440,6410,210等都是这样。

IROM在2410/2440手册中没有提及,那是因为那时的功能比较简单,2416/2450/6410/210等就变得功能多了。
新手如何向我们反馈有效的信息,以便解决问题,见此贴:
http://www.arm9home.net/read.php?tid-14431.html

[注]: 此处签名链接仅为指引方向,而非解答问题本身.
自由,自强,共享,共创。
级别: 论坛版主
UID: 12573
精华: 27
发帖: 8838
金钱: 46490 两
威望: 9298 点
贡献值: 27 点
综合积分: 18216 分
注册时间: 2010-01-09
最后登录: 2019-07-16
2楼  发表于: 2011-08-12 21:00
无论从什么设备启动,都是由irom控制裁决的。


好像6410有一篇专门的irom说明文档,你可以找找看看

6410 NAND flash最初加载的是8k

所有NAND flash出厂时必须保证block 0是好的,至于那8k ecc问题,出错的概率和出门遇到车祸差不多。凡是终端产品都会烧固件检测的,因此有问题的根本不会流到用户手中。

如果实在要保险,可以配合nor + nand的方式
新手如何向我们反馈有效的信息,以便解决问题,见此贴:
http://www.arm9home.net/read.php?tid-14431.html

[注]: 此处签名链接仅为指引方向,而非解答问题本身.