k230 V3.0开发板 Llinux单系统 编译AI Demo 只在屏幕的一块区域正常显示,并且画面旋转了90°

Viewed 149

重现步骤

正常编译AI Demo后,画面只显示在LCD屏幕的部分区域上:
https://developer.canaan-creative.com/k230_linux/dev/zh/01_software/K230_AI_Demo%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97.html

22b6ae899b403d27860d67b86364a1b2_720.jpg

期待结果和实际结果

软硬件版本信息

错误日志

尝试解决过程

\k230_linux_sdk\buildroot-overlay\package\ai_demo\face_detection\main.cc文件中的display_proc函数中添加context.drm_rotation = rotation_270;无效

static void display_proc(int video_device) 
{
    struct v4l2_drm_context context;
    v4l2_drm_default_context(&context);
    context.device = video_device;
    context.width = display->width;
    context.height = (display->width * SENSOR_HEIGHT / SENSOR_WIDTH) & 0xfff8;
    context.video_format = V4L2_PIX_FMT_BGR24;
    context.display_format = 0; // auto
    context.drm_rotation = rotation_270; // 添加本行也无效
    if (v4l2_drm_setup(&context, 1, &display)) {
        std::cerr << "v4l2_drm_setup error" << std::endl;
        return;
    }
    std::cout << "press 'q' to exit" << std::endl;
    std::cout << "press 'd' to save a picture" << std::endl;
    gettimeofday(&tv, NULL);
    v4l2_drm_run(&context, 1, frame_handler);
    if (display) {
        display_exit(display);
    }
    ai_stop.store(true);
    return;
}

补充材料

运行日志:

[root@canaan /sharefs/face_detection ]#./face_detect_isp.sh
case ./face_detection.elf built at Mar  7 2025 11:28:55
[display] enc_id 47 crtc0 id 46 mask 1 possible 1
[display] enc_id: 47
[display] crtc_id: 46
display_get_plane get yuv plane fourcc is 875710274  DRM_FORMAT_NV12 is 842094158
[display] Added plane prop 8:type
[display] Added plane prop 17:FB_ID
[display] Added plane prop 18:IN_FENCE_FD
[display] Added plane prop 20:CRTC_ID
[display] Added plane prop 13:CRTC_X
[display] Added plane prop 14:CRTC_Y
[display] Added plane prop 15:CRTC_W
[display] Added plane prop 16:CRTC_H
[display] Added plane prop 9:SRC_X
[display] Added plane prop 10:SRC_Y
[display] Added plane prop 11:SRC_W
[display] Added plane prop 12:SRC_H
[display] Added plane prop 30:IN_FORMATS
[  929.445451] vvcam-isp 90000000.isp.0: vvcam_isp_open:99
[  929.465239] vvcam-isp 90000000.isp.0: reset
[  929.469930] vvcam-isp 90000000.isp.0: reset
[v4l2-drm] /dev/[  929.511246] 480 x 264 size 380160 fmt BGR3
video1 support format NV16
[v4l2-drm] /dev/video1 support format NV12
[v4l2-drm] /dev/video1 support format YUYV
[v4l2-drm] /dev/video1 support format BGR3
[v4l2-drm] /dev/video1 support format BG3P
[v4l2-drm] /dev/video1 support format P010
press 'q' to exit
press 'd' to save a picture
[  929.604018] vvcam-mipi 9000a800.mipi.0: vvcam_mipi_open
[  929.609392] vvcam-mipi 9000a800.mipi.0: csi reset
[  929.614141] vvcam-mipi 9000a800.mipi.0: sensor reset
[  929.619780] vvcam-mipi 9000a800.mipi.0: csi reset
[  929.624530] vvcam-mipi 9000a800.mipi.0: sensor reset
[  929.629824] vvcam-mipi 9000a800.mipi.0: set dev attr
[  929.634844] vvcam-mipi 9000a800.mipi.0: lanes: 2
[  929.639484] vvcam-mipi 9000a800.mipi.0: format: 43
[  929.644291] vvcam-mipi 9000a800.mipi.0: PHY freq: 800M
[  929.649438] kd_vi_bind_source source(4), port(0)
[  930.715135] wait stop timeout
[  930.730665] vvcam_cma_alloc *paddr is 20052000  size is 8192
[  930.866722] vvcam_cma_alloc *paddr is 20600000  size is 4149248
[  930.878747] vvcam_cma_alloc *paddr is 20a00000  size is 1040384
 poll: 0.38, [  932.181117] 1920 x 1080 size 6220800 fmt BG3P
[v4l2-drm] /dev/video2 support format NV16
[v4l2-drm] /dev/video2 support format NV12
[v4l2-drm] /dev/video2 support format YUYV
[v4l2-drm] /dev/video2 support format BGR3
[v4l2-drm] /dev/video2 support format BG3P
[v4l2-drm] /dev/video2 support format P010
 poll: 60.01, display: 60.01, camera: 28.53, KPU: 27.54

Linux启动日志,似乎drm的部分存在报错:

U-Boot SPL 2022.10 (Feb 26 2025 - 11:20:32 +0800)
lpddr4 2660
00000000: PMU Major Msg: End of CA training
00000000: PMU Major Msg: End of initialization
00000000: PMU Major Msg: End of read enable training
00000000: PMU Major Msg: End of fine write leveling
00000000: PMU Major Msg: End of read dq deskew training
00000000: PMU Major Msg: End of MPR read delay center optimization
00000000: PMU Major Msg: End of Write leveling coarse delay
00000000: PMU Major Msg: End of write delay center optimization
00000000: PMU Major Msg: End of read delay center optimization
00000000: PMU Major Msg: End of max read latency training
00000000: PMU Major Msg: Firmware run has completed
imge: uboot load to 0  compress =1  src a500254 len=546d7
imge: uboot load to 0  compress =1  src a500254 len=a5068


U-Boot 2022.10 (Feb 26 2025 - 11:20:32 +0800)

CPU:   rv64imafdcvsu
Model: kendryte k230 canmv v3
DRAM:  1 GiB
Core:  25 devices, 13 uclasses, devicetree: embed
MMC:   mmc0@91580000: 0, mmc1@91581000: 1
Loading Environment from MMC... OK
In:    serial@91400000
Out:   serial@91400000
Err:   serial@91400000
Net:   No ethernet found.
Hit any key to stop autoboot:  0
139720 bytes read in 6 ms (22.2 MiB/s)
18485760 bytes read in 722 ms (24.4 MiB/s)
55140 bytes read in 3 ms (17.5 MiB/s)
## Booting kernel from Legacy Image at 03000000 ...
   Image Name:   linux
   Created:      2025-02-26   3:20:42 UTC
   Image Type:   RISC-V Linux Kernel Image (uncompressed)
   Data Size:    139656 Bytes = 136.4 KiB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 02200000
   Booting using the fdt blob at 0x2200000
   Loading Kernel Image
   Loading Device Tree to 000000000a0ef000, end 000000000a0ff763 ... OK

Starting kernel ...


OpenSBI v1.4
   ____                    _____ ____ _____
  / __ \                  / ____|  _ \_   _|
 | |  | |_ __   ___ _ __ | (___ | |_) || |
 | |  | | '_ \ / _ \ '_ \ \___ \|  _ < | |
 | |__| | |_) |  __/ | | |____) | |_) || |_
  \____/| .__/ \___|_| |_|_____/|____/_____|
        | |
        |_|

Platform Name             : Canaan CanMV-K230
Platform Features         : medeleg
Platform HART Count       : 1
Platform IPI Device       : aclint-mswi
Platform Timer Device     : aclint-mtimer @ 27000000Hz
Platform Console Device   : uart8250
Platform HSM Device       : ---
Platform PMU Device       : thead,c900-pmu
Platform Reboot Device    : ---
Platform Shutdown Device  : ---
Platform Suspend Device   : system-suspend-test
Platform CPPC Device      : ---
Firmware Base             : 0x0
Firmware Size             : 195 KB
Firmware RW Offset        : 0x20000
Firmware RW Size          : 67 KB
Firmware Heap Offset      : 0x28000
Firmware Heap Size        : 35 KB (total), 2 KB (reserved), 9 KB (used), 23 KB (free)
Firmware Scratch Size     : 4096 B (total), 328 B (used), 3768 B (free)
Runtime SBI Version       : 2.0

Domain0 Name              : root
Domain0 Boot HART         : 0
Domain0 HARTs             : 0*
Domain0 Region00          : 0x0000000091400000-0x0000000091400fff M: (I,R,W) S/U: (R,W)
Domain0 Region01          : 0x0000000f04008000-0x0000000f0400bfff M: (I,R,W) S/U: ()
Domain0 Region02          : 0x0000000f04000000-0x0000000f04007fff M: (I,R,W) S/U: ()
Domain0 Region03          : 0x0000000000000000-0x000000000001ffff M: (R,X) S/U: ()
Domain0 Region04          : 0x0000000000020000-0x000000000003ffff M: (R,W) S/U: ()
Domain0 Region05          : 0x0000000f00000000-0x0000000f03ffffff M: (I,R,W) S/U: (R,W)
Domain0 Region06          : 0x0000000000000000-0xffffffffffffffff M: () S/U: (R,W,X)
Domain0 Next Address      : 0x0000000000200000
Domain0 Next Arg1         : 0x0000000002200000
Domain0 Next Mode         : S-mode
Domain0 SysReset          : yes
Domain0 SysSuspend        : yes

Boot HART ID              : 0
Boot HART Domain          : root
Boot HART Priv Version    : v1.12
Boot HART Base ISA        : rv64imafdcbvx
Boot HART ISA Extensions  : sstc,zicntr,zihpm,zicboz,zicbom,svpbmt
Boot HART PMP Reserved    : 2
Boot HART PMP Count       : 64
Boot HART PMP Granularity : 12 bits
Boot HART PMP Address Bits: 38
Boot HART MHPM Info       : 16 (0x0007fff8)
Boot HART MIDELEG         : 0x0000000000020222
Boot HART MEDELEG         : 0x000000000000b109
[    0.000000] Linux version 6.6.36 (root@xyc) (riscv64-unknown-linux-gnu-gcc (Xuantie-900 linux-6.6.0 glibc gcc Toolchain V2.10.1 B-20240712) 10.4.0, GNU ld (GNU Binutils) 2.35) #2 SMP Wed Feb 26 10:45:01 CST 2025
[    0.000000] Machine model: Canaan CanMV-K230
[    0.000000] SBI specification v2.0 detected
[    0.000000] SBI implementation ID=0x1 Version=0x10004
[    0.000000] SBI TIME extension detected
[    0.000000] SBI IPI extension detected
[    0.000000] SBI RFENCE extension detected
[    0.000000] efi: UEFI not found.
[    0.000000] OF: reserved mem: 0x0000000000000000..0x000000000001ffff (128 KiB) nomap non-reusable mmode_resv0@0
[    0.000000] OF: reserved mem: 0x0000000000020000..0x000000000003ffff (128 KiB) nomap non-reusable mmode_resv1@20000
[    0.000000] cma: Reserved 512 MiB at 0x0000000020000000 on node -1
[    0.000000] Zone ranges:
[    0.000000]   DMA32    [mem 0x0000000000000000-0x000000003fffffff]
[    0.000000]   Normal   empty
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000000000000-0x000000000003ffff]
[    0.000000]   node   0: [mem 0x0000000000040000-0x000000003fffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x000000003fffffff]
[    0.000000] SBI HSM extension detected
[    0.000000] riscv: base ISA extensions acdfimv
[    0.000000] riscv: ELF capabilities acdfimv
[    0.000000] percpu: Embedded 20 pages/cpu s41464 r8192 d32264 u81920
[    0.000000] pcpu-alloc: s41464 r8192 d32264 u81920 alloc=20*4096
[    0.000000] pcpu-alloc: [0] 0
[    0.000000] Kernel command line: root=/dev/mmcblk1p2 loglevel=8 rw rootdelay=4 rootfstype=ext4 console=ttyS0,115200  earlycon=sbi
[    0.000000] Dentry cache hash table entries: 131072 (order: 8, 1048576 bytes, linear)
[    0.000000] Inode-cache hash table entries: 65536 (order: 7, 524288 bytes, linear)
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 258048
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] Virtual kernel memory layout:
[    0.000000]       fixmap : 0xffffffc6fea00000 - 0xffffffc6ff000000   (6144 kB)
[    0.000000]       pci io : 0xffffffc6ff000000 - 0xffffffc700000000   (  16 MB)
[    0.000000]      vmemmap : 0xffffffc700000000 - 0xffffffc800000000   (4096 MB)
[    0.000000]      vmalloc : 0xffffffc800000000 - 0xffffffd800000000   (  64 GB)
[    0.000000]      modules : 0xffffffff01220000 - 0xffffffff80000000   (2029 MB)
[    0.000000]       lowmem : 0xffffffd800000000 - 0xffffffd840000000   (1024 MB)
[    0.000000]       kernel : 0xffffffff80000000 - 0xffffffffffffffff   (2047 MB)
[    0.000000] Memory: 470664K/1048576K available (11115K kernel code, 1131K rwdata, 5350K rodata, 447K init, 503K bss, 53624K reserved, 524288K cma-reserved)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] rcu: Hierarchical RCU implementation.
[    0.000000] rcu:     RCU restricting CPUs from NR_CPUS=64 to nr_cpu_ids=1.
[    0.000000] rcu:     RCU debug extended QS entry/exit.
[    0.000000]  Tracing variant of Tasks RCU enabled.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
[    0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=1
[    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[    0.000000] riscv-intc: 64 local interrupts mapped
[    0.000000] plic: interrupt-controller@f00000000: mapped 208 interrupts with 1 handlers for 2 contexts.
[    0.000000] riscv: providing IPIs using SBI IPI extension
[    0.000000] rcu: srcu_init: Setting srcu_struct sizes based on contention.
[    0.000000] clocksource: riscv_clocksource: mask: 0xffffffffffffffff max_cycles: 0x63a1e71a3, max_idle_ns: 440795203123 ns
[    0.000000] sched_clock: 64 bits at 27MHz, resolution 37ns, wraps every 4398046511093ns
[    0.000392] Console: colour dummy device 80x25
[    0.000437] Calibrating delay loop (skipped), value calculated using timer frequency.. 54.00 BogoMIPS (lpj=108000)
[    0.000448] pid_max: default: 32768 minimum: 301
[    0.000513] LSM: initializing lsm=capability,integrity
[    0.000601] Mount-cache hash table entries: 2048 (order: 2, 16384 bytes, linear)
[    0.000610] Mountpoint-cache hash table entries: 2048 (order: 2, 16384 bytes, linear)
[    0.002330] RCU Tasks Trace: Setting shift to 0 and lim to 1 rcu_task_cb_adjust=1.
[    0.002438] riscv: ELF compat mode supported
[    0.002465] ASID allocator using 16 bits (65536 entries)
[    0.002590] rcu: Hierarchical SRCU implementation.
[    0.002595] rcu:     Max phase no-delay instances is 1000.
[    0.002799] EFI services will not be available.
[    0.002935] smp: Bringing up secondary CPUs ...
[    0.002951] smp: Brought up 1 node, 1 CPU
[    0.003613] devtmpfs: initialized
[    0.012387] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[    0.012406] futex hash table entries: 256 (order: 2, 16384 bytes, linear)
[    0.022536] pinctrl core: initialized pinctrl subsystem
[    0.023551] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[    0.024654] DMA: preallocated 128 KiB GFP_KERNEL pool for atomic allocations
[    0.024771] DMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
[    0.024827] audit: initializing netlink subsys (disabled)
[    0.025384] thermal_sys: Registered thermal governor 'step_wise'
[    0.025443] audit: type=2000 audit(0.024:1): state=initialized audit_enabled=0 res=1
[    0.025456] cpuidle: using governor menu
[    0.048203] cpu0: Ratio of byte access time to unaligned word access is 6.32, unaligned accesses are fast
[    0.048232] suspend: SBI SUSP extension detected
[    0.053314] platform soc: Fixed dependency cycle(s) with /soc/interrupt-controller@f00000000
[    0.109084] platform 90840000.vo: Fixed dependency cycle(s) with /soc/dsi@90850000
[    0.109207] platform 90840000.vo: Fixed dependency cycle(s) with /soc/dsi@90850000
[    0.109268] platform 90850000.dsi: Fixed dependency cycle(s) with /soc/dsi@90850000/panel@0
[    0.109280] platform 90850000.dsi: Fixed dependency cycle(s) with /soc/vo@90840000
[    0.111056] HugeTLB: registered 1.00 GiB page size, pre-allocated 0 pages
[    0.111063] HugeTLB: 16380 KiB vmemmap can be freed for a 1.00 GiB page
[    0.111069] HugeTLB: registered 2.00 MiB page size, pre-allocated 0 pages
[    0.111072] HugeTLB: 28 KiB vmemmap can be freed for a 2.00 MiB page
[    0.111641] ACPI: Interpreter disabled.
[    0.112050] k230-powerdomain 91103000.sysctl_power: powerdomain init ok
[    0.112636] iommu: Default domain type: Translated
[    0.112644] iommu: DMA domain TLB invalidation policy: strict mode
[    0.113054] SCSI subsystem initialized
[    0.113285] libata version 3.00 loaded.
[    0.113450] usbcore: registered new interface driver usbfs
[    0.113478] usbcore: registered new interface driver hub
[    0.113508] usbcore: registered new device driver usb
[    0.114900] mc: Linux media interface: v0.10
[    0.114961] videodev: Linux video capture interface: v2.00
[    0.115212] Advanced Linux Sound Architecture Driver Initialized.
[    0.116044] vgaarb: loaded
[    0.116421] clocksource: Switched to clocksource riscv_clocksource
[    0.116860] pnp: PnP ACPI: disabled
[    0.124559] NET: Registered PF_INET protocol family
[    0.124735] IP idents hash table entries: 16384 (order: 5, 131072 bytes, linear)
[    0.125873] tcp_listen_portaddr_hash hash table entries: 512 (order: 2, 16384 bytes, linear)
[    0.125910] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
[    0.125921] TCP established hash table entries: 8192 (order: 4, 65536 bytes, linear)
[    0.125968] TCP bind hash table entries: 8192 (order: 7, 524288 bytes, linear)
[    0.127450] TCP: Hash tables configured (established 8192 bind 8192)
[    0.127565] UDP hash table entries: 512 (order: 3, 49152 bytes, linear)
[    0.127655] UDP-Lite hash table entries: 512 (order: 3, 49152 bytes, linear)
[    0.127886] NET: Registered PF_UNIX/PF_LOCAL protocol family
[    0.128510] RPC: Registered named UNIX socket transport module.
[    0.128520] RPC: Registered udp transport module.
[    0.128523] RPC: Registered tcp transport module.
[    0.128525] RPC: Registered tcp-with-tls transport module.
[    0.128528] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.129488] PCI: CLS 0 bytes, default 64
[    0.130337] Initialise system trusted keyrings
[    0.130737] workingset: timestamp_bits=46 max_order=18 bucket_order=0
[    0.131377] NFS: Registering the id_resolver key type
[    0.131415] Key type id_resolver registered
[    0.131418] Key type id_legacy registered
[    0.131444] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[    0.131449] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...
[    0.131654] fuse: init (API version 7.39)
[    0.131821] 9p: Installing v9fs 9p2000 file system support
[    0.132027] NET: Registered PF_ALG protocol family
[    0.132037] Key type asymmetric registered
[    0.132041] Asymmetric key parser 'x509' registered
[    0.132095] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 243)
[    0.132101] io scheduler mq-deadline registered
[    0.132104] io scheduler kyber registered
[    0.132130] io scheduler bfq registered
[    0.147511] [K230_RESET]:sysctl reset phy addr 0x91101000
[    0.147522] [K230_RESET]: ok!
[    0.192432] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
[    0.194875] printk: console [ttyS0] disabled
[    0.215238] 91400000.serial: ttyS0 at MMIO 0x91400000 (irq = 79, base_baud = 3125000) is a 16550A
[    0.215273] printk: console [ttyS0] enabled
[    1.094165] 91403000.serial: ttyS3 at MMIO 0x91403000 (irq = 80, base_baud = 3125000) is a 16550A
[    1.104462] SuperH (H)SCI(F) driver initialized
[    1.110811] random: crng init done
[    1.114269] k230-rng 91213000.trng: K230 TRNG driver register!
[    1.121218] i2c_add_driver start
[    1.124966] canaan-vo 90840000.vo: probe
[    1.129573] canaan-mipi-dsi 90850000.dsi: Fixed dependency cycle(s) with /soc/dsi@90850000/panel@0
[    1.138648] mipi-dsi 90850000.dsi.0: Fixed dependency cycle(s) with /soc/dsi@90850000
[    1.560471] canaan-mipi-dsi 90850000.dsi: Attached device universal
[    1.568185] canaan-vo 90840000.vo: background color is ffffff
[    1.574152] canaan-drm soc:display-subsystem: bound 90840000.vo (ops 0xffffffff80befc30)
[    1.582304] canaan-drm soc:display-subsystem: bound 90850000.dsi (ops 0xffffffff80bf0150)
[    1.591372] [drm] Initialized canaan-drm 1.0.0 20230501 for soc:display-subsystem on minor 0
[    1.599931] canaan-drm soc:display-subsystem: [drm] bpp/depth value of 32/24 not supported
[    1.608221] canaan-drm soc:display-subsystem: [drm] No compatible format found
[    1.617243] canaan-drm soc:display-subsystem: [drm] *ERROR* fbdev: Failed to setup generic emulation (ret=-22)
[    1.627291] canaan-drm soc:display-subsystem: [drm:canaan_drm_bind] Canaan K230 DRM driver register successfully
[    1.638377] canaan-drm soc:display-subsystem: [drm] bpp/depth value of 32/24 not supported
[    1.646694] canaan-drm soc:display-subsystem: [drm] No compatible format found
[    1.658854] loop: module loaded
[    1.663720] canaan-drm soc:display-subsystem: [drm] *ERROR* fbdev: Failed to setup generic emulation (ret=-22)
[    1.691555] misc mmz: registered.
[    1.699051] e1000e: Intel(R) PRO/1000 Network Driver
[    1.704062] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
[    1.711496] usbcore: registered new device driver r8152-cfgselector
[    1.717836] usbcore: registered new interface driver r8152
[    1.723359] usbcore: registered new interface driver asix
[    1.728786] usbcore: registered new interface driver ax88179_178a
[    1.734906] usbcore: registered new interface driver cdc_ether
[    1.740767] usbcore: registered new interface driver net1080
[    1.746452] usbcore: registered new interface driver cdc_subset
[    1.752409] usbcore: registered new interface driver zaurus
[    1.758022] usbcore: registered new interface driver cdc_ncm
[    1.763712] usbcore: registered new interface driver r8153_ecm
[    1.770747] dwc2 91500000.usb: supply vusb_d not found, using dummy regulator
[    1.778065] dwc2 91500000.usb: supply vusb_a not found, using dummy regulator
[    1.904474] dwc2 91500000.usb: EPs: 7, dedicated fifos, 3016 entries in SPRAM
[    1.911770] dwc2 91500000.usb: DWC OTG Controller
[    1.916518] dwc2 91500000.usb: new USB bus registered, assigned bus number 1
[    1.923599] dwc2 91500000.usb: irq 85, io mem 0x91500000
[    1.929053] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.06
[    1.937333] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    1.944562] usb usb1: Product: DWC OTG Controller
[    1.949273] usb usb1: Manufacturer: Linux 6.6.36 dwc2_hsotg
[    1.954850] usb usb1: SerialNumber: 91500000.usb
[    1.959946] hub 1-0:1.0: USB hub found
[    1.963783] hub 1-0:1.0: 1 port detected
[    1.968486] dwc2 91540000.usb: supply vusb_d not found, using dummy regulator
[    1.975781] dwc2 91540000.usb: supply vusb_a not found, using dummy regulator
[    2.100497] dwc2 91540000.usb: EPs: 7, dedicated fifos, 3016 entries in SPRAM
[    2.117848] dwc2 91540000.usb: DWC OTG Controller
[    2.122595] dwc2 91540000.usb: new USB bus registered, assigned bus number 2
[    2.129675] dwc2 91540000.usb: irq 86, io mem 0x91540000
[    2.135134] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.06
[    2.143412] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    2.150649] usb usb2: Product: DWC OTG Controller
[    2.155359] usb usb2: Manufacturer: Linux 6.6.36 dwc2_hsotg
[    2.160937] usb usb2: SerialNumber: 91540000.usb
[    2.166064] hub 2-0:1.0: USB hub found
[    2.169896] hub 2-0:1.0: 1 port detected
[    2.174717] usbcore: registered new interface driver usb-storage
[    2.181042] mousedev: PS/2 mouse device common for all mice
[    2.187718] i2c_dev: i2c /dev entries driver
[    2.192394] edt_ft5x06 1-0038: supply vcc not found, using dummy regulator
[    2.199445] edt_ft5x06 1-0038: supply iovcc not found, using dummy regulator
[    2.208292] MVX dev: Linlon v5276 identified. cores=1, nlsid=4, id=0. (mvx_dev.c:416)
[    2.216453] usbcore: registered new interface driver uvcvideo
[    2.250808] sdhci: Secure Digital Host Controller Interface driver
[    2.257042] sdhci: Copyright(c) Pierre Ossman
[    2.262079] sdhci-pltfm: SDHCI platform and OF driver helper
[    2.269288] Kendryte crypto driver probe!
[    2.273838] Kendryte sha256 driver probe!
[    2.278431] Kendryte RSA driver probe!
[    2.282443] usbcore: registered new interface driver usbhid
[    2.288055] usbhid: USB HID core driver
[    2.295258] riscv-pmu-sbi: SBI PMU extension is available
[    2.300745] riscv-pmu-sbi: 16 firmware and 18 hardware counters
[    2.331849] mmc1: SDHCI controller on 91581000.sdhci1 [91581000.sdhci1] using ADMA
[    2.339533] mmc0: SDHCI controller on 91580000.sdhci0 [91580000.sdhci0] using ADMA
[    2.351831] sdhci-dwcmshc-kendryte 91580000.sdhci0: card claims to support voltages below defined range
[    2.362008] mmc1: Got command interrupt 0x00000001 even though no command operation was in progress.
[    2.371146] mmc1: sdhci: ============ SDHCI REGISTER DUMP ===========
[    2.377585] mmc1: sdhci: Sys addr:  0x00000000 | Version:  0x00000005
[    2.384024] mmc1: sdhci: Blk size:  0x00000000 | Blk cnt:  0x00000000
[    2.390462] mmc1: sdhci: Argument:  0x00000000 | Trn mode: 0x00000000
[    2.396900] mmc1: sdhci: Present:   0x03ff0000 | Host ctl: 0x00000000
[    2.403338] mmc1: sdhci: Power:     0x0000000f | Blk gap:  0x00000000
[    2.409775] mmc1: sdhci: Wake-up:   0x00000000 | Clock:    0x00007d27
[    2.416213] mmc1: sdhci: Timeout:   0x00000000 | Int stat: 0x00000000
[    2.422651] mmc1: sdhci: Int enab:  0x00ff1083 | Sig enab: 0x00ff1083
[    2.429089] mmc1: sdhci: ACmd stat: 0x00000000 | Slot int: 0x00000000
[    2.435526] mmc1: sdhci: Caps:      0x276a6481 | Caps_1:   0x08008071
[    2.441964] mmc1: sdhci: Cmd:       0x00000502 | Max curr: 0x00000000
[    2.448401] mmc1: sdhci: Resp[0]:   0x000001aa | Resp[1]:  0x00000000
[    2.454839] mmc1: sdhci: Resp[2]:   0x00000000 | Resp[3]:  0x00000000
[    2.461277] mmc1: sdhci: Host ctl2: 0x00000000
[    2.465718] mmc1: sdhci: ADMA Err:  0x00000000 | ADMA Ptr: 0x00000000
[    2.472155] mmc1: sdhci: ============================================
[    2.483268] mmc0: new high speed SDIO card at address 0001
[    2.536423] usb 2-1: new high-speed USB device number 2 using dwc2
[    2.564343] mmc1: new high speed SDHC card at address 13ab
[    2.570397] mmcblk1: mmc1:13ab SE032 28.8 GiB
[    2.576704] input: generic ft5x06 (79) as /devices/platform/soc/91408000.i2c/i2c-1/1-0038/input/input0
[    2.590252]  mmcblk1: p1 p2
[    2.740369] NET: Registered PF_INET6 protocol family
[    2.746176] Segment Routing with IPv6
[    2.749916] In-situ OAM (IOAM) with IPv6
[    2.753903] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[    2.760311] NET: Registered PF_PACKET protocol family
[    2.765494] 9pnet: Installing 9P2000 support
[    2.769836] Key type dns_resolver registered
[    2.774164] start plist test
[    2.780045] end plist test
[    2.790585] Loading compiled-in X.509 certificates
[    2.800956] debug_vm_pgtable: [debug_vm_pgtable         ]: Validating architecture page table helpers
[    2.820534] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[    2.829715] usb 2-1: New USB device found, idVendor=0bda, idProduct=8152, bcdDevice=20.00
[    2.837951] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[    2.845097] usb 2-1: Product: USB 10/100 LAN
[    2.849373] usb 2-1: Manufacturer: Realtek
[    2.853481] usb 2-1: SerialNumber: 000000000000
[    2.859221] Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[    2.866015] Loaded X.509 cert 'wens: 61c038651aabdcf94bd0ac7ff06c7248db18c600'
[    2.873354] clk: Disabling unused clocks
[    2.877385] ALSA device list:
[    2.880356]   #0: K230_I2S_INNO
[    2.883824] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
[    2.892507] cfg80211: failed to load regulatory.db
[    2.898277] cdc_ether 2-1:2.0 eth0: register 'cdc_ether' at usb-91540000.usb-1, CDC Ethernet Device, 00:00:00:00:00:00
[    2.909301] Waiting 4 sec before mounting root device...
[    2.914978] cdc_ether 2-1:2.0 eth0: unregister 'cdc_ether' usb-91540000.usb-1, CDC Ethernet Device
[    3.120458] r8152-cfgselector 2-1: reset high-speed USB device number 2 using dwc2
[    3.361211] r8152 2-1:1.0: skip request firmware
[    3.366062] r8152 2-1:1.0 (unnamed net_device) (uninitialized): Invalid ether addr 00:00:00:00:00:00
[    3.375285] r8152 2-1:1.0 (unnamed net_device) (uninitialized): Random ether addr 00:e0:4c:17:8d:76
[    3.413278] r8152 2-1:1.0 eth0: v1.12.13
[    7.244467] EXT4-fs (mmcblk1p2): recovery complete
[    7.250993] EXT4-fs (mmcblk1p2): mounted filesystem 3fe34928-2561-4b3f-b80c-53329e80feaf r/w with ordered data mode. Quota mode: disabled.
[    7.263514] VFS: Mounted root (ext4 filesystem) on device 179:2.
[    7.270587] devtmpfs: mounted
[    7.273690] Freeing unused kernel image (initmem) memory: 444K
[    7.279535] Kernel memory protection not selected by kernel config.
[    7.285814] Run /sbin/init as init process
[    7.289914]   with arguments:
[    7.292885]     /sbin/init
[    7.295590]   with environment:
[    7.298733]     HOME=/
[    7.301095]     TERM=linux
[    7.412503] EXT4-fs (mmcblk1p2): re-mounted 3fe34928-2561-4b3f-b80c-53329e80feaf r/w. Quota mode: disabled.
Seeding 256 bits and crediting
Saving 256 bits of creditable seed for next boot
Starting syslogd: OK
Starting klogd: OK
Running sysctl: OK
[    7.649874] 8189fs: loading out-of-tree module taints kernel.
[    8.367245] aic_bluetooth_mod_init
[    8.370784] RELEASE DATE:2024_0929_2e313139
[    8.375226] usbcore: registered new interface driver aic_load_fw
[    8.579827] usbcore: registered new interface driver aic8800_fdrv
[    8.723701] Bluetooth: Core ver 2.22
[    8.727366] NET: Registered PF_BLUETOOTH protocol family
[    8.732694] Bluetooth: HCI device and connection manager initialized
[    8.739063] Bluetooth: HCI socket layer initialized
[    8.743958] Bluetooth: L2CAP socket layer initialized
[    8.749028] Bluetooth: SCO socket layer initialized
[    8.760105] aic_btusb: AICBT_RELEASE_NAME: 202012_ANDROID
[    8.765564] aic_btusb: AicSemi Bluetooth USB driver module init, version 2.1.0
[    8.772799] aic_btusb: RELEASE DATE: 2023_1211_1958 CONFIG_BLUEDROID =0
[    8.772799]
[    8.781144] usbcore: registered new interface driver aic_btusb
Starting system message bus: done
Starting bluetoothd: OK
Starting network: [    9.001298] r8152 2-1:1.0 eth0: carrier on
udhcpc: started, v1.36.1
udhcpc: broadcasting discover
udhcpc: no lease, forking to background
OK
Starting sshd: OK
Starting telnetd: OK
[   12.989172] EXT4-fs (mmcblk1p1): recovery complete
[   12.994133] EXT4-fs (mmcblk1p1): mounted filesystem 8234054e-9038-4185-9756-5257c77012c8 r/w with ordered data mode. Quota mode: disabled.
#############SDK VERSION######################################
sdk:v0.6.1-20250226-112039-root-xyc-4b7626e
###################[   13.021712] vvcam-isp 90000000.isp.0: isp addr: 90000000, size: 36864
################[   13.029119] vvcam-isp 90000000.isp.0: isp irq: 93
################[   13.035103] vvcam-isp 90000000.isp.0: mi irq: 94
###########
[   13.041091] vvcam-isp 90000000.isp.0: fe irq: 95
[   13.048223] vvcam-isp 90000000.isp.0: vvcam isp driver probe success
[   13.079461] vvcam-mipi 9000a800.mipi.0: start probe 2
[   13.084694] vvcam-mipi 9000a800.mipi.0: irq: 96
[   13.089296] failed to acquire reset gpio
[   13.093238] gpiod_set_value_cansleep: invalid GPIO (errorpointer)
[   13.099345] ---------------reset --- --------
[   13.104178] vvcam-mipi 9000a800.mipi.0: vvcam mipi driver probe success
[   13.121334] vvcam-vb vvcam-vb.0: vvcam vb probe success
[   13.141862] vvcam-isp-subdev vvcam-isp-subdev.0: vvcam_isp_probe
[   13.150032] vvcam-isp-subdev vvcam-isp-subdev.0: vvcam isp driver probe success
[   13.167609] vvcam-video vvcam-video.0: vvcam_video_probe
[   13.174054] vvcam-video vvcam-video.0: vvcam video driver probe success

Welcome to Buildroot
canaan login:

修改为hdmi输出后,hdmi显示的画面是正常的,但lcd只能在一个区域显示,并且画面旋转了90°。

1 Answers

请问hdmi显示正常吗?

插上hdmi还是在屏幕上显示,hdmi不显示画面。请问有没有切换显示方式的方法?
如果代码更改为:
context.width = display->height;
context.height = display->width;
context.video_format = V4L2_PIX_FMT_NV12;
context.display_format = 0; // auto
context.drm_rotation = rotation_270;
LCD能正常显示,但是一识别人脸,程序就自动退出了,估计是opencv不支持在V4L2_PIX_FMT_NV12格式上绘制?

你是否改过什么东西,默认应该就是hdmi显示的

没改过啊,我还重新烧录了一遍镜像,运行自带的那个人脸检测程序也是LCD显示的(https://developer.canaan-creative.com/k230_linux/dev/zh/01_software/K230_SDK_CanMV_Board_Demo%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97.html),但显示是正常的,从Ai_Demo自己编译的就不正常了。使用的板子是创乐博V3.0,Linux单系统。我之前烧双系统的时候确实是默认hdmi显示的,但烧这个纯Linux它就直接显示在LCD上面了。
我在问题里补充了一下运行日志。