FatFs的官网源码结构及已知问题以及解决方法或补丁——瑞萨RA系列FSP库开发实战指南(86)

24.3.1.1
FatFs帮助文档
打开documents文件夹,可看到如图documents文件夹的文件目录:

documents这个文件夹下面存放的是FatFs模块文档:
• 其中doc文件夹里面是编译好的html文档,讲的是FatFs里面各个函数的使用方法,这些函数都是封装好的函数,利用这些函数我们就可以操作串行Flash芯片。
• res文件夹包含doc文件夹下文件需要用到的图片,还有四个名为app.c文件,内容都是FatFs具体应用例程。
• 00index_e.html相当于FatFs的主页。
• updates.txt记录了各个版本的更新。
24.3.1.2
FatFs源码
打开src文件夹,可看到如图source文件夹的文件目录:

source这个文件夹下面存放的是FatFs源码:
• diskio.c/.h:IO层的实现。
• ff.c/.h:FatFs核心文件,文件管理的实现方法。该文件独立于底层介质操作文件的函数,利用这些函数实现文件的读写。
• ffconf.h:这个头文件包含了对FatFs功能配置的宏定义,通过修改这些宏定义就可以裁剪FatFs的功能。
• ffsystem.c:操作系统相关。
• ffunicode.c:unicode编码相关。FF_USE_LFN !=0时必须包含此文件。
• 00history.txt:介绍了FatFs的版本更新情况。
• 00readme.txt:说明了当前目录下各个文件的功能。

24.3.2
长文件名
FatFs模块支持FAT文件系统的长文件名(LFN)扩展名。默认情况下,禁用LFN。如果要启用LFN,要将FF_USE_LFN设置为1、2或3,并将ffunicode.c文件添加到项目中。LFN功能需要一定的工作缓冲区。缓冲区大小可由FF_MAX_LFN根据可用内存配置。LFN的长度最多可以为255个字符,因此FF_MAX_LFN也应设置为255。

24.3.3
FatFs限制
-
文件系统类型:FAT、FAT32(rev0.0)和exFAT(rev1.0)。
-
打开的文件数量:无限制。(取决于可用内存)
-
卷数:最多10个。
-
扇区大小:512、1024、2048和4096字节。
-
最小卷大小:128个扇区。
-
最大卷大小:32位LBA中的2^32-1扇区,在带有exFAT的64位LBA中几乎不受限制。
-
最大文件大小:FAT卷上为2^32-1字节,exFAT卷上几乎不受限制。
-
群集大小:FAT卷上最多128个扇区,exFAT 卷上最多16MB。
24.3.4
FatFs的已知问题
扫描下方二维码或复制链接到浏览器查看:记录着有关Fatfs最新版本的已知问题以及问题的解决方法或补丁。
下载链接
http://elm-chan.org/fsw/ff/patches.html


网址上会公布已发现并解决的BUG,以补丁形式发布。以R0.14b版本为例,目前该版本有2个补丁。
有需要的话可以按照官方提供的方法对源码进行修改,由于我们这里使用的都是一些比较基础的功能,这些功能是没有问题的,所以就不进行修改了。
需要技术支持?
如您在使用瑞萨MCU/MPU产品中有任何问题,可识别下方二维码或复制网址到浏览器中打开,进入瑞萨MCU/MPU官方技术论坛寻找答案或获取在线技术支持。

https://bbs.21ic.com/renesas
未完待续
推荐阅读





夜雨聆风