0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

LPC55S69在RT-Thread上的SDIO驱动和文件系统

恩智浦MCU加油站 来源:恩智浦MCU加油站 2023-03-08 14:13 次阅读

本篇将介绍如何在LPC55S69_EVK开发板上,使用RT-ThreadSDIO驱动和FATFS文件系统组件实现SD卡上的文件读写。

另外举个使用小栗子:将SD卡上的视频文件(特殊制作的,其实就是一张张位图而已,不是真正的视频文件)通过RT-Thread文件系统组件读出来,并且通过SPI LCD刷频,实现类似视频播放的效果。

在LPC55S69_EVK上使用RT-Thread驱动SD卡实现文件读写只需要以下几步:

配置FATFS和 SDIO功能

编译项目代码

插入SD卡

烧录二进制文件到开发板

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

准备工作

准备好LPC55S69_EVK开发板,准备一张SD卡,我这里准备的是一张8G的金士顿古董卡,最好在电脑上先把SD卡格式化为FAT32文件系统。

准备好RT-Thread开发环境,确保在阅读这篇文章之前,已经可以成功将RT-Thread跑在LPC55S69_EVK开发板上。

配置RT-Thread编译下载工程

进入 t-threadbsplpc55sxxlpc55s69_nxp_evk 目录,打开RT-Thread scons命令行配置工具, 输入menuconfig 进入配置界面:

wKgZomQD-vGABeiBAADyCQsH_Ts062.png

找到 RT-Thread Components ->device Drivers, 选择 Using SD/MMC 设备驱动程序:

wKgZomQD-vGALp94AAK7xcHrwG8970.png

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

wKgaomQD-vGAWyHHAAI0dPYwHJs160.png

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

wKgaomQD-vGACozbAAHspvHVUzY122.png

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

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

wKgZomQD-vGAeinGAAISjI6-6LE258.png

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

wKgaomQD-vGAY7iWAABQgeTHhUU559.png

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

wKgZomQD-vGAVpf9AAAwO1Etxm4897.png

在msh中操作SD卡

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

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

wKgaomQD-vGAUqAXAALuBnZ8OLc253.png

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

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

可以写文件的命令——echo

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

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

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

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

查看设备: list device

wKgZomQD-vGAbrN2AAA153cNC3A029.png

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

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

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

wKgZomQD-vGAJ7agAAAZtLrG2pg688.png

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

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

wKgaomQD-vGATdpHAAAT29smvlE571.png

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

wKgaomQD-vGACTMkAAASuFWbFpQ285.png

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

wKgaomQD-vGALH22AAAjnX9b0ms732.png

小结

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

下一篇我们将继续基于RT-Thread 操作系统的文件系统支持,驱动SPI LCD来实现播放视频的效果。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 文件系统
    +关注

    关注

    0

    文章

    273

    浏览量

    19676
  • 开发板
    +关注

    关注

    25

    文章

    4429

    浏览量

    93994
  • 编译
    +关注

    关注

    0

    文章

    615

    浏览量

    32392
  • SDIO
    +关注

    关注

    2

    文章

    59

    浏览量

    19128
  • RT-Thread
    +关注

    关注

    31

    文章

    1148

    浏览量

    38875

原文标题:LPC55S69在RT-Thread上的SDIO驱动和文件系统

文章出处:【微信号:NXP_SMART_HARDWARE,微信公众号:恩智浦MCU加油站】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    RT-Thread文件系统的基本知识和使用方法

    为了能让开发者清楚地理解 RT-Thread DFS 框架的概念,学会使用 RT-Thread 文件系统。本应用笔记将一步步深入介绍 RT-Thread DFS 框架的相关知识以及实
    的头像 发表于 08-17 10:01 3.1w次阅读
    <b class='flag-5'>RT-Thread</b><b class='flag-5'>文件系统</b>的基本知识和使用方法

    SPI Flash怎样去使用RT-Thread文件系统

    RT-Thread文件系统的主要功能特点有哪些?SPI Flash怎样去使用RT-Thread文件系
    发表于 12-20 08:07

    RT-Thread文件系统的资料下载

    RT-ThreadDFS 框架没有足够的了解,如果理解了 DFS 框架,使用 RT-Thread 文件系统时就可以得心应手了。为了能让开发者清楚地理解
    发表于 03-24 16:03

    HPM6750使用RT-Thread驱动SD卡实现文件读写

    开始本篇实验前,需要搭建RT-Thread开发环境HPM6750使用RT-Thread驱动SD卡实现
    发表于 06-27 10:44

    LPC55S69-RT-Thread Micropython移植日志

    ,这里我们找不到该函数的定义,先在头文件中进行外部声明找到头文件所在位置:.\rt-thread\bsp\lpc55sxx\lpc55s69
    发表于 02-09 14:48

    LPC55S69对接RTduino的相关工作

    该文记录 LPC55S69 开发板体验期间,对接 RTduino 的相关工作。RTduino 是基于 RT-Thread 框架下进一步的封装,使得用户可以像开发 Arduino 一样快速上手
    发表于 02-24 14:51

    LPC55S69 Flashmagic不编程的原因?

    我用 NXP LPC55S69 开发了一块电路板。我已经用 Xpresso IDE 开发了一个程序。我的应用程序 SWD 端口上使用 Segger Jlink 运行良好。我设计中
    发表于 03-15 07:54

    LPC55S69对接RT-Thread PWM设备框架介绍

    LPC55S69 具备非常多的 PWM 资源。于是根据 RT-Thread 设备驱动框架了,对接了其他通用定时器的 PWM 输出。开始对接创建PWM设备之前该 BSP 中的 drv_pwm 已经对接
    发表于 03-16 14:01

    如何实现LPC55s69的USB固件更新?

    我们正在研究 LPC55s69,并计划通过 USB 而不是 ISP 更新固件。他们是否有任何类似的文章/代码项目引用了 LPC55s69 板。如果没有,那么我可以使用与文章中类似的类比来实现 LPC55s69 的 USB 固件更
    发表于 03-20 06:19

    LPC55S69中的内存如何访问仲裁?

    我叫 Ted,我正在开发一个基于 Zephyr 的应用程序以 LPC55S69 运行。该应用程序实际是一对固件项目,此时它们通过 LPC55S
    发表于 04-12 08:54

    RT-Thread文件系统组件在STM32H743上的应用

    RT-Thread(后文简称RT)提供的DFS组件、Fatfs组件和SDIO驱动组合起来可用于操作SD卡,但RT的底层
    发表于 12-05 18:36 4次下载
    <b class='flag-5'>RT-Thread</b><b class='flag-5'>文件系统</b>组件在STM32H743上的应用

    RT-Thread Studio驱动SD卡

    总结前言硬件平台:RT-Thread ART-Pi STM32H750XBH6开发板 H750开发板开发软件:RT-Thread Studio参考博客:RT-Thread Studio使用SD
    发表于 12-27 19:13 20次下载
    <b class='flag-5'>RT-Thread</b> Studio<b class='flag-5'>驱动</b>SD卡

    RT-Thread文档_虚拟文件系统

    RT-Thread文档_虚拟文件系统
    发表于 02-22 18:42 1次下载
    <b class='flag-5'>RT-Thread</b>文档_虚拟<b class='flag-5'>文件系统</b>

    RT-Thread框架下的SMP支持

    最近报名参加了恩智浦社区的 LPC55S69 开发板测评活动,由于其搭载的是一颗 Cortex-M33 Dual Core 的 CPU,而且有大佬已经支持了 RT-Thread 的 BSP,就考虑
    的头像 发表于 10-11 10:34 510次阅读
    <b class='flag-5'>RT-Thread</b>框架下的SMP支持

    LPC55S69对接RT-Thread PWM设备框架

    在使用 RT-Thread 的 bsp pwm 的时候,注意到 lpc55sxx 系列只对接了通用定时器2中的通道1作为 PWM 输出。但其实 LPC55S69 具备非常多的 PWM 资源。于是根据
    的头像 发表于 10-11 15:02 343次阅读