操作系统:WIN10
开发平台:RT-Thread Studio
OS版本:4.0.3
之前在某宝入手了一片H743的开发板,卖家虽然提供了一些RTOS的例程,不过作为懒人的我还是垂涎于RTT的集成开发环境还有各种软件包。于是乎就在H743上玩起了RTT,由于不是亲儿子,所以用起来还有不少坑,要自己去填。想想还是弄一片Art-Pi来玩才比较好,谁叫我懒啊。心心念的Art-Pi总算到手了,做工很赞,总算可以开心的玩耍了。
慢慢学,慢慢记录,分享出来。
首先感谢大佬的文章,让我快速上手SDIO的配置和调试
输入链接说明
下面是我自己的笔记内容:
1.使用rtt_studio创建一个art_pi_blink_led的项目作为基础项目,编译通过下载到板子上验证功能,功能正常后再进行下一步操作。
Main.c文件内容
下载后调试终端打印内容,同时可以看到板子上的蓝灯和红灯来回交替闪烁。
2.配置RT-Thread Settings,使能SDIO的相关功能
配置“设备虚拟文件系统”
配置SD/MMC设备驱动程序,调试日志输出并不是必选项,这里先打开方便调试,后续可以关闭。
硬件配置SDIO1
然后保存退出,等待配置生成
然后编译通过,就可以下载了
查看调试终端
此时卡槽内插的是8G的TF卡,已经能够正常识别了
使用list_device只能可以查看到sd0设备已经注册成功
但是此时的文件系统还没有挂载,因此无法查看到TF卡的内容
所以这里修改一下main.c文件内容,添加一个挂载命令,并注册到MSH调试终端
编译通过,下载后查看调试终端,按Tab按键查看MSH调试终端指令表,可以发现已经添加了刚才注册的sd_init_cmd。
敲入该指令,回显挂载成功
再次敲入ls指令,就可以查看到TF卡根目录下内容了
还可以使用cd命令进入目录,cat命令查看文件内容,echo命令为文件添加内容
此致告一段落。
使能USB设备,作为TF读卡器
打开RT-Thread Settings配置,“使用USB”。注意默认MSC类磁盘名是flash0,这里改成sd0
硬件上也要使能USB Device
然后保存退出,等待生成配置,并编译工程
下载到开发板上,调试终端中敲入命令list_device,可以看到usbd总线已经注册好。
使用USB线连接开发板和PC,等一下,就可以识别到U盘
并且可以查看到刚才我们键入的内容
需要注意的一点是:如果一开始上电的时候sd0已经注册到elm了,则插上USB之后是不能正常挂载到USB的。所以前面的代码修改中没有直接改成上电就自动挂载sd0到elm,就是避免这样的情况。
相关文章:
Art-Pi学习笔记10:优化多媒体扩展板的音频驱动添加录音功能
Art-Pi学习笔记9:如何使用art-pi的多媒体扩展板播放TF卡中的音乐文件
Art-Pi学习笔记9:如何为Art-pi的内部flash设置读保护
Art_Pi学习笔记8:使用AHT10温湿度模块
Art_Pi学习笔记7:自己添加硬件定时器设备HWTIMER
Art_Pi学习笔记6:驱动PWM输出
Art-Pi学习笔记5_4:在littlevgl中显示二维码
Art-Pi学习笔记5_3:在littlevgl软件包中显示中文字体
Art_Pi学习笔记5.2:LVGL模拟器安装在VS2019上的避坑指南
Art_Pi学习笔记5.1:优化LVGL软件包提高刷屏的速度
Art_Pi学习笔记5:移植LittleVGL2RTT软件包驱动多媒体扩展屏
Art_Pi学习笔记4:驱动多媒体扩展版的LCD和触摸功能
Art_Pi学习笔记3:学习驱动wifi模块AP6212
Art_Pi学习笔记2:驱动片外SPI_FLASH_W25Q128
Art-Pi学习笔记1:驱动SDIO和USB设备做TF读卡器
大佬 666 ,给你点赞
大佬,stm32h743的USB设备做TF读卡器代码能发我一下吗?感谢!jourwen@163.com
@__Jour 按照上面这样一步一步走很容易就做出来的,自己动手比直接拿别人代码有趣多了
@adaphoto 我做出来后sd0是挂载成功的,也能直接通过msh看到sd卡里的目录。usbd设备也能看到,但是USB连接电脑后毫无反应,我调试好像是初始化哪里返回超时了。我试了一下下载原子H7的代码,能直接读到U盘,所以硬件应该没问题的。就想借鉴一下您的代码对比一下
@__Jour 注意这个细节

还有一点需要注意:如果一开始上电的时候sd0已经注册到elm了,则插上USB之后是不能正常挂载到USB的。所以前面的代码修改中没有直接改成上电就自动挂载sd0到elm,就是避免这样的情况。
@adaphoto 没看到硬件的使能在哪里
有点配置不好他的硬件使能,一开始搞SDIO也是不行,后面用ENV配的。但是USB的硬件初始化用ENV配的也不太行。
@__Jour 有没有基于开发板art-pi创建的项目,如果是基于芯片创建的项目在rtthread studio里面的settings菜单是不一样的
@adaphoto 谢谢
我进行完1 2 两个步骤,配置虚拟文件系统和SDIO并没有看到SD0设备,在“硬件”下使能了文件系统如图
才看到SD卡信息如图:

而且好像已经自动挂载了。
@杉木杉林 已经被挂载到文件管理系统了,就没办法挂载到USB了。
@杉木杉林 请问这个问题解决了吗?我也是新手,到这里发现也没有注册上sd0
很赞
@__Jour您好,请问使用h743做出来了吗,我也遇到您这个问题了
原来这里可以学习artpi 时隔一年还在吃灰呢
哥,为啥我这个硬件配置里没有使能USB啊
@维尼
去驱动里面自己打开USB协议栈,自己配置
okok这个问题我解决了@用户名由3_15位
大佬们,为啥我这里dfs mount failed啊
我解决了,大家需要把这个给关上
@维尼