AI8051U, 免费 嵌入式 FAT 文件系统
FATFS 作为一个长期霸榜的免费嵌入式FAT文件系统,其稳定性自然不用多说了。
此贴介绍的是FATFS的一个子集 Petit FATFS 在AI8051U内核上的应用。
引用官网的 Petit FATFS 的介绍:
- 非常小的内存消耗 44 字节RAM
- 非常小的代码大小 2K 左右 ROM
- 支持 FAT12 FAT16 FAT32
- 可以看到,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
|