电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

基于mtd的nand驱动开发本科学位论文

基于mtd的nand驱动开发本科学位论文_第1页
1/46
基于mtd的nand驱动开发本科学位论文_第2页
2/46
基于mtd的nand驱动开发本科学位论文_第3页
3/46
基于 MTD 的 NAND 驱动开发说明 大约用了两个礼拜不到的时间为公司的 IPcamera 系统写了基于 MTD 的 NAND 驱动(linux-2.6.22.10内 核),目前已可以在该驱动的支持下跑 cramfs 和 jffs2 文件系统,另 外,该驱动也可以同时支持small page(每页 512 Byte)和 big page(每页 2048 Byte)两种 NAND 芯片。在此整理一下与 NAND 驱 动相关的概念,结构体,驱动框架和流程,同时分析一下基于 MTD 的 NAND 驱动的部分函数,尤其是其中的 nand_scan()函数。(涉及到具体 NAND 芯片时,若不做说明,将以 small page 的 NAND 芯片为例。) 注:个人理解,有误难免!—— 笔者:曹荣荣 MTD 驱动程序是专门针对嵌入式 Linux 的 一种驱动程序,相对于常规块设备驱动程序(比如 PC中 的 IDE 硬盘)而言,MTD 驱动程序能更好的支持和管理闪存设备,因为它本身就是专为闪存设备 而设计的。具体地讲,基于 MTD 的 FLASH 驱动,承上可以很好地支持 cramfs,jffs2 和 yaffs 等文件系统,启下也能对 FLASH 的擦除,读写,FLASH 坏块以及损耗平衡进行很好的管理。所谓损耗平衡,是指对 NAND 的擦写不能总是集中在某一个或某几个 block 中,这是由 NAND 芯片有限的擦写次数的特性决定的。总之,在现阶段,要为 FLASH 设备开发 Linux 下的驱动程序,那么基于 MTD 的开发将几乎是省时又省力的唯一选择! 一、NAND 和 NOR 的区别 Google “Nand Flash 和 Nor Flash 的区别”。 简单点说,主要的区别就是: 1、 NAND 比 NOR 便宜;NAND 的容量比 NOR 大(指相同成 本);NAND 的擦写次数是 NOR的十倍;NAND 的擦除和写入速度比 NOR 快,读取速度比 NOR 稍 慢; 2、 NAND 和 NOR 的读都可以以字节为单位,但 NAND 的写以 page 为 单位,而 NOR 可以随机写每一个字节。NAND 和 NOR 的擦除都以 block 为单位,但一般 NAND 的 block 比 NOR 的 block 小。另外,不管是 NAND 还 是 NOR,在写入前,都必须先进行擦除操作,但是 NOR 在擦除前要先写0; 3、 NAND 不能在片内运行程序,而 NOR 可以。但目前很多 CPU 都可以在上电时,以硬件的方式先将 NAND 的第一个 block 中的内容(一般是程 序代码,且也许不足一个 block,如 2KB 大小)自动 copy 到 ram 中,然后再运行,因此只要 CPU 支持,NAND 也可以当成启动设备...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

基于mtd的nand驱动开发本科学位论文

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部