FatFs STM32

1 篇文章 0 订阅
1 篇文章 0 订阅
FatFs在32位微控制器


MCU数十到数百 KB的容量
   采用外扩存贮器


SD卡,使用SPI协议,文件系统采用FatFs,移植修改类型和底层函数
   
FatFs通用的文件系统模块
   可以根据具体情况编写底层IO函数


FatFs特点是分离缓冲Fat结构的每个文件,可以快速访问多个文件,支持多个驱动器和分区
FatFs设计思想是 小块的数据通过Buffer存贮,大块数据直接存取


SPI1 
PB14 SD卡的电源开关配置为推挽输出(GPIO_Mode_Out_PP)
PA8  检测SD是否插入,配置为 GPIO_Mode_IPU


FatFs包含应用层、模块层和底层(底层协议和RTC)
  ff.c ff.h 是FatFs文件系统层和API层
  diskio.c diskio.h 是硬件层
  

Low level disk I/O RTC
(SD ATA USB NAND)


74个时钟延时,然后发送复位
GPIO引脚至少配置10MHz 初始化SPI时钟小于400k,一旦初始化完成设置为高速模式,高位在前


  发送复位命令 CMD0
  进入SPI总线模式
  发送激活命令 CMD1


移植 
1 修改定义数据类型  integer.h
2 配置 ff.h  FS_TINY 0 normal
3 6个底层函数需要用户具体情况进行修改,还
需要4个底层函数,分别是STM32使用SPI读写一个sector和读写多个sector




f_open 文件的创建、读写操作
移植过程选择了 unicode 支持,文件中进行包含汉字的操作,mp3、mp4
最重要的数据类型的定义 几个底层函数的编写

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
FATFS是一个完全免费开源的FAT文件系统模块,专门为小型的嵌入式系统而设计。它是用标准的C语言编写的,具有良好的硬件平台独立性,可以移植到多种单片机上。FATFS支持FAT12、FAT16和FAT32文件系统,同支持多个存储媒介。在STM32中使用FATFS可以通过调用FATFS模块提供的一系列应用接口函数来实现文件的读写操作,如f_open、f_read、f_write和f_close等。此外,还需要编写移植代码来实现底层接口,包括存储媒介读写接口和实钟接口。\[2\]\[3\] #### 引用[.reference_title] - *1* [FatFS文件系统的使用(STM32)](https://blog.csdn.net/weixin_38743772/article/details/124425515)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [STM32FATFS文件系统](https://blog.csdn.net/wdxabc1/article/details/129689159)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [STM32——FATFS文件基础知识](https://blog.csdn.net/weixin_62584795/article/details/127353567)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值