当前位置: 首页 > news >正文

征程 6 VIO 通路断流分析

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

场景一: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)
  • 通过以上日志可知:
    • (14, 34, xxx),是 CIM 侧监听报错,代表 200ms 没有数据流进入 CIM 处理,出现这种情况有 2 种可能:
      • SENSOR 断流
      • CIM 输入通道关闭
    • 再根据出错的上文,没发现有 ipi drop timeout 报错,确认是 CIM 通道关闭导致的;

据流进入 CIM 处理,出现这种情况有 2 种可能:
- SENSOR 断流
- CIM 输入通道关闭

  • 再根据出错的上文,没发现有 ipi drop timeout 报错,确认是 CIM 通道关闭导致的;

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

http://www.xdnf.cn/news/52111.html

相关文章:

  • 基于FPGA的四层电梯设计系统设计和实现
  • 19年电赛D题硬件详解
  • C语言自增自减题目
  • 安全技术和防火墙
  • JVM 学习
  • SpringBoot集成Kafka详解
  • Python range 使用详解
  • P2505 [HAOI2012] 道路 Solution
  • 62页华为IPD-MM流程:市场调研理论与实践方案精读【附全文阅读】
  • Linux网络UDP与TCP
  • Matlab 五相电机仿真
  • Unity3D仿星露谷物语开发36之锄地动画2
  • DeepSeek 即将联合 vLLM 开源推理引擎
  • Chapter 3 Semiconductor Devices
  • Python多任务编程:进程全面详解与实战指南
  • RHCSA知识点
  • C++的spdlog异步日志windows配置教程
  • 10.QT-显示类控件|LCD Number|ProgressBar|Calendar Widget(C++)
  • CTGAN 合成数据生成与验证脚本学习笔记
  • StringEscapeUtils:给你的字符串穿上“防弹衣“——转义工具类深度解析
  • Spring Boot 实现定时任务的案例
  • Linux 学习 6 文件相关命令包含查询
  • String +memset字符串类题型【C++】
  • 从零创建 Docker 镜像(基于 OCI 格式)
  • 【kubernetes】pod资源配额
  • 016-C语言内存函数
  • 每日一题算法——链表相交
  • git学习日志
  • Java EE(20)——线程安全——ThreadLocal
  • 第36讲:作物生长预测中的时间序列建模(LSTM等)