洪欣

洪欣

0个粉丝

5

问答

0

专栏

0

资料

洪欣  发布于  2025-02-13 15:42:34
采纳率 0%
5个问答
299

hi_mpi_sys_exit 报告 hi_mpi_venc_query_status chn[0] failed with 0xa0088018 无线重复循环

运行hi3519dv500 sdk 中的 mpp sample venc程序,定位到hi_mpi_sys_exit()报错:

[ipc_comm_get_stream_from_one_channl]-1288: hi_mpi_venc_query_status chn[0] failed with 0xa0088018!

无限重复这一句

重新上电后打印log:

cat /dev/logmpp
<3>[  venc] [Func]:venc_svr_do_work [Line]:1827 [Info]:venc 1 stream buffer is full.

dmesg除了开机信息无其他报错

cat /proc/umap/venc信息详见附件

实在不知如何下手,求问各位大佬给点思路怎么排查(话说ipc_comm_get_stream_from_one_channl感觉像是驱动问题。。。)

更新:
根据错误码0xa0088018查询到:“系统没有初始化或没有加载相应模块” ,但我的相机已经加载了venc.ko,又不知道怎么查了。。。

易百纳技术社区文件: venc.png
下载
我来回答
回答12个
时间排序
认可量排序

邓晓

22个粉丝

1

问答

0

专栏

19

资料

邓晓 2025-02-13 16:51:00
认可1

log显示venc chn=1 stream buf满了,没有去取流
hi_mpi_venc_query_status chn[0] failed with 0xa0088018! 显示venc chn=0,没有初始化
是不是venc初始化的chn=1,但是取流是chn=0?

洪欣
洪欣   回复   邓晓  2025-02-14 10:32:16
0

麻烦您看一下评论区的源码,我的程序调用逻辑是:
《sample_venc.c》
line 679: sample_venc_normal :
const hi_vi_pipe vi_pipe = 0;
const hi_vi_chn vi_chn = 0;
const hi_vpss_grp vpss_grp = 0;

运行到line 720: sample_venc_sys_init 进入 函数 line 382
运行到line 409: sample_comm_sys_init_with_vb_supplement

进入《sample_comm_sys.c》line 275
运行到line 282: hi_mpi_sys_exit 挂掉

全局设置是vi_pipe = 0,vi_chn = 0,vpss_grp = 0;
初始的 VENC 通道有两个:
venc_chn[0] = 0(用于 H.265 编码)
venc_chn[1] = 1(用于 H.264 编码)

这是您需要的数据吗,我不是很清楚

洪欣

0个粉丝

5

问答

0

专栏

0

资料

洪欣 2025-02-14 10:18:14
认可0

这是sample_venc代码

易百纳技术社区 文件: sample_venc.c
下载
易百纳技术社区 文件: sample_comm_sys.c
下载
易百纳技术社区 文件: sample_venc.c
下载

邓晓

22个粉丝

1

问答

0

专栏

19

资料

邓晓 2025-02-14 11:33:53
认可0

hi_mpi_sys_exit()函数报什么错
先不用管这个错误,接着往下走,把error就返回注释掉

洪欣
洪欣   回复   邓晓  2025-02-14 14:30:07
0

sample_comm_sys_init_with_vb_supplement 是在做vb初始化的,hi_mpi_sys_exit注释掉的话,接下来的函数都没法运行了:

// ret = hi_mpi_sys_exit();
ret = hi_mpi_vb_exit();
ret = hi_mpi_vb_set_cfg(vb_conf);
ret = hi_mpi_vb_set_supplement_cfg(&supplement_conf);
ret = hi_mpi_vb_init();
ret = hi_mpi_sys_init();

运行hi_mpi_vb_exit必须先执行hi_mpi_sys_exit,否则报错,再注释掉这句的话报错如下:

[sample_comm_sys_init_with_vb_supplement]-304: hi_mpi_vb_set_conf failed! err code: 0xa0018022
[sample_venc_sys_init]-414: sample_venc_sys_init failed!
[sample_venc_normal]-723: Init SYS err for 0xffffffff!
program exit abnormally!
start sample_ipc_server_deinit

0xa0018022意为:系统繁忙,彻底不会了。。。

邓晓
邓晓   回复   洪欣  2025-02-14 15:32:55
0

是不是没有加载驱动,lsmod命令敲下
不是让你不执行hi_mpi_sys_exit,执行后,报错不要理会,接着往下走
报错码是啥

洪欣
洪欣   回复   邓晓  2025-02-14 16:30:11
0

lsmod结果:

~ # lsmod
ot_otp 20480 0 - Live 0xffffffc009101000 (O)
ot_km 53248 0 - Live 0xffffffc0090f3000 (O)
ot_cipher 532480 0 - Live 0xffffffc009070000 (O)
ot_pm 36864 0 - Live 0xffffffc009066000 (PO)
ot_uvc 32768 0 - Live 0xffffffc00905d000 (PO)
ot_aiisp 40960 0 - Live 0xffffffc009052000 (PO)
ot_user 16384 0 - Live 0xffffffc00904d000 (O)
ot_mipi_rx 49152 0 - Live 0xffffffc009040000 (O)
ot_mipi_tx 32768 0 - Live 0xffffffc009037000 (O)
ot_sensor_i2c 16384 0 - Live 0xffffffc009032000 (O)
ot_piris 16384 0 - Live 0xffffffc00902d000 (O)
ot_pwm 16384 1 - Live 0xffffffc009028000 (O)
ot_svp_npu 110592 0 - Live 0xffffffc00900c000 (PO)
ot_dpu_match 110592 0 - Live 0xffffffc008ff0000 (PO)
ot_dpu_rect 90112 0 - Live 0xffffffc008fd9000 (PO)
ot_ive 184320 0 - Live 0xffffffc008fab000 (PO)
ot_vdec 135168 0 - Live 0xffffffc008f89000 (PO)
ot_jpegd 61440 0 - Live 0xffffffc008f79000 (PO)
ot_jpege 69632 0 - Live 0xffffffc008f67000 (PO)
ot_h265e 184320 0 - Live 0xffffffc008f39000 (PO)
ot_h264e 163840 0 - Live 0xffffffc008f10000 (PO)
ot_venc_svr 192512 0 - Live 0xffffffc008ee0000 (PO)
ot_venc 290816 0 - Live 0xffffffc008e98000 (PO)
ot_rc 122880 0 - Live 0xffffffc008e79000 (PO)
ot_vfmw 401408 0 - Live 0xffffffc008e16000 (PO)
ot_chnl 45056 1 ot_jpegd, Live 0xffffffc008e0a000 (PO)
gfbg 151552 0 - Live 0xffffffc008de4000 (O)
ot_vo 212992 0 - Live 0xffffffc008daf000 (PO)
ot_vo_dev 118784 0 - Live 0xffffffc008d91000 (PO)
ot_mcf 192512 0 - Live 0xffffffc008d61000 (PO)
ot_vpss 499712 0 - Live 0xffffffc008ce6000 (PO)
ot_isp 1339392 0 - Live 0xffffffc008b9e000 (O)
ot_vi 1298432 0 - Live 0xffffffc008a60000 (PO)
ot_dis 94208 0 - Live 0xffffffc008a48000 (PO)
ot_vgs 217088 0 - Live 0xffffffc008a12000 (PO)
ot_vpp 221184 0 - Live 0xffffffc0089db000 (PO)
ot_gdc 180224 0 - Live 0xffffffc0089ae000 (PO)
ot_rgn 135168 0 - Live 0xffffffc00898c000 (PO)
ot_tde 180224 0 - Live 0xffffffc00895f000 (PO)
ot_acodec 32768 0 - Live 0xffffffc008956000 (PO)
ot_adec 16384 0 - Live 0xffffffc008951000 (PO)
ot_aenc 40960 0 - Live 0xffffffc008943000 (PO)
ot_ao 98304 0 - Live 0xffffffc008926000 (PO)
ot_ai 118784 0 - Live 0xffffffc008908000 (PO)
ot_aio 73728 1 ot_acodec, Live 0xffffffc0088f5000 (PO)
ot_sys 98304 0 - Live 0xffffffc0088dc000 (PO)
ot_vca 163840 0 - Live 0xffffffc0088b3000 (PO)
ot_vb 86016 0 - Live 0xffffffc00889d000 (PO)
ot_base 20480 44 ot_cipher,ot_pm,ot_uvc,ot_aiisp,ot_mipi_rx,ot_sensor_i2c,ot_piris,ot_pwm,ot_svp_npu,ot_dpu_match,ot_dpu_rect,ot_ive,ot_vdec,ot_jpegd,ot_jpege,ot_h265e,ot_h264e,ot_venc_svr,ot_venc,ot_rc,ot_vfmw,ot_chnl,gfbg,ot_vo,ot_vo_dev,ot_mcf,ot_vpss,ot_isp,ot_vi,ot_dis,ot_vgs,ot_vpp,ot_gdc,ot_rgn,ot_tde,ot_acodec,ot_adec,ot_aenc,ot_ao,ot_ai,ot_aio,ot_sys,ot_vca,ot_vb, Live 0xffffffc008897000 (PO)
gpio 16384 0 - Live 0xffffffc008892000 (O)
ot_mmz 45056 20 ot_cipher,ot_uvc,ot_svp_npu,ot_dpu_match,ot_dpu_rect,ot_ive,ot_venc,gfbg,ot_isp,ot_vgs,ot_gdc,ot_rgn,ot_tde,ot_ao,ot_aio,ot_sys,ot_vb,ot_base, Live 0xffffffc008886000 (O)
sys_config 16384 1 ot_sys, Live 0xffffffc008881000 (O)
ot_osal 65536 77 ot_otp,ot_km,ot_cipher,ot_pm,ot_uvc,ot_aiisp,ot_mipi_rx,ot_mipi_tx,ot_sensor_i2c,ot_piris,ot_pwm,ot_svp_npu,ot_dpu_match,ot_dpu_rect,ot_ive,ot_vdec,ot_jpegd,ot_jpege,ot_h265e,ot_h264e,ot_venc_svr,ot_venc,ot_rc,ot_vfmw,ot_chnl,gfbg,ot_vo,ot_vo_dev,ot_mcf,ot_vpss,ot_isp,ot_vi,ot_dis,ot_vgs,ot_vpp,ot_gdc,ot_rgn,ot_tde,ot_acodec,ot_adec,ot_aenc,ot_ao,ot_ai,ot_aio,ot_sys,ot_vca,ot_vb,ot_base,ot_mmz, Live 0xffffffc008870000 (O)

按照源代码不做任何改动执行的话,会无限循环报告:
hi_mpi_venc_query_status chn[0] failed with 0xa0088018
中间夹杂其他错误码:


就像这样

邓晓

22个粉丝

1

问答

0

专栏

19

资料

邓晓 2025-02-14 17:30:45
认可0

感觉你的板子同时跑了多个应用,sys被反复init exit了,你看看是不是只有一个应用,或者有没有多次调用init exit

洪欣
洪欣   回复   邓晓  2025-02-15 10:24:36
0

在sample_venc这个程序实现里面,我可以明确是在第一次调用exit做系统去初始化时报的错,调用流程如下:

1、sys去初始化
2、vb去初始化
3、vb设置参数
4、vb设置额外参数
5、vb初始化
6、sys初始化

结果第一个就出了错

至于板子跑了多个应用的事情,我用ps查看了一下:

/mnt/tools # ps
PID   USER     TIME  COMMAND
    1 root      0:01 init
    2 root      0:00 [kthreadd]
    3 root      0:00 [rcu_gp]
    4 root      0:00 [rcu_par_gp]
    8 root      0:00 [mm_percpu_wq]
    9 root      0:00 [rcu_tasks_trace]
   10 root      0:00 [ksoftirqd/0]
   11 root      0:00 [rcu_sched]
   12 root      0:00 [migration/0]
   13 root      0:00 [cpuhp/0]
   14 root      0:00 [cpuhp/1]
   15 root      0:00 [migration/1]
   16 root      0:00 [ksoftirqd/1]
   19 root      0:00 [kdevtmpfs]
   20 root      0:00 [netns]
   21 root      0:00 [kworker/u4:1-fl]
  183 root      0:00 [kworker/u4:2-fl]
  358 root      0:00 [khungtaskd]
  359 root      0:00 [oom_reaper]
  360 root      0:00 [writeback]
  362 root      0:00 [kcompactd0]
  363 root      0:00 [ksmd]
  385 root      0:00 [kblockd]
  393 root      0:00 [spi0]
  399 root      0:00 [spi1]
  400 root      0:00 [kworker/1:2-eve]
  401 root      0:00 [spi2]
  411 root      0:00 [spi3]
  412 root      0:00 [kworker/1:4-ipv]
  430 root      0:00 [devfreq_wq]
  531 root      0:00 [rpciod]
  532 root      0:00 [kworker/1:1H-kb]
  533 root      0:00 [kworker/u5:0-xp]
  534 root      0:00 [xprtiod]
  540 root      0:00 [kswapd0]
  544 root      0:00 [nfsiod]
  546 root      0:00 [xfsalloc]
  547 root      0:00 [xfs_mru_cache]
  617 root      0:00 [kworker/0:2-eve]
  750 root      0:00 [sdhci]
  752 root      0:00 [irq/46-mmc0]
  758 root      0:00 [sdhci]
  759 root      0:00 [irq/47-mmc1]
  765 root      0:00 [ipv6_addrconf]
  768 root      0:00 [kworker/0:1H-mm]
  776 root      0:00 [mmc_complete]
  908 root      0:00 [jbd2/mmcblk0p5-]
  909 root      0:00 [ext4-rsv-conver]
  913 root      0:00 [kworker/1:2H]
  915 root      0:00 [kworker/0:2H]
  916 root      0:00 telnetd
  926 root      0:00 udevd --daemon
 1280 root     33:58 ipcProc
 1281 root      0:00 -sh
 1291 root      0:00 [kworker/u5:1-xp]
 1322 root      0:00 [vb_thread]
 1420 root      0:07 [irq/49-VICAP_0_]
 1422 root      0:00 [irq/50-VICAP_0_]
 1497 root      0:02 [jpegd_thread]
 1586 root      0:03 [pm_thread]
 1636 root      0:00 [kworker/0:1-eve]
 1649 root      0:00 [kworker/u4:0-ev]
 1650 root      0:00 [kworker/0:0-eve]
 1651 root      0:00 ps

感觉都不太像是有多个应用

邓晓

22个粉丝

1

问答

0

专栏

19

资料

邓晓 2025-02-17 09:26:26
认可0

cat /dev/logmpp,把日志附上来,看看报错原因

洪欣

0个粉丝

5

问答

0

专栏

0

资料

洪欣 2025-02-17 14:10:21
认可0

<3>[ venc] [Func]:venc_svr_do_work [Line]:1827 [Info]:venc 1 stream buffer is full.
只有这一句话,其他什么信息都没有

洪欣

0个粉丝

5

问答

0

专栏

0

资料

洪欣 2025-02-24 11:20:47
认可0

找到问题了,商家提供的系统会默认运行三方拍图例程,后台保持运行,所以我自己的程序做系统释放会与商家的程序冲突,导致商家例程循环调用不存在的资源从而报错。将这个进程kill后就没有问题了

或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
+ 添加网盘链接/附件

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

易百纳技术社区