NOR Flash 和 NAND Flans启动的说明

来源:互联网 发布:pc6软件下载中心 编辑:程序博客网 时间:2024/04/26 18:49

    严格说NOR flash有自己的数据和地址总线,因此可以采用类似RAM的随机访问,因此是可以直接在它上面运行程序的,因此NOR flash是可以用来boot的。这种片上运行叫做execute in place即EIP。
    NAND flash的采用了i/o方式读取,他只有8位的数据地址共用的总线,因此需要软件去控制读取时序,因此不能像NOR flash那样直接连到地址和数据总线上,即不能像内存那样访问,因此不能EIP,因此不能直接作为boot之用。
    而像s3c2410之所以可以将loader代码烧在NAND上从而boot,是由于s3c2410有一个内置的SRAM,叫做stepping stone.当加电后,可以自动将NAND的起始4k的内容拷贝到SRAM里,然后在RAM里执行,将NAND里的代码拷贝至SDRAM.也就是说我们就可以将一个小于4k的loader烧至NAND flash上就可以了。
    此外还可以不采用这种功能,而是将loader代码烧在另外的ROM里,直接在ROM里运行loader将代码由NAND拷贝至SDRAM。
    此外还有一种技术叫code shadowing,代码影射,即加电后自动将NAND的前面代码拷贝到SDRAM里,这种机制可以用软件或者硬件来实现。如果用软件,那么就需要有个ROM来保存执行code shadowing的代码,此时这就跟上面的在ROM里面保存loader的意义相似了。如果用硬件来实现code shadowing也可以,就需要真正的电路来实现。
    一般来说,如果有NOR flash我们就用NOR flash比较好,可以EIP.
    NOR flash本来就是适合做代码存储并EIP的,读取速度快吗。NAND本来就是适合用来作大量数据存储的。

原创粉丝点击