关于rt-thread系统sdio驱动框架使用

发布于 2017-10-19 16:14:56    浏览:5293
最近有使用stm32f7板子,用到挂载SD文件系统。 直接实现rt_device的方式实现sd卡驱动,然后挂载也是正常可用的,但是看到针对rt-thread有sdio驱动框架,想引入这个框架,无奈rt-thread所有的drivers下的驱动框架都没啥介绍文章,使用理解起来非常费劲(原谅我是菜鸟) 经提醒,下载了realtouch 407开发板的rt-thread工程,这个有使用到sdio驱动框架,想参照这个来实现自己板子的sdio驱动。 工程下载配置参照这个帖子: [url=]http://download.rt-thread.org/dokuwiki/ ... irst_touch[/url] 使用realboard-stm32f4-mastersoftwareexamplesexamples2_filesystem_sdcard里面这个例程来学习。 使用scons配置成功且编译通过,查看代码! 有关SDIO组件初始化部分 [code]#ifdef RT_USING_SDIO rt_mmcsd_core_init(); rt_mmcsd_blk_init(); stm32f4xx_sdio_init(); rt_thread_delay(RT_TICK_PER_SECOND); #else rt_hw_sdcard_init(); #endif[/code] 然后在application中挂载文件系统 [code] /* mount sd card fat partition 1 as root directory */ if (dfs_mount("sd0", "/", "elm", 0, 0) == 0) { rt_kprintf("File System initialized! "); } else rt_kprintf("File System initialzation failed! ");[/code] 实验测试挂载失败,错误号为-19,显示找不到sd0设备驱动 搜索整个工程,确实是没看到有关SDIO驱动注册的地方啊 请问我是哪部操作错了呢? 整个工程中,看到SDIO驱动和驱动框架关联起来的仅仅是stm32f4xx_sdio_init()函数 求指点!!!!

查看更多

7 个回答
aozima
aozima 2017-10-19
拒绝白嫖,拒绝键盘侠!
实现SDIO总线驱动,SD卡会自动识别到。
建议把驱动中的日志打开,可以看到MMCSD自动识别卡的过程。
建议再仔细研究一下。
qq_远航
qq_远航 2017-10-20
This guy hasn't written anything yet
实现SDIO总线驱动,SD卡会自动识别到。
建议把驱动中的日志打开,可以看到MMCSD自动识别卡的过程。
建议再仔细研究一下。


想问问一种使用sdio总线驱动,和另一种直接调用rt_hw_sdcard_init()完成设备驱动注册的,有啥不同?
sdio总线驱动考虑多线程?效率更高?

不然直接使用rt_hw_sdcard_init()这种方式不是更简单么?
		sdcard_device.type  = RT_Device_Class_Block;
sdcard_device.init = rt_sdcard_init;
sdcard_device.open = rt_sdcard_open;
sdcard_device.close = rt_sdcard_close;
sdcard_device.read = rt_sdcard_read;
sdcard_device.write = rt_sdcard_write;
sdcard_device.control = rt_sdcard_control;

/* no private */
sdcard_device.user_data = &SDCardInfo;

rt_device_register(&sdcard_device, "sd0",
RT_DEVICE_FLAG_RDWR | RT_DEVICE_FLAG_REMOVABLE | RT_DEVICE_FLAG_STANDALONE);
aozima
aozima 2017-10-20
拒绝白嫖,拒绝键盘侠!
mmcsd更通用,兼容性更好。
SDIO除SD卡外,还支持一些其它设备,如WIFI。
写好SDIO总线驱动后,再接这些设备比较容易。

mmcsd相关的是通用组件,有问题,会持续更新。
Bamboo
Bamboo 2018-11-26
This guy hasn't written anything yet
aozima 发表于 2017-10-20 10:51
mmcsd更通用,兼容性更好。
SDIO除SD卡外,还支持一些其它设备,如WIFI。
写好SDIO总线驱动后,再接这些设 ...


我这边在看mmcsd的代码,问一下自动识别sd卡的代码在哪里,我没看到相关的插卡自动识别的代码
luchen7945137
luchen7945137 2019-09-08
This guy hasn't written anything yet
我也想知道,找了半天了
DEBD_4061
DEBD_4061 2020-03-02
This guy hasn't written anything yet
我也想知道

撰写答案

请登录后再发布答案,点击登录
关注者
0
被浏览
5.3k

发布
问题

分享
好友

手机
浏览

扫码手机浏览