之前已经讲了 GD32F4开发 – FATFS文件系统
现在将其一直到我的工程。
一、移植
在工程里创建FATFS文件夹。
移植正点原子 实验39 FATFS实验里的代码。
移植完后如下图:
注意:ffconf.h文件,找到对应宏并按照需求修改。
二、创建 FATFS 分组
工程目录如下:
三、添加相关的头文件路径
到此,移植完成。
四、编译
报错:
..\FATFS\ff.h(70): error: #35: #error directive: exFAT feature wants C99 or later
#error exFAT feature wants C99 or later
选择C99 Mode:
这个有个问题,实验39 FATFS实验的 sdio_sdcard.c和 norflash.c 是通过HAL库来实现的,GD32F407 不能直接拿过来就用。
需要自己写相关驱动。
相当于要重写 diskio.c里的如下接口函数了:
DSTATUS disk_initialize (BYTE pdrv);
DSTATUS disk_status (BYTE pdrv);
DRESULT disk_read (BYTE pdrv, BYTE *buff, LBA_t sector, UINT count);
DRESULT disk_write (BYTE pdrv, const BYTE *buff, LBA_t sector, UINT count);
DRESULT disk_ioctl (BYTE pdrv, BYTE cmd, void *buff);
示例工程:
链接:GD32F407_OS_Temp_20240913.rar
提取码:djse