SEP4O20的Linux NandFlash驱动设计 02
![Rank: 8](images/default/star_level3.gif) ![Rank: 8](images/default/star_level3.gif)
- UID
- 872238
|
SEP4O20的Linux NandFlash驱动设计 02
3.1 NandFlash读函数的核心代码
//读取数据,长度可能为528,512,16;但由于NandFlash的控制器只支持整页的读写和//oob区的读,而这里发送的命令是读取数据,所以要整页读,数据长度为528.
![](http://embed.chinaitlab.com/UploadFiles_4615/201211/20121103183421983.jpg)
3.2 NandFlash写函数的核心代码
由于NandFlash本身只支持整页的写,而不支持直接对oob区的写操作,而MTD上层需要对oob区进行一系列的操作,因此在对oob进行操作时需要先读取该页数据区,并将上层传送的oob区数据一起组成一整页,然后才能写入NandFlash.
![](http://embed.chinaitlab.com/UploadFiles_4615/201211/20121103183421842.jpg)
4 结束语
本文以NandFlash芯片的特点入手,分析了LinuxMTD层架构及优点,给出了基于SEP4020微处理器的NandFlash驱动设计,并利用SEP4020内置的dma技术,提高了对NandFlash的读写速度。根据实验表明,本文实现的NandFlash驱动提供的平均读写速度稳定在250kB/s,这样的速度在一般的嵌入式应用中已经足够。
转自http://embed.chinaitlab.com/linux/905802_2.html |
|
|
|
|
|