SD卡下的FatFs文件系统的移植

本文详细介绍了如何将FatFs文件系统移植到STM32的SD卡上,包括前期准备、移植步骤、代码修改以及测试过程。通过SPI接口进行通讯,涉及的关键操作包括修改SDFileSystem代码以适应C语言环境,调整SPI IO模拟驱动,以及修改FatFs的disk_status等函数。移植完成后,通过printf重定向进行调试输出。
摘要由CSDN通过智能技术生成

STM32 SD卡FatFs文件系统移植

最近在做胎心算法,需要保存音频数据,所以借此机会学习一下SD卡相关知识。目前大体移植完成,故写此博客做记录!目的:一做知识总结,一做帮助有需要的人。开始正题。

前期准备

  1. 文件系统:FatFS,下载官网
  2. 底层驱动:参考mbed官网的SDFileSystem例程,官网
  3. 了解SD初始化流程
  4. 了解SD命令

怎么做

1.文件系统一般都不需要怎么修改,小改为主
2.底层io和SD有两种通讯方式:sdio和spi,本文用的是spi方式,并且用io模拟。这部分需要认真花时间研究

步骤1,把下载好的代码放到工程中

1.把FatFs源码中的source文件夹拷贝到keil工程目录中去
FatFs源码截图
改个名字为FATFS
移植
2.把 SDFileSystem 源码中的SDFileSystem.cpp和SDFileSystem.h文件复制到基础工程FATFS目录下,并分别更名为sd_diskio.c和sd_diskio.h
在这里插入图片描述

步骤2,修改SDFileSystem代码

由于SDFileSystem.cpp是C++写的,首先改成C代码
在这里插入图片描述

这是我修改的:
在这里插入图片描述
其次把SPI IO模拟驱动部分修改

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值