基于SEP4O20的Linux NandFlash驅動設計
3.1 NandFlash讀函數的核心代碼
//讀取數據,長度可能為528,512,16;但由于NandFlash的控制器只支持整頁的讀寫和//oob區的讀,而這里發送的命令是讀取數據,所以要整頁讀,數據長度為528。本文引用地址:http://www.j9360.com/article/151948.htm
3.2 NandFlash寫函數的核心代碼
由于NandFlash本身只支持整頁的寫,而不支持直接對oob區的寫操作,而MTD上層需要對oob區進行一系列的操作,因此在對oob進行操作時需要先讀取該頁數據區,并將上層傳送的oob區數據一起組成一整頁,然后才能寫入NandFlash。
4 結束語
本文以NandFlash芯片的特點入手,分析了LinuxMTD層架構及優點,給出了基于SEP4020微處理器的NandFlash驅動設計,并利用SEP4020內置的dma技術,提高了對NandFlash的讀寫速度。根據實驗表明,本文實現的NandFlash驅動提供的平均讀寫速度穩定在250kB/s,這樣的速度在一般的嵌入式應用中已經足夠。
評論