news 2026/10/31 20:15:17

触觉智能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/10/31 0:57:37

资源争抢频发?深度解析边缘Agent调度中的QoS保障机制

第一章&#xff1a;资源争抢频发&#xff1f;深度解析边缘Agent调度中的QoS保障机制在边缘计算环境中&#xff0c;多个Agent常因共享有限的计算、网络与存储资源而引发争抢&#xff0c;导致关键任务延迟或服务质量&#xff08;QoS&#xff09;下降。为应对这一挑战&#xff0c;…

作者头像 李华
网站建设 2026/10/31 6:14:42

19、Awk编程:数组操作与实用程序实现

Awk编程:数组操作与实用程序实现 1. 日期处理与数组索引 在处理日期输入时,如果输入解析失败,我们会认为输入无效并退出程序。若成功解析输入, date[1] 会包含月份的数字。不过在使用 date[1] 作为数组 month 的索引之前,需要对其进行类型转换,通过加 0 来实现。…

作者头像 李华
网站建设 2026/10/31 13:39:12

PyPSA电力系统建模工具:从理论到实践的完整解决方案

PyPSA电力系统建模工具&#xff1a;从理论到实践的完整解决方案 【免费下载链接】PyPSA PyPSA: Python for Power System Analysis 项目地址: https://gitcode.com/gh_mirrors/py/PyPSA 在当今能源转型的关键时期&#xff0c;电力系统分析工具的重要性日益凸显。PyPSA&a…

作者头像 李华
网站建设 2026/10/30 19:31:04

【高轨VS低轨抗干扰对比】:低轨卫星Agent必须掌握的7项生存法则

第一章&#xff1a;低轨卫星Agent抗干扰的核心挑战在低轨卫星&#xff08;LEO Satellite&#xff09;系统中部署智能Agent面临诸多抗干扰难题。由于卫星运行高度低、移动速度快&#xff0c;通信链路频繁切换&#xff0c;导致信号易受多普勒频移、大气衰减和地面干扰源影响。为保…

作者头像 李华
网站建设 2026/10/30 23:30:10

Windows ISO补丁集成终极指南:自动化脚本完整教程

Windows ISO补丁集成终极指南&#xff1a;自动化脚本完整教程 【免费下载链接】Win_ISO_Patching_Scripts Win_ISO_Patching_Scripts 项目地址: https://gitcode.com/gh_mirrors/wi/Win_ISO_Patching_Scripts 想要轻松为Windows ISO镜像集成最新补丁&#xff1f;Win_ISO…

作者头像 李华