龙芯开源社区

 找回密码
 注册新用户(newuser)
查看: 6030|回复: 8

关于HS3210芯片NAND-FLASH启动

[复制链接]
发表于 2009-4-18 23:51:24 | 显示全部楼层 |阅读模式
前几天看HS3210的芯片手册,发现不能从NAND-FLASH启动,需要外扩一片NOR-FLASH,这就增加了系统成本和故障率

而三星的S3C2410可以,手册说是硬件时序读取NAND-FLASH的前4K(Bootloader)到RAM,然后从RAM启动

个人觉得这条信息不可靠,怀疑是用来迷惑对手的烟雾弹时序不是硬件电路的强项,需要一大堆的锁存器,而且不同厂商不同系列的NAND时序差异还不小,所以硬件时序读取NAND的技术难度和成本都不低

而如果在SOC芯片内集成一小段ROM,不管是否可以重复擦写的,直接固化一小段更底层的Boot程序来读取NAND前4K,在技术难度和成本上都容易实现

[ 本帖最后由 1123345 于 2009-4-18 23:59 编辑 ]
发表于 2009-4-24 12:58:21 | 显示全部楼层
三星的S3C24x0都可以从NAND-FLASH启动
我可以证实
发表于 2009-4-24 14:35:46 | 显示全部楼层
原帖由 1123345 于 2009-4-18 23:51 发表
前几天看HS3210的芯片手册,发现不能从NAND-FLASH启动,需要外扩一片NOR-FLASH,这就增加了系统成本和故障率

而三星的S3C2410可以,手册说是硬件时序读取NAND-FLASH的前4K(Bootloader)到RAM,然后从RAM启动

...


火星来的吧
jz 的片子也可以
发表于 2009-4-24 16:04:12 | 显示全部楼层
》》手册说是硬件时序读取NAND-FLASH的前4K(Bootloader)到RAM,然后从RAM启动
nor-flash是片上执行,nand-flash不行,要先读出来,在执行。
 楼主| 发表于 2009-4-24 23:40:00 | 显示全部楼层
原帖由 guobamantou 于 2009-4-24 16:04 发表
》》手册说是硬件时序读取NAND-FLASH的前4K(Bootloader)到RAM,然后从RAM启动
nor-flash是片上执行,nand-flash不行,要先读出来,在执行。

就说的读出NAND那一步,3210还没有支持,还必须外挂NOR
发表于 2009-4-26 20:04:32 | 显示全部楼层
唉,我说怎么要2片rom,原来是这个原因
发表于 2009-4-29 13:24:05 | 显示全部楼层

S3C是内部有ROM

不过Nand Flash 1G的才15元,而且还是正规渠道买的。
Nor的几M就这个价格了。。。。。

Nand 的坏块管理确是一个软件上的麻烦了一些。
硬nand boot的代价也是比较大的,要四个配置引脚来适合不同的nand。
发表于 2009-7-13 20:14:21 | 显示全部楼层

回复 5# 的帖子

三星的ARM s3c24x0 芯片内部有额外4k 缓存硬件,所谓steppingstone技术,就是靠这个东东才能够从NAND-FLASH 加载前 4K 的数据,并执行之。在这4K的数据中,可以是这样的指令代码:即 “拷贝NAND-FLASH 的 bootloader 指令到RAM 某地址开始处“ ,然后CPU 跳转到RAM 某地址处执行。这就是三星的ARM9 芯片能从NAND-FLASH 执行代码的原因。
发表于 2009-7-14 12:32:53 | 显示全部楼层
所谓steppingstone技术,说白了就是在SoC中做了一个ROM,
ROM中的代码有以下两个主要功能:
1. 初始化 NAND FLASH Controller
2. 把NAND FLASH中的前4K代码拷贝到内建的SRAM(映射至Bank0), 并执行;

注意:并不是所有的NAND都能支持
要符合两点:
1. Page Size为512B(6400可以支持更大的Page Size)
2. 3 or 4 step addressing

所以,要实现从NAND FLASH启动不是一件难事,关键看IC设计厂商有没有用心

本版积分规则

Archiver|手机版|小黑屋|Lemote Inc.

GMT+8, 2020-9-27 09:38 , Processed in 0.161597 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表