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

《米联客 LS03 USB 摄像头方案:龙芯 2K301 内核 UVC 驱动配置与 QT 显示实战》

前言

视觉采集是嵌入式智能设备的核心功能,USB UVC 协议摄像头因免驱、兼容性好,在国产龙芯平台上被广泛使用。但米联客 LS03 的默认内核通常未开启 UVC 驱动支持,需要手动配置编译,再配合 QT 实现画面显示。

本文基于米联客 LS03 开发板(龙芯 2K301 主控),完整讲解内核 UVC 驱动开启、QT 摄像头程序交叉编译、屏幕显示调试的全流程。

一、前置条件

  • 米联客 LS03 开发板,运行 LoongOS 系统(自带 OpenCV 库)
  • 符合 UVC 协议的 USB 摄像头
  • 龙芯 2K301 内核源码与交叉编译环境
  • QT 交叉编译工具链(龙芯 LoongArch 版本)

二、内核开启 UVC 摄像头驱动

1. 进入内核配置界面

在内核源码目录执行配置脚本,进入图形化配置:

make kernel menuconfig.sh
2. 开启多媒体与 UVC 支持

按以下路径逐层勾选驱动,全部编译进内核(标记为*):

  1. 进入Device Drivers → Multimedia support

    • 按空格选中Multimedia support
    • 进入子菜单,勾选Cameras/video grabbers support
  2. 进入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 CameraDemo

2. 加载 QT 交叉编译环境

source /home/uisrc/uisrc-lab-ls2k301/qt/script/environment-setup-loongarch64-Loongson-linux
3. 修正编译参数

-mtune=la264是针对更高规格龙芯架构的优化参数,2K301 不支持该选项,会导致编译报错,需手动移除 Makefile 中的对应参数:

make clean sed -i 's/-mtune=la264//g' Makefile

4. 执行编译

make

编译完成后生成可执行文件CameraDemo

五、开发板运行与显示测试

1. 程序移植

将编译好的CameraDemo可执行文件拷贝到 LS03 开发板文件系统中,添加执行权限:

chmod +x CameraDemo
2. 配置 QT 显示环境

米联客 LS03 默认使用 framebuffer 显示,需设置 QT 平台插件:

export QT_QPA_PLATFORM="linuxfb:fb=/dev/fb0"

3. 运行程序

./CameraDemo

程序启动后,屏幕将实时显示摄像头采集的画面,代表 UVC 驱动与 QT 显示链路全部调通。

六、常见问题排查

  1. 无 /dev/video 设备节点:确认内核 UVC 驱动已编译进内核,摄像头符合 UVC 协议,可换 USB 口重试
  2. QT 编译报错:检查交叉编译环境是否正确加载,确认已移除-mtune=la264参数
  3. 运行黑屏无画面:检查QT_QPA_PLATFORM环境变量是否正确,确认 /dev/fb0 设备存在
  4. 画面卡顿:可降低摄像头分辨率与帧率,或开启硬件加速

总结

米联客 LS03 平台 USB 摄像头方案的核心是内核 UVC 驱动适配QT 显示环境配置。只要内核驱动开启正确,绝大多数标准 UVC 摄像头都可直接使用,配合 OpenCV 还能进一步实现人脸识别、目标检测等 AI 功能。

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

相关文章:

  • 2026深度实测|学生编程助手推荐,vibe coding做Python成绩管理课设实战心得
  • B2B商城平台营销工具配置全流程指南
  • Codex EMFILE 打开文件过多错误解决方法
  • 从零到一:在uni-app项目中优雅集成Pinia状态管理
  • 《悬浮窗效果》三、Interface_AVPlayer使用指南
  • 掌握tModLoader:构建泰拉瑞亚无限扩展的模组开发框架
  • Burp-Hunter插件实战:自动化Web漏洞挖掘与Burp Suite协同测试
  • 吃灰板子利旧系列--ESP32-S3养ESP官方虾ESP-Claw
  • 本体论从入门到实战-08.本体模型驱动工程:从分析到设计与实现
  • 5分钟掌握AMD Ryzen调试工具:SMU调试与性能优化的完整指南
  • 从串口到以太网:实战解析海为PLC与电脑的两种通信方式
  • Qt6.5.2 集成官方MQTT模块:从源码编译到项目部署的CMake实践指南
  • TensorRT实战:视觉模型响应从200ms压至15ms,13倍加速背后的工程陷阱与优化范式
  • 目标检测评估进阶——从AP到mAP的算法实现与实战解析
  • 从零搭建ObjectARX开发环境:SDK与Wizards实战配置指南
  • 如何用Nucleus Co-Op实现免费分屏游戏:完整实战指南
  • 钙钛矿组件来了,IV测试仪的传统测试方法还够用吗?
  • 从王者峡谷到通用战场:Honor of Kings Arena如何重塑竞技强化学习的泛化能力评估
  • 虚拟显示技术新范式:Parsec VDD如何重塑你的数字工作空间
  • 跨城企业搬迁的物流工程方案——从分档运输到两城协同到业务恢复的执行逻辑
  • Shiro-550漏洞复现:Java反序列化与权限框架安全实践
  • 深耕本地化家教服务:昆明金廷教育的办学优势与价值探析
  • 火山引擎豆包CLI:全能AI创作神器 agent skill
  • 2026年苏州玻璃间隔纸公司实测:防潮防粘,平整度极佳
  • MacOS 12.3+ 系统下AccessClient堡垒机闪退:Python环境缺失的深度排查与修复指南
  • 终极AMD Ryzen调试指南:SMU Debug Tool完全使用手册
  • 【机器学习实战】三大聚类算法DBSCAN、K-means、Mean Shift核心差异与场景选型指南
  • 终极AMD Ryzen调试指南:SMU Debug Tool完全解析
  • 怎样高效管理Switch存储:实用NAND操作手册
  • 问答解惑!Paperxie智能写作毕业论文功能,解锁高效写论文新方式