NAND flash文件系统 收藏
	
    
    
	NAND flash文件系统
     目前flash的文件系统比较多,用的比较多的就是JFFS2文件系统。基于NOR flash上的JFFS2文件系统可以说算是比较成熟了,支持NAND flash的JFFS2也已经发布了。源代码可以到http://www.linux-mtd.infradead.org上面下载。但是在我的测试过程中,在nand flash上挂接的JFFS2文件系统很不稳定,经常有CRC错误产生。特别是进行写操作的时候,每次复位都会产生CRC错误,可以说支持NAND flash的JFFS2文件系统目前还不成熟。而YAFFS文件系统则是专门针对NAND flash的,源代码可以到
http://www.aleph1.co.uk/yaffs/index.html上下载。在测试过程中稳定性能比JFFS2文件系统要稳定的多,而且mount分区的时间也比JFFS2文件系统少的多。用JFFS2 mount一个2m的文件系统大约需要1s。下面分别介绍在uclinux下面使用JFFS2和YAFFS文件系统。
1、JFFS2
到http://www.linux-mtd.infradead.org上面下载最新的MTD和JFFS2压缩包。压缩包里面还有有关的内核补丁和一些MTD的相关工具。主要的补丁就是ilookup-2.4.23.patch,因为最新的MTD驱动中要用到一个ilookup()函数。打完补丁、更新了MTD驱动和JFFS2文件系统之后就开始写自己nand flash驱动了。如果不想把JFFS2作为根文件系统的话,还需要修改MTD_BLOCK_MAJOR。驱动可以参考里面的例子,最简单的就是参考spia.c。
写驱动主要工作是定义flash分区结构、定义flash读写地址、写控制flash的**_hwcontrol()函数。具体的操作要看所用的nand flash的芯片资料。相对NOR flash来说驱动要简单多了。:)
改完之后再配置
 Memory Technology Devices(MTD)下
   CONFIG_MTD=Y
    CONFIG_MTD_DEBUG=Y
     CONFIG_MTD_DEBUG_VERBOSE=3 
     CONFIG_MTD_PARTITIONS=Y
     CONFIG_MTD_CHAR=Y
     CONFIG_MTD_BLOCK=Y  
  NAND Flash Device Drivers下
   CONFIG_MTD_NAND=Y
   定义自己的驱动文件 
 File systems下
  CONFIG_JFFS2_FS=Y
    CONFIG_JFFS2_FS_DEBUG=2
  CONFIG_JFFS2_FS_NAND=y /*这个是新加的*/
在uClinux v1.3.4 Configuration下
 Flash Tools下
  CONFIG_USER_MTDUTILS=Y
    CONFIG_USER_MTDUTILS_ERASE=Y
    CONFIG_
    
     
	
	
    
    
	相关文档:
        
    
     
NAND Flash 的数据是以bit 的方式保存在memory cell,一般来说,一个cell 中只能存储一个bit。这些cell 以8 个或者16 个为单位,连成bit line,形成所谓的byte(x8)/word(x16),这就是NAND Device 的位宽。这些Line 会再组成Page.
(Nand Flash 有多种结构,我使用的Nand Flash 是K9F1208,下面内容针对三星的K9F1208 ......
	
    
        
    
    
 这个程序是从2.0 改过来的,是网上一个程序,只是修改了一些内容,变成这种情况。这几天没有写程序,有点懒惰。于是今天又补充这种不错的应用。这个程序采用的是绘图API 最基本的绘制线,但是对其进行一些修改,使他产生上面的效果。漂亮不?呵呵,我都觉几漂亮,
作为绘图API 一个内容补充吧。
好,闲话不说。看 ......
	
    
        
    
    
var loader:URLLoader = new URLLoader();
loader.addEventListener(ProgressEvent.PROGRESS, handleProgress );
event:ProgressEvent     event.bytesLoaded/event.bytesTotal
var streamer:URLStream = new URLStream( );
streamer.addEventListener( ProgressEvent.PROGRESS, handleProgress  ......
	
    
        
    
    flash测试有个麻烦的事情总是要清缓存
后来发现IE有设置可以每次取最新的
打开internet选项
浏览历史记录 下点设置
然后在 检查所存网页的较新版本 设置为 每才访问网页时
这样设置以后 有更新的话 ie 就能自动取最新的了,以后就不需要清缓存了,方便了很多啊 ......