打印

u盘 Test Unit Ready 不能连续多次读取???

[复制链接]
3579|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
myxiaonia|  楼主 | 2013-8-29 14:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
经过一段时间的摸索,107的主机u盘程序写到了bot传输阶段
bot 传输使用以下步骤:
发送cbw,若出现stall,clearfeature bulk out通道后发送msc复位后再重试,其他错误直接msc复位重试
若有data,出现stall则解禁相关bulk通道,进入csw阶段;其他错误直接msc复位重试
接收csw,基本同cbw
看上去这样做可以工作

当我发送scsi命令 Test Unit Ready时,通常这第一个命令可以完成,但是bcswstatus值常为1,也就是命令错误了,我就重新开始发送Test Unit Ready(因为bot正常完成,不需要msc复位)

很遗憾,之后的每次bot传输都是在发送cbw时正常,csw超时,设为5s都超时,请问这是为什么
沙发
IJK| | 2013-8-29 14:49 | 只看该作者
自己从头写?
其实没必要,可以从ST提供的主机u盘程序开始,自己根据需要改改就行了。

使用特权

评论回复
评分
参与人数 1威望 +3 收起 理由
myxiaonia + 3 赞一个!
板凳
myxiaonia|  楼主 | 2013-8-29 15:49 | 只看该作者
就是按照库边看边改,中间很多不顺,到这一步又停下来
请问你有什么高招不

使用特权

评论回复
地板
myxiaonia|  楼主 | 2013-9-3 16:24 | 只看该作者
bulk端点启动后 数据翻转位就自动控制了 我之前还以为是和控制通道那样每次事务配置

使用特权

评论回复
5
zeluo| | 2013-9-3 19:37 | 只看该作者
这个   在官网上找找技术例程   应该不需要从头开始干   这样   不是太了吗

使用特权

评论回复
6
myxiaonia|  楼主 | 2013-9-5 11:09 | 只看该作者
zeluo 发表于 2013-9-3 19:37
这个   在官网上找找技术例程   应该不需要从头开始干   这样   不是太了吗

事实上我直接把官网那个例程改成我的开发板可以用的,而且还改成寄存器操作,不使用外设库的

我现在做的是连主机库也不用了

我这也算是学习usb,而不仅仅是在移植

使用特权

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

本版积分规则

个人签名:只灌水,不技术

18

主题

499

帖子

5

粉丝