NAND 和 NOR对比
NOR | NAND | |
---|---|---|
接口 | RAM-Like,引脚多 | 引脚少,复用 |
容量 | 小 1M 2M… | 大 512M 8G… |
读 | 简单 | 复杂 |
写 | 发出特定命令,慢 | 发出特定命令,快 |
价格 | 高 | 低 |
XIP(execute in place)在存储芯片上直接运行 | 支持 | 不支持 |
优缺点比较 | 无位反转,无坏块(存储关键信息bootloader) | 位反转,坏块(视频音频等) |
有地址线数据线,片选,可以像内存一样读,不能像内存一样写所以数据不易被破坏。而nand flash数据线传输cmd、data、addr。
开发板设置nand启动,nor启动。
从nand启动,那么cpu的0地址对应片内的4K sram,而nor不可见。
从nor启动,那么0地址就是nor。
uboot测试nor flash
使用openJTAG烧写uboot到nor flash,从nor启动开发板,
1. 读数据
md.b 0
2. 读ID
NOR手册上:
在地址555H写AH
在地址2AAH写55H
在地址555H写90H (前两步解锁,这一步发命令)
读0地址得到厂家ID:C2H
读1地址得到设备ID:22DAH或225BH
退出读D状态:给任意地址写F0H
UBOOT怎么操作:
2440的A1接到NOR的A0,所以2440发出(555h<<1),NMORオ能收到555h这个地址。
(CPU总认为一个地址对应一个Byte,而16位宽的nor一个地址对应两个Byte,所以CPU A0不接)
往地址AAAH写AAH mw.w aaa aa
往地址554写55H mw.w 554 55
往地址AAAH写90H mw.w aaa 90
读0地址得到厂家ID:C2H md.w 0 1
读2地址得到设备ID:22DAH或225BH md.w 2 1
退出读ID状态: mw.w 0 f0
nor数据手册MX29LV160DBTI,往任意地址写F0复位;可以配置位宽,word(16)或者byte(8)。
3. CFI接口(commom flash interface)读取nor的信息电压容量时间参数
通用的norflash接口,CFI。
2440的A1接到NOR的A0,所以2440发出(555h<<1),NMORオ能收到555h这个地址。
进入CFエ模式 往AH写入98H mw.w aa 98
读数据 读20H得到0051 md.w 20 1
读22H得到0052 md.w 22 1
读24H得到0059 md.w 24 1
退出CFI模式 mw.w 0 f0
4. 写数据
这样直接写不对,,,需要先进入program模式,
md.w 100000 1 读1M地址的数据,因为uboot在1M以内
mw.w 100000 1234 往1M地址写入,(nor不能直接写,写入不了)
md.w 100000 1 没有变化,不能像内存一样写入
根据数据手册,如何进program模式,
NOR手册:
往地址555H写AAH
往地址2AAH写55H
往地址555H写AOH
往地址PA写PD2440的
A1接到MOR的A0,所以2440发出(555h<1),MoR才能收到555h这个地址.
UBOOT怎么操作:
往地址AAAH写AAH mw.w aaa aa
往地址554H写55H mw.w 554 55
往地址AAAH写AOH mw.w aaa a0
往地址0x100000写1234h mw.w 100000 1234