文件系统(FATFS)¶
1. 概述¶
FatFS是用于小型嵌入式系统的通用FAT/exFAY文件系统模块。FatFS模块的编写符合ANSI(C89),并与磁盘I/O层完全分离。目前在CI110X系列芯片SDK中已集成了FatFS R0.09b版本,其中磁盘I/O层对接了SDC接口和SPI1接口,使用时无需关系硬件直接通过文件系统函数即可完成对sd卡的操作。
提示
更多FatFS信息请查看 ☞ FatFS官网 获取帮助。
2. 使用说明¶
在SDK中定义了SDC接口磁盘盘符为0:,SPI1接口的磁盘盘符为1:,使用时首先应挂载磁盘:
f_mount(FS_SD, &fs_sdc); //挂载SDC接口上的SD卡
f_mount(FS_SPI, &fs_spi); //挂载SPI1接口上的SD卡
其他常用文件接口说明及示例:
函数接口 | 说明 |
---|---|
f_open | 打开文件 |
f_read | 读文件 |
f_write | 写文件 |
f_lseek | 移动文件指针 |
f_close | 关闭文件 |
// 打开磁盘0根目录的config.txt文件
res = f_open(&fp,"0:/config.txt",FA_READ);
ci_logdebug(LOG_TEST_APP,"res is %d\n",res);
//读取256字节文件数据到buff
res = f_read(&fp, buff,256,&lr);
ci_logdebug(LOG_TEST_APP,"res is %d\n",res);
//关闭文件
res = f_close(&fp);
ci_logdebug(LOG_TEST_APP,"res is %d\n",res);
// 打开并创建磁盘0根目录的test.txt文件
res = f_open(&fp,"0:/test.txt",FA_CREATE_ALWAYS|FA_WRITE);
ci_logdebug(LOG_TEST_APP,"res is %d\n",res);
//写入buff中1024字节数据到文件
res = f_write(&fp, buff,1024,&br);
ci_logdebug(LOG_TEST_APP,"res is %d\n",res);
//关闭文件
res = f_close(&fp);
ci_logdebug(LOG_TEST_APP,"res is %d\n",res);