NOR FLASH(存放U-BOOT、内核) | NAND FLASH(存放视频、文件系统等大文件) | |
接口 | RAM-LIKE,引脚比较多 | 引脚比较少,复用 |
容量 | 小,大多是1M/2M/32M等 | 大,有128M/256M等 |
读 | 简单 | 复杂 |
写 | 发出特定的命令(慢) | 发出特定的命令(快) |
价格 | 贵 | 便宜 |
特点 | 无位反转、无坏块 | 有位反转,会出现坏块 |
XIP | 可以 | 不可以 |
1.读命令:
格式:md.w 地址 字节数
例子:md.w 20 1 (读0x20一个字节。得到0051)
2.写命令:
格式:md.w 地址 数据
例子:md.w aa 98(往0xaa写入98H)
3.需要注意的地方:
(1).2440的A1引脚接到的NOR为A0,所以2440发出(555h << 1),NOR才能收到555h这个地址。
(2).在Nor Flash中写数据,前提是,写入地址对应的数据全为f,否则,会发生错误。故正确的写数据顺序应该为:先擦除后烧写。
(3).U-BOOT对于NOR FLASH的操作流程大概是:先解锁,进入读id状态,再读信息,退出读id状态之后,才能进行写操作。
(4).U-BOOT对于NAND FLASH的操作流程大概是:先选中引脚,发命令、发地址、读第一个数据、读数据得到device code。
由图可知,NAND FLASH和2440之间只有数据线,如何完成传输地址、命令、怎么让它们互不干扰?
(1).DATA0~DATA7既传输地址,又传输命令。主要是通过引脚的高低电平:ALE、CLE、RnB
(2).ALE管地址,CLE管命令,ALE和CLE配合管数据
ALE为高 | 地址 |
CLE为高 | 命令 |
ALE和CLE为低 | 数据 |
(3).通过RnB引脚的状态来判断烧写状态,若RnB为高电平,烧写就绪,反之,正在烧写
5 篇文章
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!