STM32
直播中

黄鸿江

7年用户 177经验值
私信 关注
[问答]

STM的M3或者M4能用来虚拟一个U盘吗?

之前用CY68013,这个做数据采集之类的可以,但是做项目我需要提取端点数据其51内核是不满足需求的。我想问M3或者M4的问题是: 我能用它们来虚拟一个U盘吗?还有是不是其控制传输和块传输的枚举过程都需要用官方的库来编写,然后我看了下原子M3关于USB的程序,对于其端点的操作不是很明白,M3,M4提供的OTG有端点缓存吗?能直接操作吗?比如说2.0块传输阶段,我每次发512字节,这512字节是经过OUT ENDPOINT的,如果有ENDPOINT BUFFER,那我自然就可以直接从BUFFER里面把数据提取出来,像68013比如说你要提取其中一个字节,就设置一个变量等于 ENDPOINTBUF[X] 就可以了,我看了下数据手册,M3,M4对这方面说得不是很清楚,所以像问下原子和大家做过这方面的人。

回帖(6)

李高歌

2020-3-18 09:20:34
有缓存的.
不过STM32的USB貌似速度不怎么快.
ST都有官方的例子供参考,你可以去mdk的安装目录下找下.
举报

李雪飞

2020-3-18 09:31:02
 有缓存的. 不过STM32的USB貌似速度不怎么快. ST都有官方的例子供参考,你可以去mdk的安装目录下找下.
---------------------------------
那个缓存里面的数据可以在传输过程中提取出来吗?我想用M4, 在讨论可行性,M4不是2.0高速OTG么?
举报

陈思远

2020-3-18 09:47:22
m4貌似是高速的,还没研究m4...
举报

h1654155275.5748

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

更多回帖

发帖
×
20
完善资料,
赚取积分