最精简的文件系统 Petit FATFS@AI8051U内核
https://bbs.21ic.com/forum.php?mod=image&aid=2292176&size=300x300&key=d42a7534a92b1e25&nocache=yes&type=fixnoneAI8051U, 免费 嵌入式 FAT 文件系统
FATFS 作为一个长期霸榜的免费嵌入式FAT文件系统,其稳定性自然不用多说了。
此贴介绍的是FATFS的一个子集 Petit FATFS 在AI8051U内核上的应用。
引用官网的 Petit FATFS 的介绍:
[*]非常小的内存消耗 44 字节RAM
[*]非常小的代码大小 2K 左右 ROM
[*]支持 FAT12FAT16FAT32
[*]
[*]可以看到,Petit FATFS 非常精巧,仅需44字节RAM即可运行,
[*]作为FATFS的子集,仅支持基本读写功能,功能上的限制如下:
[*]只支持一个卷,同一时刻只打开一个文件,(即当打开一个文件的同时,上一个打开的文件自动关闭了)
[*]不支持长文件名
[*]没有格式化功能
[*]写入操作的限制,只能改写已有的文件的内容,不能在文件未尾追加数据而使文件变大,也不能创建新的文件.
移植到AI8051U:
[*]在官网下载最新代码后,将source文件夹复制项目文件夹
[*]项目内添加 pff.c diskio.c
[*]添加三个磁盘接口函数,官方已给出了框架,只要在函数内填入自己的代码就可以了,非常简单(见例程)
移植感言: 太顺利了,文件拉进项目直接编译就是0错0警,这搞得我有点不太适应啊,^_^
应用笔记: 先挂载文件系统, 接着打开文件
* 读文件比较简单 FRESULT pf_read (void* buff, UINT btr, UINT* br);
* 第一个参数是数据指针, 第二个参数是期盼读取的字节数量, 第三个参数是实际读取到的字节数量.
* 函数运行过后,如果 *br<btr, 则说已经读到文件未尾, 没有更多的数据可读了.
* 返回值 0 表示没有错误, 其它为错误编号.[*]https://www.stcaimcu.com/forum.php?mod=viewthread&tid=10513&page=1&extra=#pid103816
页:
[1]