NAND
读
读取速度快。
NAND Flash有严格的时序要求,需要按照特定时序对NAND FLASH进行读操作。
CPU无法直接对NAND Flash数据进行寻址,需要通过专门的NAND Flash控制器实现数据读取,具体操作为:向特定的NAND Flash控制器(函数)发送读命令->发送地址->判断NAND Flash是否就绪->读取。
数据读命令、发送地址、判断状态、读数据需要通过操作寄存器实现。
相关寄存器:NFCONF:配置寄存器,NFCONT:控制寄存器,NFCMD:命令寄存器,NFADDR:地址寄存器,NFDATA:数据寄存器,NFSTAT:状态寄存器。
写
NAND Flash有严格的时序要求,需要按照特定时序对NAND FLASH进行写操作。
CPU无法直接对NAND Flash数据进行寻址,需要通过专门的NAND Flash控制器实现数据写入,具体操作为:向特定的NAND Flash控制器(函数)发送写命令->发送地址->判断NAND Flash是否就绪->写入。
数据写命令、发送地址、判断状态、读数据需要通过操作寄存器实现。
相关寄存器:NFCONF:配置寄存器,NFCONT:控制寄存器,NFCMD:命令寄存器,NFADDR:地址寄存器,NFDATA:数据寄存器,NFSTAT:状态寄存器。
写入速度较快,写之前需要擦除,因此写只能是1–>0,擦除可以使0->1。
擦除
快(3ms),擦除单元以块为单位
XIP
不可片内运行
可靠性
较低,位反转比较常见,必须有校验措施
接口
I/O接口
可擦除次数
100000-1000000
容量
大,16MB-512MB
价格
低
NOR
读
读取速度快。
可随机访问任意地址的数据。
写
可直接寻址写入
写入速度较慢,写之前需要擦除,写只能是1->0,擦除可以使0->1。
擦除
非常慢(5s)
XIP
可片上运行
可靠性
较高,位翻转的比例小于NAND Flash的10%
接口
与RAM接口相同,地址和数据总线分开
可擦除次数
10000-100000
容量
小,1MB-32MB
主要用途
用于保存代码和关键数据
价格
高