FatFs源码阅读笔记

 FatFs就不介绍了,这里使用的版本是0.07e。

 1. f_mount函数比较简单,使全局FATFS对象指针指向fs,并使fs->fs_type=0。

 2. f_open函数

  • NAMEBUF(sfn, lfn) 调用NAMEBUF这个宏定义创建保存短文件名的数组,如果使用长文件名则将lfn指向长文件名数组。
  • chk_mounted 检查文件系统,读取文件系统参数。
    • 在路径中找设备号,默认为0。
    • 支持重入添加锁定信号量,初始化磁盘等操作。
    • 调用check_fs 在FAT引导扇区查找文件系统类型,fat16和fat32都返回0;如果没有找到返回1则在0号扇区查找分区表,根据分区表中的分区起始扇区地址再重新调用check_fs函数。
    •  从FAT引导扇区中读fat表大小扇区数,fat表个数,fat表起始扇区=FAT引导扇区偏移量+保留扇区数,每簇扇区数,根目录最多可容纳的目录项数(fat16通常为512,fat32为0),文件系统扇区总数,最大簇数,根目录簇号,数据区开始扇区,文件系统类型等。
  • follow_path 跟据路径找到文件所在目录,将文件父目录扇区读入文件系统缓冲区,读取文件目录项的信息;调用了create_name、dir_find函数。
  • 如果文件不存在,并且支持创建新文件,则调用dir_register创建新文件;如果文件存在,将文件父目录的目录项中记录文件起始簇号的字节清0,再调用remove_chain将fat表中该簇对应的项清0;调用move_window确保读入文件父目录扇区到缓冲区。
  • 将DIR对象的相关信息写到FIL对象中。

Posted by jie.lee 2010年4月28日 17:34


WEB开发在线工具收集

OctaGate SiteTimer 网站在线测速。
Web Page Analyzer 网站页面速度测试,告诉你什么影响了你页面速度,提供报告。
Pingdom Tools 测速结果详细直观,可以对整个页面测速,还可以Ping和Traceroute,推荐。
HostTracker 又一个在线测速,提供各个地区的测试结果。

Online CSS Optimizer css在线压缩。
CleanCSS css格式化跟压缩工具。
Compress Your JavaScript JS在线压缩工具。

IENetRendere 免费提供IE5.5 IE6 IE7 IE8浏览器测试。
Browsrcamp 免费提供Mac OS X browsers浏览器测试,其它收费。
Browsershots几乎提供所 有的浏览器测试,不过每天同一个域名只能免费测试一次(一次测试可以选多种浏览器),等待图片生成要几十分钟。

GZIP Test 测试一个URL地址是否支持GZIP传输,以及压缩比率。
HTTP Analysis 包含很多测试工具,如测试GZIP、是否Cache等,推荐。
Cacheability Test: 测试一个页面是否可Cache。
CSS Sprites Generator 生成CSS Sprites图。
ajaxload.info生成各种效果的 loading动画图。

WebShotsPro 网页在线截图,提供各种大小的图片。
Thumbalizr 功能同上,不过中文乱码。

 

后来发现这里有更多http://www.javaeye.com/news/12382

 

Posted by jie.lee 2010年4月25日 23:38


hello world

welcome to here.

一直苦于没有好的博客空间,偶然发现了这里,太好了,感谢xx,感谢xx,感谢is-programmer.com。

Posted by jie.lee 2010年4月24日 20:02