4413|1

84

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

lm3s8962读SD卡学习之文件系统初识~ [复制链接]

这次试用lm3s8962评估套件的首要任务就是学习SD卡读写的过程,要读写SD卡,首先得有一个文件系统,以我现在的菜鸟水平,自己写个文件系统是不太可能的,所以就主要学习移植文件系统~先交代一下我的硬件和开发工具:手机里的普通的miniSD卡,128MB,lm3s8962评估套件,开发工具是Keil uVision3。
我在网上看到的嵌入式系统上面常用的文件系统有UCOSII公司的UC/FS,支持CF卡,硬盘,SD/MMC卡,还有NAND FLASH等等,比较多,不过是商用的,要钱的,呵呵~,有周立功的用于教学用的ZLG/FS,还找到了开源、免费的两个,其中一个叫做 efsl ,另一个叫做 FatFs 。板子自带的例程用的就是FatFs.
    现在先不考虑版权的问题,选择一个比较合适的文件系统。在网上查了查关于文件系统的东西,总结一下有以下几点:
第一个UC/FS文件系统,UCOSII那个公司开发的,稳定性,兼容性好。很标准的几个层,什么硬件层,文件系统层,API层,等等。需要提供的函数也是读扇区,写扇区等等几个。但是底层的读写扇区的函数不需要提供扇区计数器count这个参数,也就是说,这个文件系统不能在只写一个读或者写命令的情况下,读或者写多个扇区。
 
第二个是ZLG/FS。周立功的很多的开发板上面都送了这个文件系统的源代码的。
 
第三个是efsl,是一个开源的项目,免费,只需要提供读扇区和写扇区 2个函数。开源的项目,免费的项目,好东西,移植也很简单,同样移植的时候也是提供读写扇区等几个函数,但是面临的跟UC/FS同样的问题,每次读写的时候也只能读写一个扇区。

第四个是FatFs,跟efsl一样,也是一个开源的项目,移植的时候比efsl多几个简单的函数。开源,免费,高效!这里几个文件系统都有的一个缺点,由于微软的 FAT版权的问题,FatFs,ZLG/FS,efsl都只支持 DOS 8.3 文件名,即8个字节的文件名,一个”.“,然后3个字节的扩展名,UC/FS也不支持。
本次学习打算选择FatFs文件系统。
FatFs的作者写了两个,一个是正宗的 FatFs,比较适合大的RAM的设备,另一个是FatFs/Tiny,比较适合小RAM的系统,比如单片机,FatFs/Tiny占用较小的RAM,代价是更慢的读写速度和更少的API函数。不过两个都支持FAT12,FAT16,FAT32文件系统。
下载下来的FatFs的FatFs有两个文件夹,一个是 doc ,FatFs的说明,包括特性,系统函数,以及可能的一些问题,另一个就是源代码文件夹src了,总共8个文件,diskio.c和diskio.h是硬件层,ff.c和 ff.h是FatFs的文件系统层和文件系统的API层,integer.h是文件系统所用到的数据类型的定义,tff.c和tff.h是Tiny的文件系统层和文件系统的API层,还有一个00readme.txt简要的介绍了FatFSHE FatFs/Tiny,包括他们所支持的API,怎么配置等等。
接下来的事情就是在移植之前,先将源代码大概的阅读一遍,主要是了解文件系统的结构、各个函数的功能和接口、与移植相关的代码等等。
    

最新回复

支持,希望楼主能够多写一些上来,期待中......  详情 回复 发表于 2010-11-16 17:51
 
点赞 关注

回复
举报

918

帖子

0

TA的资源

纯净的硅(中级)

沙发
 

回复 楼主 xielijuan 的帖子

支持,希望楼主能够多写一些上来,期待中......
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表