FatFs移植笔记(R0.09)

本文详细记录了FatFs文件系统的移植过程,包括配置ffconf.h以适应系统需求,如选择缓冲区位置、文件读写权限等。接着介绍了如何实现物理驱动器的disk_io控制函数,如disk_write和disk_read,以及测试代码的添加,确保移植成功。
摘要由CSDN通过智能技术生成
FatFs移植笔记(R0.09)


  1. 首先将文件拷贝到工程中,其中包括diskio.h、ff.h、integer.h、ff.c、ffconf.h。
  2. 创建文件diskio.c。
  3. 将这些文件添加到工程中。
  4. 根据系统类型设置ffconf.h。
    • _FFCONF是代表了版本号,不做处理。
    • 函数和缓冲区配置
      • _FS_TINY设置缓冲区的位置,假如设置为0,也就是每个文件(FIL结构体)中带一个buf,否则的话,整个文件系统公用一个buf。目前没有郁闷到一点内存也没有的地步,所以还是选择为0。
      • _FS_READONLY设置是否文件只读,我们的系统是可读写的,所以设置为0。
      • _FS_MINIMIZE设置为0,因为以下的那些函数我们都用的着,不能简化。
      • _USE_STRFUNC设置是否使用字符串函数,主要有f_gets, f_putc, f_puts, f_printf四个函数,我们暂时不想用,因为我们的数据都是自定义结构体的储方式,为了节省空间这个设置为0。
      • _USE_MKFS设置是否实现f_mkfs函数。我们需要在设备初始化时完全格式化Flash,所以此函数需要。
      • _USE_FORWORD设置
      • _USE_FASTSEEK设置是否支持文件快速定位,它主要采用缓冲区来存储簇链映射图,以空间换时间,对于我们系统不合算,还是采用普通定位方式好。
    • 本地化和命名空间配置
      • _CODE_PAGE设置目标系统的本地化设置,本系统有ASCII支持就足够了,支持本地化的情况下,模块的大小将大幅增加,反而不符合我们选择
  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值