STM32F2 怎么实现模拟U盘

lr2131 2016-01-15 10:28:29
功能需求:把STM32F2的USB接口接到电脑上,让电脑识别这个STM32F2为U盘,U盘的空间就是这个STM32F2的内部Flash,虽 然很小,但我也不需要更多的,存储空间不需要用SD卡。

注意事项:我并不是想让STM32F2再去接U盘,而是让STM32F2本身做为U盘,这两个功能是不一样的,很容易混淆。
所以这里应该用到的是device的MSC,而不是host的MSC。

目前进度:目前,在官方下载的F2的USB demo,烧录到板子上,DFU是测试通过了,但MSC却始终不行,插到电脑上,一直会显 示成未知的设备,但U盘本身是不用装驱动。现在我也不知道该怎么往下走了

...全文
651 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
lr2131 2016-03-11
  • 打赏
  • 举报
回复
引用 11 楼 zhongguanxin 的回复:
让STM32伪装成一个U盘,电脑发来的数据用程序回复,骗电脑,这是外部的一个G盘!这是我的想法,所以电脑USB发来的数据要识别好,模似一个真U盘的初始通讯
是的,最初就是想做成这种,毕竟用户对U盘操作最熟悉,且不用装驱动。 操作简单且安全
lr2131 2016-03-11
  • 打赏
  • 举报
回复
引用 12 楼 ma111000522 的回复:
STM32F2Cube库里面应该有这样的Demo程序的
没有,我们已经试过多次了,最后还是用的官方的USB的库做的,CubeMX还是有不完善的地方。 结贴!
花开花落_fzu 2016-03-11
  • 打赏
  • 举报
回复
STM32F2Cube库里面应该有这样的Demo程序的
zhongguanxin 2016-03-10
  • 打赏
  • 举报
回复
让STM32伪装成一个U盘,电脑发来的数据用程序回复,骗电脑,这是外部的一个G盘!这是我的想法,所以电脑USB发来的数据要识别好,模似一个真U盘的初始通讯
lr2131 2016-01-22
  • 打赏
  • 举报
回复
引用 9 楼 jennyvenus 的回复:
usb俺一知半解,未知设备,如果用bus hound看通讯,一般是某个指令响应的不正常,如何不正常,查起来与分析都很难。
嗯嗯,借助USB分析器可能会快点,没有分析器,后面也没时间在这个点上搞了。 多谢一直关注! 这个问题,咨询过搞USB的同事,未识别的设备,原因在slave端和host端都有可能。 host端的驱动做得不好,未经过数字签名。 slave端的驱动也可能有类似的问题。 毕竟host和slave端都是官方提供的,我没有在核心部分修改,都只是在外围加了些调试和显示。
用户 昵称 2016-01-22
  • 打赏
  • 举报
回复
usb俺一知半解,未知设备,如果用bus hound看通讯,一般是某个指令响应的不正常,如何不正常,查起来与分析都很难。
lr2131 2016-01-21
  • 打赏
  • 举报
回复
引用 2 楼 jennyvenus 的回复:
网银用的U盾,都是usb设备,并且很多都是scsi型,scsi与u盘只有报的描述符不同,通讯过程很类似。 pc与U盾设备通讯,一般使用scsi中的扩展名称,标准命令就是u盘读写。 传说中的scsi型U盾,都是写里面的固件,每一条命令都经过了单片机处理,如果你有精力实现,肯定能实现一个U盘设备,并且访问芯片内部flash。 如果没有精力,就多问问厂商吧。
能找厂商就好了,原厂提供的demo都不知道为什么在板子上就没通..................
用户 昵称 2016-01-21
  • 打赏
  • 举报
回复
网银用的U盾,都是usb设备,并且很多都是scsi型,scsi与u盘只有报的描述符不同,通讯过程很类似。 pc与U盾设备通讯,一般使用scsi中的扩展名称,标准命令就是u盘读写。 传说中的scsi型U盾,都是写里面的固件,每一条命令都经过了单片机处理,如果你有精力实现,肯定能实现一个U盘设备,并且访问芯片内部flash。 如果没有精力,就多问问厂商吧。
用户 昵称 2016-01-21
  • 打赏
  • 举报
回复
pc与U盾设备通讯,一般使用scsi中的扩展命令
lr2131 2016-01-21
  • 打赏
  • 举报
回复
引用 7 楼 jennyvenus 的回复:
那就不好弄了,usb的东西虽然常见,也都成熟,从0开始做,却非常难,要学很多知识,开发工具,调试硬件,还有那一大堆一大堆的协议。
主要有两个问题: 1.不稳定,有时茶芥道电脑上不识别,会显示成未知设备 2.U盘的功能,用的官方的东西,几乎都没改过,但还是不通。换了几个版本的工程,也换了几个人的电脑,还是一样的效果。 确实难搞,头大。关键项目时间也很短
用户 昵称 2016-01-21
  • 打赏
  • 举报
回复
那就不好弄了,usb的东西虽然常见,也都成熟,从0开始做,却非常难,要学很多知识,开发工具,调试硬件,还有那一大堆一大堆的协议。
lr2131 2016-01-21
  • 打赏
  • 举报
回复
引用 5 楼 jennyvenus 的回复:
如果以后一直要维护,那就从0开始,自己实现usb功能。
如果能做到这样,我都可以不用在这待了
用户 昵称 2016-01-21
  • 打赏
  • 举报
回复
如果以后一直要维护,那就从0开始,自己实现usb功能。
lr2131 2016-01-18
  • 打赏
  • 举报
回复
没人做过这种类似的吗? 顶起,不能轻易沉了啊

27,375

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧