浅谈对OneNAND的认识

       OMAP35x EVM的板子有两种不同的memory配置,一种是采用Samsung Memory,而另外一种采用的是Micron Memory,今天看了下我的板子,是属于后者,配置是128Mbytes DDR+256Mbytes NAND Flash,前者配置的区别在于采用的是OneNAND。

       OneNAND是我第一次接触,有必要了解下,提这个之前先得了解NOR Flash和NAND Flash的区别,两者在读写速度,密度,成本,使用寿命等方面各有千秋,与NOR Flash相比,NAND Flash的读数据速度稍慢,但是擦写速度快得多,并且在容量、使用寿命、成本上也占有较大优势。NOR Flash的编程简单,而NAND Flash的编程较为复杂。NAND Flash一般用于存储数据,而NOR Flash一般用于存储启动代码。

图1  OneNAND Flash结构及硬件结构


        NOR Flash带有SRAM接口,有足够的地址引脚来寻址,可以很容易地存取其内容的每一字节(有限的地址引脚是限制其容量的因素之一)。NAND Flash使用复杂的I/O口来串行地存取数据,各个产品或厂商的方法可能各不相同。为了弥补NAND Flash的不足,三星公司在NAND Flash芯片内集成了一个RAM接口,命名为OneNAND Flash,这类Flash拥有与NOR Flash相同的简单接口,而且不受地址引脚的限制,即容量与地址引脚无关。

       其实OneNAND 其实就是采用了NOR的接口,NAND的架构,是两者的性能得到了综合。这就有了X-LOADER的产生,以前我们接触到的都是BOOTLOADER,其实这个X-LOADER也起到初始化的作用,因为我们的BOOTLOADER是放在NAND的架构下的,而CPU却是从NOR的接口下读取BOOTLOADER到SDRAM中的,所以现在要做一个工作就是要如何将BOOTLOADER在OneNAND的架构下从NAND复制到SDRAM中,这就是X-LOADER的功能了,它不仅初始化OneNAND,并且把U-BOOT从NAND的架构下复制到BufferRam中,再复制到SDRAM中。X-LOADER还支持从SDMMC下引导Uboot,他在CPU下有对MMC的初始化程序,可以直接把uboot.binMMC下复制到SDRAM中。说到底这个X-LOADER就是起到初始化OneNAND和引导U-BOOT的作用

你可能感兴趣的:(浅谈对OneNAND的认识)