打印
[STM32F4]

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

[复制链接]
829|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后,形参变化了

后续会上传完整移植代码


使用特权

评论回复
5
jacklow|  楼主 | 2019-8-17 10:08 | 只看该作者
补充一下,编译环境是 IAR7.7

使用特权

评论回复
6
qcliu| | 2019-9-13 11:53 | 只看该作者
非常感谢分享

使用特权

评论回复
7
kxsi| | 2019-9-13 12:10 | 只看该作者
感谢楼主分享

使用特权

评论回复
8
nawu| | 2019-9-13 12:22 | 只看该作者
非常感谢楼主分享

使用特权

评论回复
9
xiaoqizi| | 2019-9-16 15:37 | 只看该作者
期待楼主更新

使用特权

评论回复
10
木木guainv| | 2019-9-16 15:44 | 只看该作者
非常不错啊

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

14

主题

33

帖子

0

粉丝