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

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

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

触觉智能RK3562核心板系列即将升级,新增板对板连接器封装版本,将内置无线WiFi蓝牙模组,进一步提升集成性!

UMS是什么?

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

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

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

  • 内核编译配置

在<SDK_TOP_PATH>/kernel-5.10/arch/arm64/configs/rockchip_linux_defconfig文件中,增加如下配置:

CONFIG_USB_CONFIGFS_MASS_STORAGE=y CONFIG_USB_F_MASS_STORAGE=y

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

cd <SDK_TOP_PATH> ./build.sh kernel

编译成功后,会生成boot.img,通过电脑烧录工具烧录。

执行以下命令,开启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电脑上看到一个新的盘符,由于磁盘分区格式默认是ext4格式Windows系统无法正常挂载,提示格式化如下:

在格式化后的磁盘新建任意文件,进行验证:

执行如下命令取消默认的userdata分区挂载,以exFAT格式挂载userdata分区:

umount /userdata/ mount -t exfat /dev/mmcblk0p6 /userdata/

在板卡系统上可以访问到Windows端PC创建的测试文件,即表示配置成功:

ACM

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

  • 内核编译配置

在<SDK_TOP_PATH>/kernel-5.10/arch/arm64/configs/rockchip_linux_defconfig文件中,文件中添加如下配置内容(说明:出厂固件默认已支持如下配置):

# cdc-acm CONFIG_USB_ACM=y CONFIG_USB_F_ACM=y

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

cd <SDK_TOP_PATH> ./build.sh kernel

编译成功后,会生成boot.img,通过电脑烧录工具烧录即可。

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

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

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

  • ACM功能测试验证

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

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

root@rk3562:/# stty -F /dev/ttyGS0 speed 9600 baud; line = 0; -brkint -imaxbel root@rk3562:/# stty -F /dev/ttyGS0 9600 root@rk3562:/# cat /dev/ttyGS0

开发板与PC端收发测试:

看到数据回传就表示ACM功能配置完成。关注触觉智能,为您带来更多技术干货与工业嵌入式解决方案。

http://www.jsqmd.com/news/777699/

相关文章:

  • Box64终极实战:ARM设备原生运行x86_64程序的完整指南
  • macOS软件管理终极指南:用Applite加速Homebrew Casks体验
  • 工程师如何应对社交媒体干扰:深度工作与信息效率的平衡策略
  • MedSAM如何解决医学影像分割的三大核心挑战?
  • 如何用嘎嘎降AI应对PaperPass检测:PaperPass算法特点针对性降AI完整操作教程
  • 当你打开 whisper.cpp 的词表,发现 50256 不是终点——而是一整套隐藏操控指令的起点
  • 探索Taotoken API密钥的权限管理与审计日志功能
  • 从零到一:Universal x86 Tuning Utility如何重新定义硬件性能调优
  • 魔兽争霸3终极优化指南:WarcraftHelper完全使用教程
  • 【保姆级教程】不装 Anaconda,用 OpenFiles 三分钟打开 / 编辑 .ipynb,还能让 AI 直接改代码
  • 【Linux系统】初识OS的进程管理:查看与创建进程
  • AR眼镜硬件工程挑战:从功耗散热到系统集成的现实约束
  • 用Python+NumPy手把手复现数学建模国赛题:无人机编队纯方位定位(附完整代码)
  • 职业发展中的导师网络构建:从线性规划到多维连接
  • 工业自动化平台化架构:从硬件绑定到软件定义的转型之路
  • 从长江出发,与世界同步——2026武汉工业双展全球共振。
  • 电商AI绘图实操教程:2026三大场景快速搞定主图创作 - PC修复电脑医生
  • Linux 进程、管道与变量隔离深度解析
  • 2026信创数据中心KVM切换器选型指南:国产化方案与安全隔离实践
  • 解决Claude Code访问不稳定与Token不足的替代方案实践
  • 26国考补录公告已出
  • 固定式气体检测设备售后服务较好的厂商 - 品牌推荐大师
  • ComfyUI-Impact-Pack V8:3大AI图像增强技巧让普通人也能专业修图
  • 我们到底在为安全运维服务买单什么?——国内厂商核心能力拆解
  • CanMV K230上手初体验:除了跑AI,它的MicroPython环境还能玩出什么花样?
  • 如何用Keyboard Chatter Blocker终极解决机械键盘连击问题:完整配置指南
  • 如何快速掌握KLayout版图工具:从零开始的芯片设计实战指南
  • 内容创作平台集成 Taotoken 实现按需切换不同风格的文本生成模型
  • 利用Taotoken统一API管理多个项目的AI模型调用与成本
  • ComfyUI-Manager离线模式配置:无网络环境下的企业级部署解决方案