news 2026/4/18 5:32:52

触觉智能RK3506开发板配置USB复合设备(下)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
触觉智能RK3506开发板配置USB复合设备(下)

本文基于触觉智能RK3506开发板,为大家介绍配置USB复合设备,本章节将介绍UMS和ACM复合设备数据交互。

UMS

UMS是USB协议体系中定义大容量存储设备通信规范的标准化协议,通过批量传输协议实现主机与存储设备间的数据交换,给Host设备提供⼤容量外挂存储。兼具兼容性强、即插即用、传输稳定的特点,UMS与MTP有以下区别:

● UMS以Block为单位⼯作; MTP则以⽂件为单位⼯作。

● UMS⼯作时, ⽬标Block为独占⼯作,多⽤⼾操作同⼀Block将会出现错误; MTP⽀持多⽤⼾操作。

  • 内核编译配置

在<SDK_TOP_PATH>/kernel/arch/arm/configs/rk3506_defconfig文件中,增加如下配置:

# ush_otg_rndis CONFIG_USB_MASS_STORAGE=m

成功添加后重新编译kernel,命令如下:

cd <SDK_TOP_PATH> ./build.sh kernel

编译成功后,会生成usb_f_mass_storage.ko、g_mass_storage.ko,将其拷贝至开发板的任意目录下,并进行安装,命令如下:​​​​​​​

insmod usb_f_mass_storage.ko insmod g_mass_storage.ko

执行以下命令,开启UMS功能:

echo usb_ums_en > /etc/init.d/.usb_config echo "ums_block=/dev/block/by-name/userdata" >> /etc/init.d/.usb_config /usr/bin/usbdevice restart

开启后,可以在PC上看到一个新的U盘盘符,表示挂载⼤容量外挂存储成功:

ACM

ACM全称Abstract Control Model 抽象控制模型, 是 USB-IF 定义的通信设备类(CDC)子协议,核心功能是让USB设备模拟成串口设备,在主机(Host)和设备(Device)两端生成 TTY(Teletypewriter)字符设备节点,实现全双工的数据交互。

  • 内核编译配置

在<SDK_TOP_PATH>/kernel/arch/arm/configs/rk3506_defconfig文件中,增加如下配置:​​​​​​​

# ACM CONFIG_USB_ACM=m CONFIG_USB_F_ACM=m

成功添加后重新编译kernel,命令如下:​​​​​​

cd <SDK_TOP_PATH> ./build.sh kernel

编译成功后,会生成u_serial.ko、usb_f_acm.ko,将其拷贝至开发板的任意目录下,并进行安装,命令如下:

insmod u_serial.ko insmod usb_f_acm.ko

执行以下命令,开启ACM功能:​​​​​​​

echo usb_acm_en > /etc/init.d/.usb_config /usr/bin/usbdevice restart

完成后,可以在开发板识别如下节点:

root@rk3506-buildroot:/root# ls /dev/ttyGS0 /dev/ttyGS0 root@rk3506-buildroot:/root#
  • ACM功能测试

打开PC端的调试工具,可以识别出一个USB串行设备,如下:

开发板可以通过以下命令,查看usb串口波特率。另外,串口波特率可通过microcom等工具设置:

stty -F /dev/ttyGS0

开发板与PC端收发测试:

基于RK3506核心板、开发板的USB复合设备教程就此完结,关注触觉智能CSDN,为您带来更多硬核技术干货与工业嵌入式解决方案。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/14 10:45:42

38、虚拟化技术的全面解析与实践指南

虚拟化技术的全面解析与实践指南 1. 硬件基础 硬件在整个系统中起着至关重要的作用。选择合适的硬件是构建高效系统的第一步。 - 处理器 :处理器的选择需要综合考虑多个因素。DC(双核)处理器和SC(单核)处理器各有特点,在选择时要根据实际需求进行判断。同时,匹配处…

作者头像 李华
网站建设 2026/4/18 5:04:33

Img2Vec终极指南:5分钟掌握PyTorch图像向量化技术

Img2Vec终极指南&#xff1a;5分钟掌握PyTorch图像向量化技术 【免费下载链接】img2vec :fire: Use pre-trained models in PyTorch to extract vector embeddings for any image 项目地址: https://gitcode.com/gh_mirrors/im/img2vec Img2Vec是一个基于PyTorch构建的智…

作者头像 李华
网站建设 2026/4/16 22:59:11

物流运输Agent如何实时调整路线?5大核心技术揭秘

第一章&#xff1a;物流运输Agent路线调整的核心挑战在动态复杂的物流网络中&#xff0c;运输Agent的路线调整面临多重技术与业务层面的挑战。传统的静态路径规划难以应对实时交通变化、突发天气状况或临时订单插入等场景&#xff0c;导致运输效率下降和成本上升。实时环境感知…

作者头像 李华
网站建设 2026/4/10 7:39:59

【工业4.0关键一步】:掌握这5种Agent协作模式,让你的产线效率提升300%

第一章&#xff1a;工业机器人Agent协作的演进与趋势随着智能制造和柔性生产线的快速发展&#xff0c;工业机器人不再作为孤立的执行单元运作&#xff0c;而是以“Agent”形式参与多主体协同系统。这种协作模式赋予机器人自主决策、环境感知与动态协调能力&#xff0c;推动生产…

作者头像 李华
网站建设 2026/4/17 14:49:07

16、Awk 编程:关系与布尔运算符、文件信息处理及格式化输出

Awk 编程:关系与布尔运算符、文件信息处理及格式化输出 1. 关系与布尔运算符 关系和布尔运算符在 Awk 编程中扮演着重要角色,它们允许我们对两个表达式进行比较。 1.1 关系运算符 关系运算符的具体信息如下表所示: | 运算符 | 描述 | | ---- | ---- | | < | 小于 …

作者头像 李华
网站建设 2026/4/10 17:01:50

18、条件语句、循环和数组的深入解析

条件语句、循环和数组的深入解析 在编程中,条件语句、循环和数组是非常重要的概念,它们可以帮助我们更高效地处理数据和控制程序的流程。下面将详细介绍这些概念及其在实际编程中的应用。 1. 主输入循环示例 主输入循环是一种常见的编程结构,用于提示用户输入并从标准输入…

作者头像 李华