2024年5月8日发(作者:)
基于 STM32F407 平台实现 FATFS 读写大容量(128G)
SD 卡的心得
本人是沈阳大学的一名小白,之前,无论是 STM32,还是 FATFS,都是小
白一个,甚至不理解那是什么东西,但是据说这种技术目前为止好像是读写大
容量卡挺费劲,只能 64G,就到头了,但是最近接到一个任务就是做一个数据
记录仪而且要把这个东西做成 128G 的。废话不多说,直接来把。
首先你要知道 FATFS 是一个文件管理系统,看他的手册,分为应用层,底
层驱动等等,但是对于我们嵌入式开发者来说,移植他,我们需要的是修改底
层驱动!应用他给出的 API 实现自己的任务。修改底层驱动!应用他给出的
API 实现自己的任务。修改底层驱动!应用他给出的 API 实现自己的任务。
1、修改底层驱动
OK 那你下载哪个版本 官网下载,需注意他的版本,如果你做 32G ,64G,
都可以,建议下载低版本,如 0.10 版本左右的都可以。如果你想做大容量卡,
那一定要移植 0.12 之后的版本,现在我写这篇文章的时候,最新版是 0.13a,
所以我就简单说一下 0.13a。0.13a 的底层驱动,也就是你下载下来的有一个
diskio.c 的文件,你打开。正常的移植,是在这里写或者修改底层驱动,底层驱
动是什么呢,例如我这次用的是 SDIO 操作读写 SD 卡的,大家都知道,SDIO
操作 SD 卡有两种方式,一个是 SPI,一个是 SDIO。那我要写的就是这两种中的
一个了。我用的是 SDIO,因为这种速度块。继续说,当你打开 0.13a 的
diskio.c 的时候,你会发现这帮人 TMD 写的很随意,这里如果你是个大手你可
以自己写好你的底层驱动(就是刚才我说的那个如何通过 SDIO 操作 SD 卡),
如果嫌费劲,直接拿你开发板给出的例程里的 diskio.c(每个嵌入式开发者手里
都会有开发板吧?!)因为它给出这个一定是调好的!
发布评论