专栏中心

EEPW首页 > 专栏 > 征程 6 VIO通路断流分析

征程 6 VIO通路断流分析

发布人:地平线开发者 时间:2025-04-20 来源:工程师 发布文章

自动驾驶场景中,常见的是多路感知通路,在不考虑应用获取释放帧异常操作的前提下,一般出现帧获取异常的情况,主要原因是通路中某段断流的情况,如何去准确的定位,对大部分客户来说,依赖我司的支持;针对这种情况,会列举几种断流日志分析;

场景一:11V 环视 yuv 场景,多进程反复启停

现象:应用程序报 get data failed

img

logcat 日志

E/        (597844): [362063.125000][vpf_ioctl.c]:[vio_dev_node_dqbuf_poll][1012]dev poll Timeout(4000): 0, Success
I/        (597844): [362063.125000][vpf_ioctl.c]:[vio_dbg_log_show][964]
I/        (597844): [S6] vin1_C3*-otf-isp1_C5*-otf-ynr1_C5-otf-pym1_C5(dma)
I/        (597844): gtask-vin1: res 1 rcnt 0 [vin1:0]
I/        (597844): gtask-isp1: res 0 rcnt 0 [isp1:0][ynr1:0][pym1:0]
I/        (597844):
I/        (597844):
I/        (597844): [362063.125000][vpf_ioctl.c]:[vio_dbg_log_show][964]
I/        (597844): ----------------------------------------------------------
I/        (597844): flowid    module    cid chn   FREE   REQ   PRO   COM  USED
I/        (597844): ----------------------------------------------------------
I/        (597844): 6         vin1      3   0       16     0     0     0     0
I/        (597844): 6         vin1      3   8       16     0     0     0     0
I/        (597844):
I/        (597844): 6         isp1      5   0        0     0     0     0     2
I/        (597844): 6         isp1      5   8       16     0     0     0     0
I/        (597844):
I/        (597844): 6         ynr1      5   0       16     0     0     0     0
I/        (597844): 6         ynr1      5   1       16     0     0     0     0
I/        (597844): 6         ynr1      5   8       16     0     0     0     0
I/        (597844):
I/        (597844): 6         pym1      5   0       16     0     0     0     0
I/        (597844): 6         pym1      5   8        0     5     0     0     0
I/        (597844):
E/        (597844): [362063.125000][hbn_vpf_interface.c]:[hbn_vnode_getframe_group][2154]pym1 ctx 5 dqbuf failed COMMON dequeue buffer error
E/        (597844): [362063.125000][pym.c]:[pym_entity_get_buf][787]pipe:6 user already got 0 buffers
E/        (597844): [362063.125000][pym.c]:[pym_entity_get_buf][788]Pipe(6)Pym 1 get cap buf failed pipe_state:3
E/        (597844): [362063.125000][vpm_pipeline.c]:[vio_pipeline_get_data][1763]Pipe:6 pym get buf failed type:22
E/VPS_TEST(597844): [362063.142697][TEST_LOG vps_test_src.c:1753] hb_vio_get_data pipe 6 failed, ret=-6028

从上述日志分析可知

通路信息 [S6] vin1_C3-otf-isp1_C5-otf-ynr1_C5-otf-pym1_C5(dma):出错通路的链路信息是 sensor-cim1-online-isp1-online-ynr1-online-pym1-ddr;

pym1 输出通道 buffer 5 都在 request 队列,可知 PYM 侧未收到数据;

vin1 输入输出通道的 buffer 都在 free 队列,可知 CIM 侧未收到数据;

已知 CIM 侧未接收到数据,因此检查 sensor 侧配置或者 deserializer link 状态;


场景二:环视 YUV-CIM-DDR-PYM 跳帧场景

现象:应用程序报 get data failed

img

logcat 日志

E/        ( 2006): [8511.584961][vpf_ioctl.c]:[vio_dev_node_dqbuf_poll][1012]dev poll Timeout(4000): 0, Success
I/        ( 2006): [8511.584961][vpf_ioctl.c]:[vio_dbg_log_show][964]
I/        ( 2006): [S7] vin4_C0*-m2m-(dma)pym1_C4*(dma)
I/        ( 2006): gtask-vin4: res 1 rcnt 0 [vin4:0]
I/        ( 2006): gtask-pym1: res 1 rcnt 0 [pym1:0]
I/        ( 2006): [8511.584961][vpf_ioctl.c]:[vio_dbg_log_show][964]
I/        ( 2006): ----------------------------------------------------------
I/        ( 2006): flowid    module    cid chn   FREE   REQ   PRO   COM  USED
I/        ( 2006): ----------------------------------------------------------
I/        ( 2006): 7         vin4      0   0       16     0     0     0     0
I/        ( 2006): 7         vin4      0   8        0     6     0     0     0
I/        ( 2006):
I/        ( 2006): 7         pym1      4   0       10     0     0     0     6
I/        ( 2006): 7         pym1      4   8        0     5     0     0     0
I/        ( 2006):
E/        ( 2006): [8511.584961][hbn_vpf_interface.c]:[hbn_vnode_getframe_group][2154]pym1 ctx 4 dqbuf failed COMMON dequeue buffer error
E/        ( 2006): [8511.584961][pym.c]:[pym_entity_get_buf][787]pipe:7 user already got 0 buffers
E/        ( 2006): [8511.584961][pym.c]:[pym_entity_get_buf][788]Pipe(7)Pym 1 get cap buf failed pipe_state:3
E/        ( 2006): [8511.584961][vpm_pipeline.c]:[vio_pipeline_get_data][1763]Pipe:7 pym get buf failed type:22

从上述日志分析可知

通路信息 vin4_C0-m2m-(dma)pym1_C4(dma): 出错通路的链路信息是 sensor-cim4-ddr-pym4-ddr;

gtask-pym1: res 1 rcnt 0 [pym1:0]: res 1 代表 PYM 硬件资源未被使用,PYM 处于空闲状态;

VIN4 输出通道的 buffer 都在 request 队列,确实是 CIM 侧断流;

dmesg 日志

上层出现 timeout 的时间点是 8511.58s,timeout 时间是 4s,所以查看 8507.58s 左右的内核日志

[ 8426.666910] [I|SEN|camera_dev.c+711]:[SENSOR10]: sensor_frame_event_record 1 -4234.506ms fe
[ 8426.708832] [I|SEN|camera_dev.c+658]:[SENSOR10]: sensor_frame_event_record 1 --------- fs
[ 8508.072761] [A][time_1 :8508 s, 59 ms] FCHM Int occur (14, 34, 511)
[ 8508.072772] [CIM stl]:[I|CIM|hobot_cim_stl.c+2033]: cim_stl_handler_cb: begin hw_id 4
[ 8508.072782] [CIM stl]:[I|CIM|hobot_cim_stl.c+2072]: cim_stl_handler_cb: done hw_id 4
[ 8508.072784] [A][time_2 :8508 s, 59 ms] [K] Rcv_Occur_msg: 20-10-NCF-Occur (14, 34, 511)payload(1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)
[ 8508.072848] [A][time_4 :8508 s, 59 ms] [K] Ack from Rcore recv_Occur_msg: 20-10-NCF-Occur (14, 34, 511)
[ 8508.072862] [diag_ncf_event_ipc_send:447]hb_ipc_send succ! moduleid:20, eventid:10
[ 8508.072865] [A][time_5 :8508 s, 59 ms] [K] Rcv_Fixed_msg: 20-10-NCF-Fixed (14, 34, 511)payload(1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)
[ 8508.072924] [A][time_7 :8508 s, 59 ms] [K] Ack from Rcore recv_Fixed_msg: 20-10-NCF-Fixed (14, 34, 511)
[ 8508.072936] [diag_ncf_event_ipc_send:447]hb_ipc_send succ! moduleid:20, eventid:10
[ 8508.576078] [A][time_1 :8508 s, 562 ms] FCHM Int occur (14, 34, 512)
[ 8508.576091] [CIM stl]:[I|CIM|hobot_cim_stl.c+2033]: cim_stl_handler_cb: begin hw_id 4
[ 8508.576101] [CIM stl]:[I|CIM|hobot_cim_stl.c+2072]: cim_stl_handler_cb: done hw_id 4
[ 8508.576105] [A][time_2 :8508 s, 562 ms] [K] Rcv_Occur_msg: 20-10-NCF-Occur (14, 34, 512)payload(1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)
[ 8508.576173] [A][time_4 :8508 s, 562 ms] [K] Ack from Rcore recv_Occur_msg: 20-10-NCF-Occur (14, 34, 512)
[ 8508.576188] [diag_ncf_event_ipc_send:447]hb_ipc_send succ! moduleid:20, eventid:10
[ 8508.576191] [A][time_5 :8508 s, 562 ms] [K] Rcv_Fixed_msg: 20-10-NCF-Fixed (14, 34, 512)payload(1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)
[ 8508.576251] [A][time_7 :8508 s, 562 ms] [K] Ack from Rcore recv_Fixed_msg: 20-10-NCF-Fixed (14, 34, 512)

通过以上日志可知:

        因此需要检查 CIM 侧配置,跳帧配置有问题会导致 CIM 侧输入通道一直处于关闭状态;


        专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们

        关键词: 算法 自动驾驶 算法工具链 地平线 征程5

        相关推荐

        高阶智驾要落地,线控底盘为什么必须执行得准

        地平线征程 6 系列集成 Cadence Tensilica Vision DSP,实现规模化量产,合作加速智能驾驶解决方案部署

        CRC算法原理及C语言实现

        资源下载 2007-02-16

        PID算法

        资源下载 2007-02-16

        自动驾驶正推动汽车行业加速布局人形机器人

        携手ADI赢得未来

        视频 2019-11-08

        特斯拉监督版FSD加入中国市场

        2026-05-22

        ADI:传感技术助力未来自动驾驶的发展

        视频 2020-03-16

        数字PID控制算法之一

        资源下载 2007-12-28

        加快实现自动驾驶(完整小组讨论)

        视频 2020-06-12

        面向算法硬件加速的FPGA实现方法

        加密算法之MD5算法

        曲面显示屏取代传统汽车挡风玻璃

        Ouster推出 Rev8 OS 激光雷达系列 原生彩色激光雷达正式落地

        自动驾驶的现状与未来(节选)

        视频 2020-03-16

        76-81GHz自动驾驶CMOS RADAR

        视频 2018-05-31

        实时训练驾驶人工智能

        掘金自动驾驶,不要把大坑当机会

        汽车电子 2026-04-17

        简单实用的单片机CRC 快速算法

        资源下载 2007-02-16

        2035年自动驾驶出租车市场规模将达1680亿美元

        汽车电子 2026-04-21
        更多 培训课堂
        更多 焦点
        更多 视频

        技术专区