首页 相关文章 高手进阶Linux系统下MTD/CFI驱动介绍

高手进阶Linux系统下MTD/CFI驱动介绍

因为前不久作了些关于FLASH编程方面的东西,加上看了Linux下MTD/CFI代码,感觉收获不小,就准备记个笔记,没想到竟然花了半天时间才写好。

  某些Intel的FLASH芯片(如StrataFlash系列)支持多分区,也就是各个分区可以同时进行操作。应该说这是不错的特性,但是也会带来些问题。记得当初移植Linux-2.4.21,挂JFFS2文件系统的时候,经常会报一些"Magic bitmask not found"之类的错误,跟进去发现FLASH读出来的都是些0x80之类的数据,查看资料发现该款FLASH有分区的特性,而Linux的FLASH驱动只用一个状态变量表示整个FLASH的状态,这就会造成某个分区的实际状态和系统记录的不符,从而导致读FLASH的时候该点实际上不处在读状态。当时的解决办法是,每次读的时候,不管记录的状态是什么,先进入读状态再说,当然这会带来性能的下降,具体损失多少个时钟周期就不算了。

  话说进入Linux-2.6.x的时代(具体是2.6.13),除了Lock/Unlock(Linux在擦/写的时候不先Unlock,解决办法就是初始化的时候先全部Unlock)这个老问...[ 查看全文 ]

高手进阶Linux系统下MTD/CFI驱动介绍的相关文章

手机页面
收藏网站 回到头部