新闻中心

EEPW首页>嵌入式系统>设计应用> MC9S12UF32的嵌入式文件系统数据存储模块

MC9S12UF32的嵌入式文件系统数据存储模块

作者: 时间:2010-04-01 来源:网络 收藏

在表2中,对ff.h中主要配置宏的含义进行了说明,同时给出了本文所介绍的采用的取值。

本文引用地址://m.amcfsurvey.com/article/151973.htm

4 FatFS的使用
FatFS中涉及2个基本的结构:(磁盘)的结构FATFS和文件的数据结构FIL。这两个结构是FatFS软件主要的RAM开销,FATFS数据结构中有针对磁盘的512字节读写缓存,FIL则有针对每个文件的缓存。而采用Tiny FatFS配置则不会开设文件读写缓存,节约RAM。
依次使用f_mount、f_open、f_rcad/f_write、f_close可以完成基本的读写。FatFS允许对同一文件同时复数读取,但完全不支持对同一文件同时复数的写入操作,因为这会引起文件系统错误。具体每一个函数,特别是字符串读写、格式化读写等,可以参见原始帮助和例程。
此外,由于系统具有突然掉电的可能性,一些关键代码段可能导致文件系统错误,所以要注意调用f_sync()及时写入。当然,如果是一组连续的f_write()写入,而每次写完都f_sync(),则会极大地影响速度,可以全部写完后f_sync()。
V0.07以后版本的FatFS,增加了以下新的功能:
①_FS_TINY。Tiny模式变成了一个宏选项,而不是独立的代码包。
②_FS_RPATH。决定是否有当前路径的概念,这将影响两个相关函数的参数。
③_USE_LFN。启用长文件名支持,可为1或2,为2时可重入。由于长文件名存在堆栈上,而且启用LFN会依据代码页增加一个很大的转换表,占掉几十~几百KB,所以不推荐。
④_LFN_UNICODE。长文件名使用Unicode,实验阶段,尚未正式写入文档。

结语
单片机内部集成的SDHC,可将SD总线转换为单片机内部的IP总线,开发者只需要对SD协议的基本内容有所了解,通过读写相应的寄存器就可以方便地实现对SD卡的底层读写,大大简化了硬件的开发过程。同时,独立于硬件平台的FatFS软件包可以方便地移植到各种系统中,研发者只需要对该软件包的diskio.c和ff.h进行修改,即可完成移植,从而使用FatFS提供的丰富且易于使用的各种接口函数。
应用上述主要技术实现的具有文件系统的数据如图4所示。


该模块体积小巧、数据的灵活性和通用性很高,可以通过模块自带的串行通信接口接收数据,并以文件的形式起来。用户既可以直接通过USB接口将本模块识别为U盘进行数据读写和分析,也可以将micro SD卡拔出,在任意一个具有micro SD读卡器功能的设备上读写数据。上述功能特性使得这款数据存储模块具有很良好的应用前景。

linux操作系统文章专题:linux操作系统详解(linux不再难懂)

上一页 1 2 3 4 下一页

评论


相关推荐

技术专区

关闭