一.介绍
FAT文件系统分为三层,如下图所示。
1.底层接口,包括存储媒介读/写接口(disk I/O)和供给文件创建修改时间的实时时钟,需要我们根据平台和存储介质编写移植代码。
2.中间层FATFS模块,实现了FAT 文件读/写协议。FATFS模块提供的是ff.c和ff.h。除非有必要,使用者一般不用修改,使用时将头文件直接包含进去即可。
3.最顶层是应用层,使用者无需理会FATFS的内部结构和复杂的FAT 协议,只需要调用FATFS模块提供给用户的一系列应用接口函数,如f_open,f_read,f_write 和f_close等,就可以像在PC 上读/写文件那样简单。
二、移植
1.从官网下载合适的版本的软件(http://elm-chan.org/fsw/ff/00index_e.html),本次使用FatFs R0.13b
2.把代码合并到工程中,放到一个新建文件夹下。
3.我们需要为diskio. c文件下填充下列六个函数的操作代码
disk_status-获取设备状态
disk_initialize-初始化设备
disk_read-读取数据
disk_write-写入数据
disk_ioctl-控制设备相关的功能
get_fattime-获取当前