你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

ART-PI H750-USB-MSC 设备描述符异常

[复制链接]
talk is cheap 提问时间:2025-5-12 17:44 / 未解决

主控:STM32H750XBH6- ART-Pi

开发环境:CubeMX+MDK V5.27 问题背景: 当前已经调试通SD卡+Fatfs文件系统,(通过主控来模拟读卡器)使用单根USB-C线缆连接至PC端 PC侧能够传输文件至主控侧的SD卡中。

诉求:当前是使用CubeMX进行配置,最后应该会迁移到ART-Pi的RTT的SDK中(使用cherry-USB),最后应该会做一个CDC+MSC的混合设备,想先在裸机上进行测试,没看到HAL库的MSC设备的初始化,也看了一些ST-官网的文档 没咋看到相关问题 初次使用USB外设 还不太理解USB中间件整个信息流的处理过程 麻烦大佬指点下

1.SD卡-验证

sd-card.png

2.CubeMX配置

2.1 时钟配置

rcc.png

2.2 USB配置

usb-config.png

2.3 中间件配置

middleware.png

2.4 堆栈配置

stack_heap.png

3.逻辑分析仪观察

3.1 主机发送请求设备描述符的SETUP事务阶段

wave1.png

调试能够抓取到SETUP请求字段,逻辑分析仪抓取不到对应返回设备描述符的报文

stack_callback.png

3.2 主机发送请求设备描述符的IN事务阶段

wave2.png

3.3 接口重写

sd_read_interface.png

想咨询下 是否应该根据文档《USB进阶培训_Part1_USB类的介绍》来查看回调函数Datain接收后对应的异常情况

device_cb_func.png

setup.png
setup.png
收藏 评论1 发布时间:2025-5-12 17:44

举报

1个回答
talk is cheap 回答时间:2025-5-13 13:23:27

1.如下图 理论上SETUP事务后 STM32-USB设备应当在IN事务后进行上传设备描述符信息 不太理解HAL库在USB-Device在接收到SetUP事务后的逻辑:HAL_PCD_EP_Transmit是只是将数据存储到FIFO中,等到接受到IN事务后进行发送处理吗? 但是查看DATAIN函数的运行轨迹很奇怪,麻烦指点一下 control_transfer.png

DATAIN_Stage.png

所属标签

相似问题

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版