Flash Rom 的种类
- NOR FLASH 地址线和数据线分开,来了地址和控制信号,数据就出来。
- NAND Flash 地址线和数据线在一起,需要用程序来控制,才能出数据。
通俗的说,只给地址不行,要先命令,再给地址,才能读到 NAND 的数据,在一个总线完成的。
结论是: ARM 无法从 NAND 直接启动。除非装载完程序,才能使用 NAND Flash
- NAND FLASH 本身是连接到了控制器上而不是系统总线上。 CPU 启动后是要取指令执行的,
如果是 SROM、 NOR FLASH 等之类的, CPU 发个地址就可以取得指令并执行, NAND FLASH
不行,因为 NAND FLASH 是管脚复用,它有自己的一套时序,这样 CPU 无法取得可以执行的
代码,也就不能初始化系统了。 - NAND FLASH 是顺序存取设备,不能够被随机访问,程序就不能够分支或跳转,这样你如何
去设计程序。
- NAND FLASH 本身是连接到了控制器上而不是系统总线上。 CPU 启动后是要取指令执行的,
在 2440 中为什么可以配置成从 Nand Flash 中启动程序?
- 在 S3C2440 上电后,Nand Flash 控制器会自动的把 Nand Flash 上的前 4K 数据搬移到 4K 内部
SRAM 中,(此内部 RAM 被称为 Steppingstone)并把 0x00000000 设置内部 RAM 的起始地
址,CPU 从内部 RAM 的 0x00000000 位置开始启动。这个过程不需要程序干涉。程序员需要完
成的工作,