在内核代码4.1.1中
rt_usb_host_init函数缺少参数。手动添加后rt_usb_host_init(“usbh”);编译通过,系统卡死
通过打印发现死在
这个位置,result = device_init(dev);有大佬看下是什么原因吗
查看更多
可以跟进去具体看看,现在给的信息太少了
欢迎发表与嵌入式相关的技术分享、开发技巧、工具介绍、技术设想、职业心得、行业评论等对他人有启发,排版优雅的文章
回到 顶部
发布 问题
分享 好友
手机 浏览
投诉 建议
回到 底部
他这个都是官方的组件代码,我刚才试了4.1.1和5.1.0两个版本都是同样的原因
stm_usbh_register跳进去到rt_usb_host_init跳进去到rt_device_init,基本就是这样
可以试试cherryusb
最后还是执行了device_init (dev->init)。
执行的应该是在res = rt_device_register(&uhcd->parent, “usbh”, RT_DEVICE_FLAG_DEACTIVATE);中注册设备时创建的ops-》init函数,但是没有找到init函数,所以我怀疑是不是没有注册设备没有init函数,跑飞的?
@Rb君
本来想着用RT-THread studio的组件,结果网上找不到参考资料,光踩坑了
没找到的话那就是这个问题了,跑飞了@Aball
@Rb君
发现问题了,是在配置代码的过程中,需要从cubemax移植初始化代码,之前只移植了USB接口的初始化代码,系统时钟没有移植。我自己创建工程系统时钟使用的是HSI,但是在cubemax中配置时钟树使用的是HSE,所以原因是时钟树冲突,修改后就可以正常读取U盘的内容了
欢迎写一个踩坑贴哈哈~@Aball