打印
[STM32H7]

USB MSC在FreeRTOS的CMSIS_V2下不灵的问题解决

[复制链接]
636|21
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
dsyq|  楼主 | 2025-2-6 13:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 dsyq 于 2025-2-6 13:43 编辑

问了一下kimi,回答了很多问题,右侧列出了ST官网的帖子:Solved: USB HOST with MSC is not working on FreeRTOS CMSIS... - STMicroelectronics Community

进入usbh_conf.h中,约100行,改为#define USBH_PROCESS_STACK_SIZE    ((uint16_t)1024) 即可。

当然,cubeMX下扩大配置这个任务的栈尺寸也可以。

使用特权

评论回复
沙发
问题找到了嘛?

使用特权

评论回复
板凳
dsyq|  楼主 | 2025-2-7 15:19 | 只看该作者
找到了啊
任务栈开大一点!

使用特权

评论回复
地板
FreeRTOSCMSIS_V2环境下,可能存在任务优先级、堆栈大小等资源分配上的冲突。例如,USB HOSTMSC任务可能没有足够的堆栈空间来正常运行

使用特权

评论回复
5
一秒落纱| | 2025-2-8 02:00 | 只看该作者
配置不当也是一个常见问题。在usbh_conf.h文件中,USB HOST任务的堆栈大小可能未正确设置。根据一些论坛和社区的经验,将USBH_PROCESS_STACK_SIZE设置为较大的值(如1024)可能有助于解决问题

使用特权

评论回复
6
夜阑风雨| | 2025-2-8 03:00 | 只看该作者
USB MSC操作涉及大量的中断处理,如果中断优先级设置不当或中断服务程序(ISR)存在缺陷,可能导致USB通信不稳定或失败

使用特权

评论回复
7
远山寻你| | 2025-2-8 04:00 | 只看该作者
确保FreeRTOS中的中断优先级配置与USB HOST的要求相匹配,并检查ISR的实现是否正确

使用特权

评论回复
8
光辉梦境| | 2025-2-8 05:00 | 只看该作者
时钟配置对于USB通信至关重要。如果时钟频率不稳定或配置不正确,可能导致USB通信失败。检查STM32H7的时钟树配置,确保USB相关的时钟(如48MHz USB时钟)已正确配置并稳定输出

使用特权

评论回复
9
三生万物| | 2025-2-8 06:00 | 只看该作者
电源管理不当也可能导致USB通信问题。例如,如果电源电压不稳定或电源管理策略不合理,可能影响USB设备的正常工作。确保开发板或系统的电源电压稳定,并检查电源管理策略是否符合USB设备的要求

使用特权

评论回复
10
淡漠安然| | 2025-2-8 07:00 | 只看该作者
FreeRTOSCMSIS_V2的组合可能与某些USB MSC设备的固件或驱动程序存在兼容性问题。尝试更新FreeRTOSCMSISUSB设备的固件和驱动程序,以查看是否解决了问题。

使用特权

评论回复
11
江河千里| | 2025-2-8 08:00 | 只看该作者
硬件连接不良或损坏也可能导致USB通信失败。检查USB连接器和电缆是否完好,并确保它们正确连接到STM32H7开发板和USB设备。

使用特权

评论回复
12
公羊子丹| | 2025-2-8 08:35 | 只看该作者
这个方法确实有效!我把栈尺寸调到1024,USB MSC在FreeRTOS下就正常了,多谢分享!

使用特权

评论回复
13
周半梅| | 2025-2-8 08:36 | 只看该作者
Kimi真是大神,思路清晰又直接,感觉跟着他的回答少踩了很多坑!

使用特权

评论回复
14
帛灿灿| | 2025-2-8 08:37 | 只看该作者
刚试了一下楼主的方法,果然行得通,这个栈空间问题之前还真没注意到。

使用特权

评论回复
15
童雨竹| | 2025-2-8 08:40 | 只看该作者
我也是踩了这个坑才发现是栈太小了……感谢楼主总结经验,少走弯路!

使用特权

评论回复
16
万图| | 2025-2-8 08:41 | 只看该作者
请问楼主试过更高的栈配置吗?比如2048?感觉复杂项目可能1024也不够用。

使用特权

评论回复
17
Wordsworth| | 2025-2-8 08:42 | 只看该作者
FreeRTOS配置确实坑多,我之前还遇到USB掉线问题,后来才发现是任务优先级没设置好。

使用特权

评论回复
18
Bblythe| | 2025-2-8 08:44 | 只看该作者
这点确实要注意,cubeMX默认的很多配置不太适合实际应用,尤其在FreeRTOS环境下。

使用特权

评论回复
19
Pulitzer| | 2025-2-8 08:45 | 只看该作者
感觉ST的官方帖子有时候说得太模糊了,还是社区分享的经验更实用!

使用特权

评论回复
20
Uriah| | 2025-2-8 08:46 | 只看该作者
有没有人用这个方法配合SD卡驱动?我打算做个MSC+SD的功能,不知道还有什么坑。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

58

主题

631

帖子

10

粉丝