1. 触觉智能RV1126B核心板概述
RV1126B是触觉智能推出的一款高性能AI视觉处理核心板,搭载Rockchip RV1126芯片,采用双核Cortex-A7架构,主频可达1.5GHz。这块核心板在边缘计算领域表现出色,特别适合需要实时图像处理和AI推理的场景。我最近在项目中用它实现了USB复合设备功能,过程中积累了不少实战经验。
这块板子最吸引我的地方在于其丰富的接口资源——除了常规的GPIO、I2C、SPI外,还配备了多个USB 2.0 Host/Device接口。正是这些USB接口,让我们能够实现复合设备功能。所谓USB复合设备,简单说就是通过单个USB接口模拟多个设备,比如同时作为HID键盘和存储设备。
2. USB复合设备原理与配置准备
2.1 USB复合设备工作原理
USB复合设备的核心在于描述符的巧妙设计。当设备连接到主机时,首先会发送设备描述符,其中包含bDeviceClass、bDeviceSubClass和bDeviceProtocol字段。对于复合设备,通常将bDeviceClass设为0xEF(Miscellaneous),bDeviceSubClass设为0x02(Common Class),bDeviceProtocol设为0x01(Interface Association Descriptor)。
在RV1126B上,我们需要在内核配置中启用以下关键选项:
code复制CONFIG_USB_CONFIGFS=y
CONFIG_USB_CONFIGFS_MULTI=y
CONFIG_USB_LIBCOMPOSITE=y
2.2 开发环境搭建
首先需要准备RV1126B的开发环境:
- 获取官方SDK:建议使用触觉智能提供的Buildroot或Yocto SDK
- 交叉编译工具链:arm-rockchip-linux-gnueabihf-gcc
- 调试工具:usbmon、lsusb、dmesg等
我推荐使用Ubuntu 20.04作为开发主机,因为其内核版本(5.4)与RV1126B的BSP兼容性最好。安装基础工具:
bash复制sudo apt install build-essential git-core libusb-1.0-0-dev
