20200830-FATFS文件系统移植-stm32

​​​​包含。c文件

在这里插入图片描述

3.5lib库文件添加sdio和dma
在这里插入图片描述

包含路径

在这里插入图片描述

ru图
在这里插入图片描述

复制文件夹和文件

复制文件夹和文件

main。c—include

//fatfs
#include "malloc.h"
#include "sdio_sdcard.h"  
#include "ff.h"  
#include "exfuns.h" 

提升下载速度【加入fatfs后超过64k,ram调试不可用,只能FLASH下载】

在这里插入图片描述

修改文件【复制过来的文件已经设置好了】

FATFS 模块在移植的时候,我们一般只需要修改 2 个文件,即 ffconf.h 和 diskio.c。 FATFS
模块的所有配置项都是存放在 ffconf.h 里面,我们可以通过配置里面的一些选项,来满足自己的需求。接下来我们介绍几个重要的配置选项。
1)_FS_TINY。这个选项在 R0.07 版本中开始出现,之前的版本都是以独立的 C 文件出现(FATFS 和 Tiny FATFS),有了这个选项之后,两者整合在一起了,使用起来更方便。我们使用 FATFS,所以把这个选项定义为 0 即可。
2)_FS_READONLY。这个用来配置是不是只读,本章我们需要读写都用,所以这里设置为 0 即可。
3)_USE_STRFUNC。这个用来设置是否支持字符串类操作,比如 f_putc,f_puts 等,本章我们需要用到,故设置这里为 1。
4)_USE_MKFS。这个用来定时是否使能格式化,本章需要用到,所以设置这里为 1。
5)_USE_FASTSEEK。这个用来使能快速定位,我们设置为 1,使能快速定位。
6)_USE_LABEL。这个用来设置是否支持磁盘盘符(磁盘名字)读取与设置。我们设置为 1,使能,就可以通过相关函数读取或者设置磁盘的名字了。
7)_CODE_PAGE。这个用于设置语言类型,包括很多选项(见 FATFS 官网说明),我们这里设置为 936,即简体中文(GBK 码,需要 c936.c 文件支持,该文件在 option 文件夹)。
8)_USE_LFN。该选项用于设置是否支持长文件名(还需要_CODE_PAGE 支持),取值范围为 03。0,表示不支持长文件名,13 是支持长文件名,但是存储地方不一样,我们选择使用 3,通过 ff_memalloc 函数来动态分配长文件名的存储区域。
9)_VOLUMES。用于设置 FATFS 支持的逻辑设备数目,我们设置为 2,即支持 2 个设备。
10)_MAX_SS。扇区缓冲的最大值,一般设置为 512。
下面我们来讲讲 FATFS 的移植,FATFS 的移植主要分为 3 步:
① 数据类型:在 integer.h 里面去定义好数据的类型。这里需要了解你用的编译器的数
据类型,并根据编译器定义好数据类型。
② 配置:通过 ffconf.h 配置 FATFS 的相关功能,以满足你的需要。
③ 函数编写:打开 diskio.c,进行底层驱动编写,一般需要编写 6 个接口函数,如
图 44.1.2 所示:
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

开心超人dev

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值