GD32F4xx SD卡读写及FATFS移植记录

  最近调试了一下GD32F450Z 的SDIO接口,读写micro SD卡并移植了FATFS调试过程记录如下,调试时使用的是16GB Kingston TF 卡。
说一下思路:分3步实现
1、从资料中首先学习一下SDIO接口的相关内容;
2、根据例程调通SD card的读写驱动程序;
3、最后移植FATFS文件系统,文件系统来操作SD卡。

1、GD32F4xx SDIO接口

  SDIO接口的介绍参考《GD32F4xx_用户手册》文档,SDIO是安全的数字输入/输出接口。GD32F4xx 的SDIO接口可与以下几种设备进行通信。

  • MMC:多媒体卡,系统规格书V4.2及之前的版本兼容。3种不同的数据总线模式:1bit、4bit、8bit。
  • SD卡:SD存储卡规格版本2.0全兼容。
  • SD I/O: 与 SD I/O 卡规格版本 2.0 全兼容,有两种不同的数据总线模式: 1 位(默认)和 4位;(使用SD总线以及SD指令的IO设备,不只是存储功能,还能实现其他如蓝牙、wifi、GPS等等。
  • CE-ATA: 与 CE-ATA 数字协议版本 1.1 全兼容。
    《GD32F4xx_用户手册》中SDIO的相关内容比较多,需要详细的学习理解。

2、GD32F4xx SDIO驱动

  从GD32450Z_EVAL_Demo_Suites\Projects\16_SDIO_SDCardTest\Soft_Drive 中将sdcard.c 和 sdcard.h文件复制过来添加到自己的工程中。编写一个sdio_test()函数,将例程中的main函数复制过来稍作修改即可进行测试

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
STM32F4是STMicroelectronics推出的一款高性能微控制器系列,它集成了SPI(串行外设接口)功能,可用于与SD进行数据通信。为了在STM32F4上进行SD访问,可以使用FATFS文件系统进行移植。 首先,需要获取STM32F4系列的开发板以及SD模块。通过将SD模块连接到STM32F4的SPI接口上,并进行正确的硬件连接,以便能够进行数据传输。 接下来,在STM32CubeMX中进行配置,选择正确的引脚和SPI外设。设置相应的时钟频率,以确保SD能够正确工作。然后生成代码,导出到开发环境中。 在开发环境中打开生成的工程文件,找到对应的SPI及SD的初始化函数。根据需要修改SPI的参数,如通信速率、数据长度等。 接着,可以使用FATFS文件系统进行SD访问的移植。首先需要下载FatFs库,并将其添加到工程中。 然后,需要配置FATFS库,包括选择正确的文件系统类型(如FAT32),设置合适的SD的盘符等。可以使用FATFS库提供的函数进行SD的挂载、卸载等操作。 在主程序中,可以使用FATFS库提供的函数进行文件的操作。通过打开文件、入数据、取数据等方式,实现对SD中文件的访问。 最后,进行编译和下载,将代码烧录到STM32F4开发板中。 总之,通过合适的硬件连接、配置SPI外设和SD模块的初始化,以及引入FatFs库,并根据需要进行相应的配置,就可以在STM32F4上实现与SD的数据交互,并使用FATFS进行文件系统的移植和访问。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

madao1024

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

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

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

打赏作者

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

抵扣说明:

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

余额充值