android usb mass storage 通讯,[RK3288][Android6.0] USB Mass Storage流程小结

Platform: ROCKCHIP

OS: Android 6.0

Kernel: 3.10.92

USB Mass Storage遵循Bulk-Only协议,参见:

http://www.usb.org/developers/docs/devclass_docs/usbmassbulk_10.pdf

传输过程大概如下:

1. 插上设备之后USB Host读取描述符信息,判断是Bulk-Only的Mass Storage之后设置地址进入Bulk-Only传输模式.

2. 一开始使用控制端点,后面传输数据使用Bulk-In和Bulk-Out端点.数据传输协议如下,摘自协议文档.

传输流程图如下:

0818b9ca8b590ca3270a3433284dd417.png

USB 总线注册:

core/usb.c:

usb_init ->    bus_register

struct bus_type usb_bus_type = {

.name =        "usb",

.match =    usb_device_match,

.uevent =    usb_uevent,

};

Mass Storage驱动:

假设已经枚举成功, 然后会调用相应驱动的probe函数.

module_usb_driver ->

storage_probe ->

unusual_dev = (id - usb_s

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要让STM32 USB Mass Storage设备与电脑通信,您需要在STM32设备上实现USB Mass Storage设备固件,并将其连接到电脑的USB端口。然后,您可以使用计算机上的文件管理器或其他支持USB Mass Storage协议的应用程序访问STM32设备上的文件系统。您还可以通过USB接口发送和接收数据,以便在STM32设备和计算机之间传输数据。 ### 回答2: 要让STM32 USB Mass Storage设备与电脑通信,首先需要在STM32 MCU上编写相应的固件代码。 1. 首先,在STM32硬件上连接一个USB接口,并将其配置USB设备模式。可以选择配置的方式包括使用STM32提供的CubeMX软件来生成USB设备库文件或手动配置USB设备模式。 2. 然后,在STM32上编写固件代码来处理USB通信协议。这涉及到设置USB设备描述符,配置USB传输端点等。 3. 在STM32上实现Mass Storage协议。这个协议定义了通信双方之间传输文件和数据的规则。可以使用相应的软件库或编写自己的代码实现。 4. 配置文件系统。STM32 USB Mass Storage设备通常用于存储和传输文件。因此,需要在STM32上配置适当的文件系统,如FAT文件系统。 5. 将STM32插入电脑的USB端口。电脑会检测到STM32设备并加载其驱动程序。 6. 现在,可以在电脑上使用文件管理器或其他USB Mass Storage设备支持的应用程序来访问STM32设备。可以像访问其他USB存储设备一样使用它,如复制、粘贴、删除文件等。 需要注意以下事项: - 确保STM32和电脑之间使用正确的USB电缆连接。 - 在STM32的固件代码中实现正确的错误处理和状态指示,以便能够识别和解决通信问题。 - 根据系统需求,可以为STM32设备添加额外的功能,如读写保护、加密等。 总之,要使STM32 USB Mass Storage设备能够与电脑通信,必须在STM32上实现USB设备模式和Mass Storage协议,并在电脑上正确加载驱动程序。一旦连接成功,就可以像使用其他USB存储设备一样使用STM32设备。 ### 回答3: 要将STM32作为USB Mass Storage Device连接到电脑上进行通信,可以按照以下步骤进行: 1. 首先,需要在STM32的固件中实现USB MSC(Mass Storage Class)功能。这意味着STM32将会被识别为一个可见的USB存储设备。可以使用STM32提供的软件库或者其他第三方库来实现这个功能。 2. 在STM32的固件中,需要实现设备的基本功能,如初始化USB硬件、配置USB端口、配置USB中断等等。这些步骤可以通过参考相关资料或者使用官方提供的示例来完成。 3. 在电脑上,需要安装USB驱动程序。这些驱动程序通常由芯片或者供应商提供。安装驱动程序可以确保电脑能够正确识别并操作STM32作为USB设备。 4. 在电脑上,需要使用支持USB Mass Storage Device的操作系统。大部分现代操作系统都支持USB Mass Storage Device,如Windows、Linux、macOS等。插入STM32到电脑上后,操作系统会自动识别STM32作为USB存储设备。 5. 一旦STM32被识别为USB存储设备,电脑上就可以像操作常规硬盘一样进行读写操作。用户可以通过资源管理器、文件浏览器等工具来访问STM32存储设备,并操作其中的文件和文件夹。 总结起来,要将STM32作为USB Mass Storage Device与电脑通信,关键是在STM32的固件中实现USB MSC功能,并确保在电脑上安装了相关驱动程序和支持USB Mass Storage Device的操作系统。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值