外观
SD/MMC 接口读写实验
2025-10-29
注意
此示例仅适用于 flash 版本的核心板,emmc 版本核心板不支持 SD 卡
注意
SD 卡应格式化为 FAT32 格式
本文将详细介绍如何基于 SD/MMC 接口实现对 SD 卡的挂载、文件系统操作与安全卸载的完整流程,帮助读者掌握 SD 卡的初始化、文件系统挂载、读写操作及资源释放等关键步骤,从而实现数据在 SD 卡上的稳定存储与管理。
SDMMC
SDMMC(Secure Digital MultiMediaCard)是一种广泛应用于嵌入式系统中的存储接口,常用于与 SD 卡进行数据交互。其具备高速、低功耗、热插拔等特点,适用于数据记录、日志保存、大容量文件读写等应用场景。 RT-Thread 中通过驱动框架配合 FAT 文件系统模块,可快速实现对 SD 卡的挂载与操作。
SD 卡读写实验
本实验通过挂载 SD 卡,并进行简单的文件写入与读取,演示 SD 卡文件系统的基本使用流程,包括挂载、格式化、文件操作与卸载等核心步骤。
硬件连接
将 SD 卡插入 SD 卡槽

创建工程点击展开
依次点击 “文件” -> “新建” -> "RT-Thread RuiChing App 项目"。

在弹出新建向导中选择 开发版 、BSP: 、示例 、 调试器/下载器。选择好之后点击 “完成”。

点击 “完成” 后,等待工程创建完成。

创建完成。

构建工程点击展开
单击工程使工程进入 Active-Debug 模式。

点击工具栏上的构建按钮进行工程编译。

构建成功后,会显示构建成功的信息。

固件下载点击展开
固化设备树

固化 APP

SD 卡挂载
系统在检测到 SD 卡插入并且文件系统是 FAT32(elm)时,会自动挂载到 sdmmc 目录
[I/SDIO] SD card capacity 30220288 KB.
[I/SDIO] sd: switch to High Speed / SDR25 mode
found part[0], begin: 4194304, size: 28.836GB
elm file system mounted successfully!SD 卡也可以使用命令行手动挂载
msh /> mount sdmmc0 sdmmc elm
mount device sdmmc0(elm) onto sdmmc ... succeedSD 卡格式化
注意
格式化会删除 SD 卡中所有内容,请提前保存重要数据。
如果系统检测到 SD 卡但没有挂载文件系统时,可以尝试格式化 SD 卡,系统不会主动格式化 SD 卡,可以通过命令行手动格式化
mkfs -t elm sdmmc0文件读写
msh />sdmmc_example
[I/example.sdmmc] read content : This is an rt-thread sdmmc exampleSD 卡卸载
系统在检测到 SD 卡在拔出时,会自动卸载。
SD 卡也可以使用命令行手动卸载:
msh />umount sdmmc
umount sdmmc ... succeed!