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

logcat日志
从上述日志分析可知
通路信息 [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

logcat日志
从上述日志分析可知
通路信息 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左右的内核日志
通过以上日志可知:
(14, 34, xxx),是CIM侧监听报错,代表200ms没有数据流进入CIM处理,出现这种情况有2种可能:
SENSOR断流
CIM 输入通道关闭
再根据出错的上文,没发现有ipi drop timeout报错,确认是CIM 通道关闭导致的;
因此需要检查CIM侧配置,跳帧配置有问题会导致CIM侧输入通道一直处于关闭状态;
