LPC55S69在RT-Thread上的SDIO驱动和文件系统
来源:恩智浦MCU加油站 发布时间:2023-02-28 分享至微信
本篇将介绍如何在LPC55S69_EVK开发板上,使用RT-Thread的SDIO驱动和FATFS文件系统组件实现SD卡上的文件读写。
另外举个使用小栗子:将SD卡上的视频文件(特殊制作的,其实就是一张张位图而已,不是真正的视频文件)通过RT-Thread文件系统组件读出来,并且通过SPI LCD刷频,实现类似视频播放的效果:
演示地址:
https://www.bilibili.com/video/BV1do4y1e7D7/
与非网论坛帖子(包含代码及资料文件下载):
https://www.nxpic.org.cn/module/forum/thread-630449-1-1.html
本实验开始前,需要搭建RT-Thread开发环境,详见之前的文章基于LPC5500的RT-Thread上手指南》
在LPC55S69_EVK上使用RT-Thread驱动SD卡实现文件读写只需要以下几步:
  • 配置FATFS和 SDIO功能

  • 编译项目代码

  • 插入SD卡

  • 烧录二进制文件到开发板

PS:本篇文章特点 – 实操性强,异常简单,有手就行。

准备工作

  1. 准备好LPC55S69_EVK开发板,准备一张SD卡,我这里准备的是一张8G的金士顿古董卡,最好在电脑上先把SD卡格式化为FAT32文件系统。
  2. 准备好RT-Thread开发环境,确保在阅读这篇文章之前,已经可以成功将RT-Thread跑在LPC55S69_EVK开发板上。


配置RT-Thread编译下载工程

1. 进入\rt-thread\bsp\lpc55sxx\lpc55s69_nxp_evk 目录,打开RT-Thread scons命令行配置工具, 输入menuconfig 进入配置界面:

找到 RT-Thread Components ->Device Drivers, 选择 Using SD/MMC device drivers:

2. 切换到 Hardware Drivers Config -> On-chip Peripheral Drivers 选项卡下,选上Enable SDIO SD Card Interface

到此为止RT-Thread的SD/MMC驱动和LPC55S69的SDIO外设驱动就算配置上了,退回到scons命令行界面,输入 scons –target=mdk5 生成新的MDK工程

看到Keil-MDK project has generated successfully! 说明 Keil工程生成成功。

3. 双击打开Project.uvprojx Keil工程文件(我的Keil版本V5.38),编译工程,下载到开发板:

4. 下载后按一下板子上的复位按键,看到LED开始闪烁,串口会打印如下log:

可以看到,RT-Thread系统已经成功识别了SD卡,并且成功将FAT32系统挂载到了根目录下。可以用ls检查下是否挂载成功:


在msh中操作SD卡

烧录完成后,我们就可以在RT-Thread的msh环境中愉快地操作SD卡了。

首先,我们可以通过help命令查看此时msh中支持哪些命令:

可以看到,这里有很多命令,我们接下将会使用到的有:

  • 文件操作命令——ls/cp/mv/cat/rm

  • 可以写文件的命令——echo

  • 目录操作命令——cd/pwd/mkdir

  • 文件系统操作命名——mkfs/mount/umount/df

使用过Linux的朋友应该会对上面这些命令感到熟悉。


我将会在msh中演示——如何通过这些命令对SD卡进行一些操作。

查看设备: list device

格式化SD卡: 初次使用的SD卡,可能没有文件系统,或者文件系统不是FAT格式的,需要将SD卡格式化为FAT文件系统,RT-Thread后续才能挂载成功。

注意:格式化操作会导致SD卡上已有数据全部丢失;因此,在执行格式化操作前,请确认SD卡上没有重要数据,或者你已对SD卡上的重要数据进行了备份。

接下来,我们可以通过mkfs命令对SD卡进行格式化:输入 mkfs sd:

mkfs执行会持续一段时间,请耐心等待(具体因不同SD卡容量和速度等级而异,我的8GB卡消耗了2秒钟)。

挂载文件系统: 可先输入mount -h 来看下mount命令怎么用:

了然,输入 mount sd / elm, 将SD设备挂载根目录下,使用elm(FAT32)文件系统

简单的目录操作测试: 相信这些Linux常用文件操作命令不需要解释了。


小结

以看到,在基于RT-Thread系统的项目中,我们没有添加任何代码,就可以实现对LPC55S69_EVK开发板上的SD卡进行文件系统、目录、文件相关操作。这是因为RT-Thread系统本身已经积累了大量优秀开发者的工作成果,其中包括SDIO驱动框架、FATFS支持、芯片厂的SDIO驱动。
下一篇我们将继续基于RT-Thread 操作系统的文件系统支持,驱动SPI LCD来实现播放视频的效果。


恩智浦MCU加油站


这是由恩智浦官方运营的公众号,着重为您推荐恩智浦MCU的产品信息、开发技巧、教程文档、培训课程等内容。


长按二维码,关注我们



[ 新闻来源:恩智浦MCU加油站,更多精彩资讯请下载icspec App。如对本稿件有异议,请联系微信客服specltkj]
存入云盘 收藏
举报
全部评论

暂无评论哦,快来评论一下吧!