[STM32F1] Cube生成的USB MSC工程问题

[复制链接]
 楼主| zhanzr21 发表于 2015-12-21 17:57 | 显示全部楼层 |阅读模式
我原来有一个项目:STM32F105+SPI Flash当做USB MSC Device工作,用的是标准库和单独的USB OTG Device库(V2.1.0)做的. 没有问题。

因为现在想把整个项目迁移到Cube上去, 于是重新用Cube生成的代码。驱动什么的也做好了. Cube是4.12.0的版本, F1_1.2.0的Firmware包。

驱动什么的都改好了, 但是工作不正常。

首先枚举获取各种描述符是正常的。电脑可以识别出U盘来, 经过调试SCSI Inquiry命令执行成功。
但是接著的 SCSI Read Format Capacity命令 与SCSI Read Capacity命令就执行不成功。在我原来老工程里面,这两个命令只会分别执行一次,跟著就获取分区表了。可是Cube生成的工程中, Read Format Capacity执行了三次, Read Capacity执行了两次。回复我比较过了,跟老工程中的回复是一样的. 但是电脑端似乎并没有收到这里的回复。后面的读写CBW中的数据长度也与我前面回复的Sector长度不一样。导致不能读写格式化。

Cube生成的代码, 都是用的HAL与LL的库函数,与之前的标准库改动很大了. 所以看起来也很慢。

请问大侠们有没有思路。 @computer00 @香水城
 楼主| zhanzr21 发表于 2015-12-21 23:01 | 显示全部楼层
改了改PID VID 把问题解决了 原因还没有搞清楚 猜想可能跟windows的缓存有关吧 暂时没有时间研究了 先用著
computer00 发表于 2015-12-25 20:09 | 显示全部楼层
windows会自动将驱动和VID/PID等绑定,如果你设备功能改了,而ID不改,驱动就会加载错。
可以把驱动卸载或更换ID试试。
forgot 发表于 2015-12-25 21:09 | 显示全部楼层
看来现在用cube开发的越来越多了
zhuotuzi 发表于 2015-12-25 21:23 | 显示全部楼层
cube的确好用,不过用的还不是很熟练,希望有中文版的教程。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

91

主题

1017

帖子

34

粉丝
快速回复 在线客服 返回列表 返回顶部