K230 CANMV 固件修改 VPU GNNE 卡死

Viewed 29

问题描述


为了适配1280x720p的st7703显示屏,对固件进行了修改,自制PCB,现在能够确定跑2667Mhz内存,但是出现两个情况:1、摄像头拍摄画面如果是1280*720p分辨率,pipline推送到显示屏就会有绿色闪烁,似乎是帧错位,一帧画面只缺了最边一条,下一帧只有那缺的一条,剩下来的都是绿色
2、使用VPU还有yolo的时候,可以正常加载,但是一旦开启摄像头推流,就会直接卡死,我加入了一些debug代码信息:
kd_mpi_isp_open_database, using config path: /bin/
kd_mpi_isp_open_database, loading manual config: /bin/gc2093-1280x960_manual.json
kd_mpi_isp_open_database, loading auto config: /bin/gc2093-1280x960_auto.json
[DBG AI2D-C 3] run ENTER builder=0x300157ce0 in=0x30024fd60 out=0x3001578e0
[DBG AI2D-C 4] run EXIT flag=1
[GNNE-WD FREEZE 3s] irq=8 poll=8 (BOTH stuck) ctrl=0x1 status=0x4e10 pc=0x202c4ae0 to=0xffffffff cg=0x3f
[GNNE-WD STATUS] work=RUN exc=OK axi_err=0 noc_rx=0 noc_tx=0 biu(s/l/all)=0/0/0 ai2d(qne/busy)=0/0 intr=0 que(ld/st/dm/pu/mfu)=0/0/0/0/1 mod(ld/st/dm/pu/mfu)=0/0/0/0/1
[GNNE-WD SUBPC] dec=202c4ae0 ld=202c4a9e st=0 mfu=202c49e2 pu=202c4ac6 dw=0 a0=202c4abe a1=0 dmw=202c4aaa dmif=202c4a7e dmps=0 dmat=202c4ab6 ai2d=0
[GNNE-WD FREEZE after-100ms] status=0x4e10 dec_pc=0x202c4ae0 (d=0) mfu(d=0) pu(d=0) st(d=0) work=1
[GNNE-WD IRQ-HIST] now_tick=14288 (last 8 IRQs):
irq#1 poll#0 tick=10272 (-4016ms) gs=0xc00 gpc=0x202cc746 ddrc_s=1 cam=36000000
irq#2 poll#1 tick=10273 (-4015ms) gs=0xc00 gpc=0x202c7c74 ddrc_s=1 cam=36000000
irq#3 poll#2 tick=10274 (-4014ms) gs=0xc00 gpc=0x202cd728 ddrc_s=1 cam=36000000
irq#4 poll#3 tick=10276 (-4012ms) gs=0xc00 gpc=0x202c7b86 ddrc_s=1 cam=36000000
irq#5 poll#4 tick=10277 (-4011ms) gs=0xc00 gpc=0x202c5c74 ddrc_s=1 cam=36000000
irq#6 poll#5 tick=10278 (-4010ms) gs=0xc00 gpc=0x202ce1a0 ddrc_s=1 cam=36000000
irq#7 poll#6 tick=10279 (-4009ms) gs=0xc00 gpc=0x202cec20 ddrc_s=1 cam=36000000
irq#8 poll#7 tick=10280 (-4008ms) gs=0xc00 gpc=0x202c5b66 ddrc_s=1 cam=24000000
[GNNE-WD AI2D] irq_count=1 last_tick=10267 (-4091ms ago)
[GNNE-WD THREADS] (one-shot)
thread pri status sp stack size max used left tick error


preload 3 suspend 0x00000910 0x00080000 00% 0x00000072 OK
preload 3 suspend 0x00000910 0x00080000 00% 0x00000097 OK
preload 3 suspend 0x00000910 0x00080000 00% 0x000000c8 OK
preload 3 suspend 0x00000910 0x00080000 00% 0x000000c8 OK
preload 3 suspend 0x00000910 0x00080000 00% 0x0000005a OK
preload 4 suspend 0x00000910 0x00080000 00% 0x000000af OK
preload 4 suspend 0x00000910 0x00080000 00% 0x000000c8 OK
preload 4 suspend 0x00000910 0x00080000 00% 0x000000c7 OK
preload 3 suspend 0x00000960 0x00080000 00% 0x00000060 OK
vpu_task 11 suspend 0x00000508 0x00002000 15% 0x0000000a EINTRPT
preload 20 suspend 0x00000960 0x00080000 00% 0x0000000b OK
preload 25 ready 0x00000960 0x00080000 00% 0x000000b0 EINTRPT
mtp 16 suspend 0x00000508 0x00005000 12% 0x00000009 EINTRPT
mtp_inty 16 suspend 0x000007a8 0x00005000 09% 0x0000000a EINTRPT
usbh_hub0 14 suspend 0x000005c8 0x00001000 39% 0x0000000a EINTRPT
tshell 20 suspend 0x000006e8 0x00014000 02% 0x0000000a OK
thermal_detect_threa 29 suspend 0x000004d8 0x00002800 13% 0x0000000a EINTRPT
auto_load_thread 29 ready 0x000004c8 0x00002800 12% 0x0000000a ETIMOUT
mcm_task 1 suspend 0x000004e8 0x00002000 15% 0x00000005 EINTRPT
gnne_wd 25 running 0x00003198 0x00004000 77% 0x00000005 OK
touch_read 20 suspend 0x000006b8 0x00001000 41% 0x00000005 EINTRPT
usage_thread 30 ready 0x00000518 0x00002000 16% 0x0000000a ETIMOUT
gpio_irq_to_user 16 suspend 0x000004f8 0x00005000 06% 0x0000000a OK
gpio_debounce 15 suspend 0x000004f8 0x00005000 06% 0x0000000a OK
sys workq 17 suspend 0x000004f8 0x00005000 06% 0x0000000a OK
mmcsd_detect 22 suspend 0x00000558 0x00008000 07% 0x00000001 EINTRPT
wlan 15 suspend 0x000004f8 0x00001000 31% 0x0000000a OK
tcpip 10 suspend 0x00000578 0x00002800 14% 0x00000013 EINTRPT
etx 12 suspend 0x00000538 0x00002800 13% 0x00000010 EINTRPT
erx 12 suspend 0x00000558 0x00002800 13% 0x00000010 EINTRPT
tsystem 30 suspend 0x000004f8 0x00004000 08% 0x00000020 EINTRPT
tidle0 31 ready 0x00000438 0x00004000 06% 0x0000001b OK
timer 4 suspend 0x00000488 0x00004000 07% 0x00000009 OK
[GNNE-WD RECOVER] forced wake-up sent, hoping nncase poll returns
[GNNE-WD FREEZE 3s] irq=13 poll=12 (BOTH stuck) ctrl=0x1 status=0x4f4c pc=0x202c33b8 to=0xffffffff cg=0x3f
[GNNE-WD STATUS] work=RUN exc=OK axi_err=0 noc_rx=0 noc_tx=0 biu(s/l/all)=0/0/0 ai2d(qne/busy)=0/0 intr=0 que(ld/st/dm/pu/mfu)=0/0/1/1/0 mod(ld/st/dm/pu/mfu)=0/1/0/1/1
[GNNE-WD SUBPC] dec=202c33b8 ld=202c3394 st=0 mfu=202c32a4 pu=202c3324 dw=0 a0=202c3228 a1=0 dmw=202c32fc dmif=202c32b4 dmps=0 dmat=202c3214 ai2d=0
[GNNE-WD FREEZE after-100ms] status=0x4f4c dec_pc=0x202c33b8 (d=0) mfu(d=0) pu(d=0) st(d=0) work=1
[GNNE-WD IRQ-HIST] now_tick=18832 (last 8 IRQs):
irq#5 poll#4 tick=10277 (-8555ms) gs=0xc00 gpc=0x202c5c74 ddrc_s=1 cam=36000000
irq#6 poll#5 tick=10278 (-8554ms) gs=0xc00 gpc=0x202ce1a0 ddrc_s=1 cam=36000000
irq#7 poll#6 tick=10279 (-8553ms) gs=0xc00 gpc=0x202cec20 ddrc_s=1 cam=36000000
irq#8 poll#7 tick=10280 (-8552ms) gs=0xc00 gpc=0x202c5b66 ddrc_s=1 cam=24000000
irq#10 poll#9 tick=14675 (-4157ms) gs=0xc00 gpc=0x0 ddrc_s=1 cam=36000000
irq#11 poll#9 tick=14675 (-4157ms) gs=0xc00 gpc=0x202c3abc ddrc_s=1 cam=36000000
irq#12 poll#10 tick=14677 (-4155ms) gs=0xc00 gpc=0x202cf616 ddrc_s=1 cam=36000000
irq#13 poll#11 tick=14680 (-4152ms) gs=0xc00 gpc=0x202d0016 ddrc_s=1 cam=36000000
[GNNE-WD AI2D] irq_count=1 last_tick=10267 (-8636ms ago)
[GNNE-WD THREADS] (one-shot)
thread pri status sp stack size max used left tick error


preload 3 suspend 0x00000910 0x00080000 00% 0x00000001 OK
preload 3 suspend 0x00000910 0x00080000 00% 0x00000060 OK
preload 3 suspend 0x00000910 0x00080000 00% 0x000000c8 OK
preload 3 suspend 0x00000910 0x00080000 00% 0x000000c8 OK
preload 3 suspend 0x00000910 0x00080000 00% 0x000000ae OK
preload 4 suspend 0x00000910 0x00080000 00% 0x00000093 OK
preload 4 suspend 0x00000910 0x00080000 00% 0x000000c8 OK
preload 4 suspend 0x00000910 0x00080000 00% 0x000000c7 OK
preload 3 suspend 0x00000960 0x00080000 00% 0x000000b2 OK
vpu_task 11 suspend 0x00000508 0x00002000 15% 0x0000000a EINTRPT
preload 20 suspend 0x00000960 0x00080000 00% 0x00000077 OK
preload 25 suspend 0x00000960 0x00080000 00% 0x000000ad ETIMOUT
mtp 16 suspend 0x00000508 0x00005000 12% 0x00000009 EINTRPT
mtp_inty 16 suspend 0x000007a8 0x00005000 09% 0x0000000a EINTRPT
usbh_hub0 14 suspend 0x000005c8 0x00001000 39% 0x0000000a EINTRPT
tshell 20 suspend 0x000006e8 0x00014000 02% 0x0000000a OK
thermal_detect_threa 29 suspend 0x000004d8 0x00002800 13% 0x0000000a EINTRPT
auto_load_thread 29 ready 0x000004c8 0x00002800 12% 0x0000000a ETIMOUT
mcm_task 1 suspend 0x000004e8 0x00002000 15% 0x00000005 EINTRPT
gnne_wd 25 running 0x00003198 0x00004000 77% 0x0000000a OK
touch_read 20 suspend 0x000006b8 0x00001000 41% 0x00000005 EINTRPT
usage_thread 30 suspend 0x00000518 0x00002000 16% 0x0000000a EINTRPT
gpio_irq_to_user 16 suspend 0x000004f8 0x00005000 06% 0x0000000a OK
gpio_debounce 15 suspend 0x000004f8 0x00005000 06% 0x0000000a OK
sys workq 17 suspend 0x000004f8 0x00005000 06% 0x0000000a OK
mmcsd_detect 22 suspend 0x00000558 0x00008000 07% 0x00000001 EINTRPT
wlan 15 suspend 0x000004f8 0x00001000 31% 0x0000000a OK
tcpip 10 suspend 0x00000578 0x00002800 14% 0x00000013 EINTRPT
etx 12 suspend 0x00000538 0x00002800 13% 0x00000010 EINTRPT
erx 12 suspend 0x00000558 0x00002800 13% 0x00000010 EINTRPT
tsystem 30 suspend 0x000004f8 0x00004000 08% 0x00000020 EINTRPT
tidle0 31 ready 0x00000438 0x00004000 06% 0x0000001c OK
timer 4 suspend 0x00000488 0x00004000 07% 0x00000009 OK
[GNNE-WD RECOVER] forced wake-up sent, hoping nncase poll returns

硬件板卡


定制版

软件版本


基于CANMV1.6自行修改

2 Answers

你好,这个是你们自己写的程序吗?方便发来看一下吗?以及绿屏可能是由于时序不正确导致的。

建议可以先使用官方的demo去验证下:https://www.kendryte.com/k230_canmv/zh/main/example/media/video.html#ai-rtsp