Usb驱动移植成功了,能发现设备,怎么挂载U盘
查看更多
menuconfig 里打开 mess storage 就行了,自动挂载的
欢迎发表与嵌入式相关的技术分享、开发技巧、工具介绍、技术设想、职业心得、行业评论等对他人有启发,排版优雅的文章
回到 顶部
发布 问题
分享 好友
手机 浏览
投诉 建议
回到 底部
打开了,是这样吧
自动咋挂载啊,挂载到哪了
@HBQ 没错,是这里,但是应该会多出来挂载点儿的配置。你这个没有?

在这个主机里的吧,一个 usb 口只能选其中一种,要么是主机要么是设备
在这里面了
都打开了,还是没发现U盘
@HBQ 你指定的这个目录,得保证挂载前存在啊。把这里的 “/udisk” 改成 “/“
改了,还是不行,初始化就没发现U盘
@HBQ udisk.c 文件,里面有个 udisk_run ? 最后那个函数,它负责插上U盘后的自动挂载的,这个文件没添加编译吗?
@出出啊 编译了
我加打印语句,发现这个函数没有执行
@HBQ 插上U盘没有错误信息?不会是引脚复用没修改?
没有错误信息
@HBQ 底层中断进不进?
@HBQ 我的文章第一篇就是当初我调试 usbhost 遇到的问题的过程,有兴趣可以看看,里面还有很多大佬分享的自己的优化方案
@出出啊 启动显示连接U盘成功了,停在 start enumnation 这里了,拔掉U盘也显示usb disconnnect
拔掉U盘
@出出啊 跟代码发现是停在这个函数这了,这个函数我找不到原型,不知道怎么实现的
@出出啊 跳转代码只能跳转到结构体定义这
@HBQ pipe_xfer 是和芯片相关的,驱动最底层的接口实现。。。
st 系列里的文件是 drv_usbh.c 这个文件,你配置的不对还是出错了,这个文件没参与编译?
代码在pipe_xfer 这停止了,不往下执行了
@出出啊 drv_usbh.c参与编译了
@出出啊 在usbhost_core.c里代码调用关系是这样的
rt_usbh_attatch_instance()->rt_usbh_get_descriptor()->rt_usb_hcd_setup_xfer()->pipe_xfer()
@HBQ 对啊,pipe_xfer 是个指针,它真正的实现是在 drv_usbh.c 里,打开那个文件,pipe_xfer 被调用的时候肯定是调用 drv_usbh.c 里的 drv_pipe_xfer 好像是叫这个名字。
@出出啊 对,一直在drv_pipe_xfer里循环
@出出啊 我按照你写得文章把这个改了,不死循环了,但出现 get device descriptor head failed
@出出啊 这个改了之后,代码就在这报错了
@HBQ 硬件故障,usb 时钟主频改过吗?它可能要求的某固定频率
@出出啊 时钟频率应该怎么配置啊,有教程没
解决了,确实是时钟频率的问题,得按照板子的晶振频率,把USB的时钟配成48M
还有drv_usbh.c里这个函数的延时加大点,不然一直nak
@HBQ 这个延时变长速度会变慢,
rt_usb_hcd_pipe_xfer
这个函数里的延时用上了吗?这里的延时对解决 nak 也很有帮助