打印

各位大大,我想问问关于STM的M3或者M4关于USB的问题

[复制链接]
2102|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
SEASON3|  楼主 | 2011-12-14 16:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
之前用CY68013,这个做数据采集之类的可以,但是做项目我需要提取端点数据其51内核是不满足需求的。我想问M3或者M4的问题是: 我能用它们来虚拟一个U盘吗?还有是不是其控制传输和块传输的枚举过程都需要用官方的库来编写,然后我看了下原子M3关于USB的程序,对于其端点的操作不是很明白,M3,M4提供的OTG有端点缓存吗?能直接操作吗?比如说2.0块传输阶段,我每次发512字节,这512字节是经过OUT ENDPOINT的,如果有ENDPOINT BUFFER,那我自然就可以直接从BUFFER里面把数据提取出来,像68013比如说你要提取其中一个字节,就设置一个变量等于 ENDPOINTBUF[X] 就可以了,我看了下数据手册,M3,M4对这方面说得不是很清楚,所以像问下大家做过这方面的人。

主要是那个缓存里面的数据可以在传输过程中提取出来吗?

我看了下MDK的例程,貌似是开辟RAM来做端点吧,然后用户可以自己建一个USERBUF? 有个函数好像是PMA TO USERBUF和 USERBUF TO PMA的,PMA是为什么我还是不是很理解,貌似用户可以直接利用那个端点的,那我虚拟U盘(类似圈圈用PDI做的那个),回复SCSI指令还有BOT协议之类的,应该可以直接操作端点回复我想回复的数据吧?

还有,STM32的USB库是开源的吧?
沙发
香水城| | 2011-12-14 20:25 | 只看该作者
LZ可以直接看ST的USB库和里面的例程,有一个U盘的例程,都是免费的,在ST网站下载。

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
SEASON3 + 1 谢谢
板凳
无冕之王| | 2011-12-14 23:20 | 只看该作者
是开源的

使用特权

评论回复
地板
xukong| | 2011-12-15 00:26 | 只看该作者
关于USB的端点Buffer系统内部有专门开辟的存储空间,利用UserToPMA 和PMAToUser可以相互拷贝数据,也可以在数据链路的时候直接通过copyroutine进行直接映射,将接收到的数据直接映射为你准备存放的空间,当然,有管道的限制---控制管道。

使用特权

评论回复
5
xukong| | 2011-12-15 00:26 | 只看该作者
关于USB的端点Buffer系统内部有专门开辟的存储空间,利用UserToPMA 和PMAToUser可以相互拷贝数据,也可以在数据链路的时候直接通过copyroutine进行直接映射,将接收到的数据直接映射为你准备存放的空间,当然,有管道的限制---控制管道。

使用特权

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

本版积分规则

1

主题

54

帖子

1

粉丝