当前位置: 首页 > news >正文

触觉智能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,为您带来更多硬核技术干货与工业嵌入式解决方案。

http://www.cnnetsun.cn/news/130577.html

相关文章:

  • 5步搞定OpenWrt Docker管理:告别命令行烦恼的终极方案
  • 【Halcon-1D测量】reset_fuzzy_measure 函数功能(用于重置模糊测量规则)
  • HTMLMinifier:3个让网站加载速度翻倍的实用技巧
  • Layui-Admin后台管理系统技术评估与实施指南
  • 全球TOP 10物联网公司都在用的Agent节能技术,你知道几个?
  • CSS Grid Generator终极指南:前端开发的高效工具
  • ELPV数据集实战指南:太阳能电池缺陷检测的完整解决方案 [特殊字符]
  • 【量子-经典Agent协同突破】:揭秘下一代智能系统融合架构
  • 在 Docker 中运行 Java JAR 包实战教程
  • 如何快速上手PPTist:从零开始掌握专业级在线PPT编辑
  • SpiffWorkflow终极指南:从零构建企业级工作流自动化系统
  • 从阅片到决策支持,医疗影像Agent究竟改变了什么?
  • 【从云端到终端】:边缘AI Agent模型压缩的3个关键转折点
  • PSD文件解析利器:Python库PSD Tools深度解析
  • 边缘Agent资源调度实战(从理论到落地的9个关键步骤)
  • odoo采购收货报表处理
  • 【金融合规监控盲区曝光】:80%风险源于这4个规则缺失
  • 河道流量水质监测系统解决方案
  • 从零开始构建AI Agent日志监控体系,企业级实践必备技能
  • MCP续证有效期怎么算?一文看懂微软官方政策与隐藏条款
  • 【大模型面试题】15道大模型多模态Agent高频面试题详解,从小白到高手全覆盖!
  • 5分钟快速部署NSMusicS:免费开源的终极音乐播放器完整指南
  • 配置效率提升8倍,MCP Azure量子扩展你必须知道的7个隐藏技巧
  • QQScreenShot终极使用手册:10个提升效率的截图技巧
  • 如何用AI Agent实现护理任务100%准时提醒?:一线专家实战经验分享
  • MCP SC-400合规报告配置全流程(从零到一键生成)
  • Kotaemon数学公式渲染:LaTeX支持配置方法
  • 安卓投屏终极指南:3种方法让你的手机秒变电脑第二屏
  • MCP MS-720 Agent日志审计怎么做?90%安全团队忽略的4个高危盲区
  • 网易云音乐音质提升利器:杜比大喇叭β版全方位体验指南