NOR和NAND的操作区别
1. 初始化操作
a.2440没有NOR FLASH控制器,不需要进行初始化操作,2440的地址总线直接与NOR相连(注意2440的bit1连接到NOR的bit0),因此在向NOR发地址的时候需要将地址左移一位发出
b.2440有NAND FLASH控制器,需要对NAND FLASH控制器进行初始化(初始化控制器来设置操作NAND的时序)。
2. 读ID操作时序
a.NOR FLASH可以通过进入CFI模式直接读取芯片相关信息(有一部分信息仍然需要通过发出命令,地址,读取数据)
b.NAND FLASH需要发出命令,地址,然后读取数据
3. 读操作
a.NOR可以像内存一样直接读取,例如读取0地址的值时
volatile unsigned char *p = (volatile unsigned char *)0;
val = *p;
这样便可以读出.
b.对于NAND FLASH需要发出特定命令,地址进行读取数据
NAND FLASH一次读取最少一页数据,即2K的数据
4.写操作
a. NOR在写之前需要进行擦除,擦除之后便可以像内存一样写
b. NAND烧写需要发出特定的命令,同时一次至少会烧写一页,即2K的数据
5擦除操作
a.NOR可以选择擦除某一个扇区或者整个芯片
b.NAND至少擦除一个块,即128K