You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Yocto自定义镜像配置PiCamera V2后QT应用无法打开相机

树莓派PiCamera V2的Yocto自定义镜像配置故障

初始问题

相机未被系统识别,/dev目录下无相关设备节点,dmesg也无相机相关日志,因此尝试添加bcm2835_v4l2内核模块解决。

当前配置

1. custom-image.bb内容

IMAGE_INSTALL += " 
    packagegroup-core-boot 
    packagegroup-core-x11-base 
    xserver-xorg 
    xdg-user-dirs 
    xf86-video-fbdev 
    v4l-utils 
"

inherit core-image

2. 内核配置追加文件(自定义层recipes-kernel/linux/linux_raspberrypi_%.bbappend)

调用的bcm2835_v4l2.config内容:

CONFIG_VIDEO_V4L2=y
CONFIG_VIDEOBUF2_CORE=y
CONFIG_VIDEOBUF2_MEMOPS=y
CONFIG_VIDEOBUF2_VMALLOC=y
CONFIG_VIDEOBUF2_DMA_CONTIG=y
CONFIG_BCM2835_V4L2=m

3. conf/local.conf配置

KERNEL_MODULE_AUTOLOAD += "bcm2835-v4l2"
ENABLE_V4L2_CAMERA = "1"

部分解决后仍存在的问题

添加MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "kernel-module-bcm2835-v4l2"后,相机可被系统检测到,但QT应用无法打开相机,内核错误日志如下(已翻译为中文):

[  143.785992] bcm2835-v4l2-0: vidioc_s_fmt_vid_cap 设备忙
[  143.791802] bcm2835-v4l2-0: vidioc_s_fmt_vid_cap 设备忙
[  144.173679] bcm2835-v4l2-0: 无法启用捕获端口 - 错误码 -1。再次禁用相机端口
[  144.191116] ------------[ 此处截断 ]------------
[  144.195868] 警告:CPU: 1 PID: 457 在 drivers/media/common/videobuf2/videobuf2-core.c:1552 vb2_start_streaming+0xf4/0x17c [videobuf2_common]
[  144.208963] 已加载模块:bcm2835_v4l2(C) videobuf2_vmalloc videobuf2_memops bcm2835_mmal_vchiq(C) videobuf2_v4l2 videobuf2_common videodev mc vc_sm_cma(C)
[  144.223678] CPU: 1 PID: 457 进程名: camera_source:s 内核状态: G        WC        5.15.34-v7l #1
[  144.232254] 硬件名称: BCM2711
[  144.235706] 回溯信息:
[  144.238193] [<c0c559f4>] (dump_backtrace) 来自 [<c0c55c40>] (show_stack+0x20/0x24)
[  144.245900]  r7:00000610 r6:00000000 r5:c104df3c r4:60070013
[  144.251643] [<c0c55c20>] (show_stack) 来自 [<c0c5b1d8>] (dump_stack_lvl+0x70/0x94)
[  144.259339] [<c0c5b168>] (dump_stack_lvl) 来自 [<c0c5b214>] (dump_stack+0x18/0x1c)
[  144.267040]  r7:00000610 r6:00000009 r5:bf071c34 r4:bf075da8
[  144.272781] [<c0c5b1fc>] (dump_stack) 来自 [<c0222030>] (__warn+0xfc/0x158)
[  144.279862] [<c0221f34>] (__warn) 来自 [<c0c56380>] (warn_slowpath_fmt+0x8c/0xa8)
[  144.287473]  r7:00000610 r6:bf075da8 r5:00000000 r4:c384c000
[  144.293214] [<c0c562f8>] (warn_slowpath_fmt) 来自 [<bf071c34>] (vb2_start_streaming+0xf4/0x17c [videobuf2_common])
[  144.303780]  r9:bf01d144 r8:c181d3b0 r7:c384c000 r6:c181d660 r5:c181d560 r4:ffffffff
[  144.311637] [<bf071b40>] (vb2_start_streaming [videobuf2_common]) 来自 [<bf071d4c>] (vb2_core_streamon+0x90/0x180 [videobuf2_common])
[  144.323905]  r7:c384c000 r6:00000000 r5:c2ab9780 r4:c181d560
[  144.329646] [<bf071cbc>] (vb2_core_streamon [videobuf2_common]) 来自 [<bf08a1d8>] (vb2_ioctl_streamon+0x58/0x90 [videobuf2_v4l2])
[  144.341546]  r5:c2ab9780 r4:00000001
[  144.345173] [<bf08a180>] (vb2_ioctl_streamon [videobuf2_v4l2]) 来自 [<bf01d170>] (v4l_streamon+0x2c/0x30 [videodev])
[  144.356036]  r5:40045612 r4:bf08a180
[  144.359663] [<bf01d144>] (v4l_streamon [videodev]) 来自 [<bf021930>] (__video_do_ioctl+0x248/0x47c [videodev])
[  144.370096]  r5:40045612 r4:c181d058
[  144.373722] [<bf0216e8>] (__video_do_ioctl [videodev]) 来自 [<bf022efc>] (video_usercopy+0x2e8/0x66c [videodev])
[  144.384325]  r10:00000000 r9:c384de3c r8:c384c000 r7:00000000 r6:c2ab9781 r5:40045612
[  144.392271]  r4:40045612
[  144.394839] [<bf022c14>] (video_usercopy [videodev]) 来自 [<bf0232a0>] (video_ioctl2+0x20/0x24 [videodev])
[  144.404910]  r10:0000001c r9:c2ab9780 r8:022cf550 r7:c384c000 r6:c2ab9781 r5:00000000
[  144.412856]  r4:bf023280
[  144.415425] [<bf023280>] (video_ioctl2 [videodev]) 来自 [<bf01b144>] (v4l2_ioctl+0x4c/0x60 [videodev])
[  144.425149] [<bf01b0f8>] (v4l2_ioctl [videodev]) 来自 [<c048138c>] (sys_ioctl+0x114/0xa94)
[  144.433693]  r5:00000000 r4:40045612
[  144.437320] [<c0481278>] (sys_ioctl) 来自 [<c0200060>] (ret_fast_syscall+0x0/0x1c)
[  144.445016] 异常栈(0xc384dfa8 到 0xc384dff0)
[  144.450148] dfa0:                   a91d01a8 00000000 0000001c 40045612 022cf550 a4c599e8
[  144.458451] dfc0: a91d01a8 00000000 022cf548 00000036 022cf548 a91ab1a8 00000002 07f00010
[  144.466752] dfe0: 00000036 a4c599d0 b60b8529 b6031ae6
[  144.471881]  r10:00000036 r9:c384c000 r8:c0200264 r7:00000036 r6:022cf548 r5:00000000
[  144.479827]  r4:a91d01a8
[  144.482470] ---[ 结束追踪 b10cbe6f2ae07ec8 ]---

内容的提问来源于stack exchange,提问作者Esraa Abdelnaby

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 15:30:53