前言视觉采集是嵌入式智能设备的核心功能USB UVC 协议摄像头因免驱、兼容性好在国产龙芯平台上被广泛使用。但米联客 LS03 的默认内核通常未开启 UVC 驱动支持需要手动配置编译再配合 QT 实现画面显示。本文基于米联客 LS03 开发板龙芯 2K301 主控完整讲解内核 UVC 驱动开启、QT 摄像头程序交叉编译、屏幕显示调试的全流程。一、前置条件米联客 LS03 开发板运行 LoongOS 系统自带 OpenCV 库符合 UVC 协议的 USB 摄像头龙芯 2K301 内核源码与交叉编译环境QT 交叉编译工具链龙芯 LoongArch 版本二、内核开启 UVC 摄像头驱动1. 进入内核配置界面在内核源码目录执行配置脚本进入图形化配置make kernel menuconfig.sh2. 开启多媒体与 UVC 支持按以下路径逐层勾选驱动全部编译进内核标记为*进入Device Drivers → Multimedia support按空格选中Multimedia support进入子菜单勾选Cameras/video grabbers support进入Media USB Adapters勾选Media USB Adapters勾选USB Video Class (UVC)可选勾选UVC input events device support配置完成后保存退出重新编译内核# 执行内核编译脚本 make kernel编译完成后新内核镜像vmlinuz生成在boards/ls2k301/目录下替换 LS03 开发板原有内核文件。三、硬件连接与驱动验证1. 设备接入将 USB 摄像头插入 LS03 开发板 USB 主机接口执行以下命令验证驱动加载# 查看视频设备节点 ls /dev/video* # 查看内核识别日志 dmesg | grep -i uvc\|video正常情况下会输出类似信息代表摄像头被 UVC 驱动成功识别input: UNIQUESKY CAR CAMERA: Integrate as /devices/platform/soc/16080.ehci/usb2/2-1/2-1.2/2-1.2:1.0/input/input1四、QT 摄像头采集程序编译米联客提供配套的CameraDemoQT 演示工程以下是交叉编译步骤1. 源码准备将CameraDemo.tar.gz解压到 QT 工作目录tar -zxvf CameraDemo.tar.gz cd CameraDemo2. 加载 QT 交叉编译环境source /home/uisrc/uisrc-lab-ls2k301/qt/script/environment-setup-loongarch64-Loongson-linux3. 修正编译参数-mtunela264是针对更高规格龙芯架构的优化参数2K301 不支持该选项会导致编译报错需手动移除 Makefile 中的对应参数make clean sed -i s/-mtunela264//g Makefile4. 执行编译make编译完成后生成可执行文件CameraDemo。五、开发板运行与显示测试1. 程序移植将编译好的CameraDemo可执行文件拷贝到 LS03 开发板文件系统中添加执行权限chmod x CameraDemo2. 配置 QT 显示环境米联客 LS03 默认使用 framebuffer 显示需设置 QT 平台插件export QT_QPA_PLATFORMlinuxfb:fb/dev/fb03. 运行程序./CameraDemo程序启动后屏幕将实时显示摄像头采集的画面代表 UVC 驱动与 QT 显示链路全部调通。六、常见问题排查无 /dev/video 设备节点确认内核 UVC 驱动已编译进内核摄像头符合 UVC 协议可换 USB 口重试QT 编译报错检查交叉编译环境是否正确加载确认已移除-mtunela264参数运行黑屏无画面检查QT_QPA_PLATFORM环境变量是否正确确认 /dev/fb0 设备存在画面卡顿可降低摄像头分辨率与帧率或开启硬件加速总结米联客 LS03 平台 USB 摄像头方案的核心是内核 UVC 驱动适配与QT 显示环境配置。只要内核驱动开启正确绝大多数标准 UVC 摄像头都可直接使用配合 OpenCV 还能进一步实现人脸识别、目标检测等 AI 功能。