[STM32F4] 在 STM32F429I-Discovery 上成功移植FAFTS0.13

[复制链接]
1234|9
 楼主| jacklow 发表于 2019-8-16 21:23 | 显示全部楼层 |阅读模式
很久没玩STM32F4了,项目需要,拿了块STM32F429I-Discovery想熟悉一下FATFS,原版提供的是FAFTS0.09b, 用外设例子程序LTDC_AnimatedPictureFromUSB很快就测试通过,可以正常读写4G以下U盘,但不支持 exFAT, 因此想升级到 0.13版,期间不是很顺利,花了2天时间终于搞定。后续会上传代码,希望大家喜欢
 楼主| jacklow 发表于 2019-8-16 21:26 | 显示全部楼层
更正:标题 FAFTS0.13 改为 FATFS0.13

gyh974 发表于 2019-8-17 09:15 | 显示全部楼层
 楼主| jacklow 发表于 2019-8-17 09:25 | 显示全部楼层
1、在 http://elm-chan.org/fsw/ff/00index_e.html 下载FATFS R0.13a的源码
2、将下载到的源码全部替代工程里面旧版FATFS, 四个源代码文件,其中 diskio.c 不要加入工程,因为其核心函数被加入了 usbh_msc_fatfs.c
3、根据实际使用情况修改ffconf.h 里面的宏开关选项,与旧版不同的部分列出如下:
#define FF_CODE_PAGE        936   // 简体中文
#define FF_USE_LFN                3      // 允许长文件名,工作缓冲放在 HEAP,因此我在工程选项中把HEAP size 设为了0x1000
#define FF_FS_EXFAT                1      // 允许支持 exFAT 文件系统
#define FF_LFN_UNICODE        1      // 长文件名支持 Unicode in UTF-16 (TCHAR = WCHAR)
4、基本上到此可以编译了,编译过程中会出现各种错误,主要新版没有完全向下兼容的原因引起,根据不同情况针对性解决后,编译OK
     比如, f_mount 调用,等等
    if ( f_mount( &fatfs, "", 0 ) != FR_OK )   { 。。。}        // Fatfs0.09升级到0.13后,形参变化了

后续会上传完整移植代码


 楼主| jacklow 发表于 2019-8-17 10:08 | 显示全部楼层
补充一下,编译环境是 IAR7.7
qcliu 发表于 2019-9-13 11:53 | 显示全部楼层
非常感谢分享
kxsi 发表于 2019-9-13 12:10 | 显示全部楼层
感谢楼主分享
nawu 发表于 2019-9-13 12:22 | 显示全部楼层
非常感谢楼主分享
xiaoqizi 发表于 2019-9-16 15:37 | 显示全部楼层
期待楼主更新
木木guainv 发表于 2019-9-16 15:44 | 显示全部楼层
非常不错啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则

14

主题

33

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部