首页 > 技术知识 > 正文

在设备的运行过程中,出现系统应用程序正常启动,但是mpp系统无码流的情况。

1. 设备软重启后sensor无码流,断电重启后能够恢复正常。

调试步骤:

1)首先复现现象,通过脚本控制设备不停软重启,系统启动一段时间后通过读取/proc/umap/venc下的帧率统计信息,如果为0,则软重启;

2)软重启导致无法出图,问题的原因可能就是一些模块没有初始化,因为设备硬件没有准本复位sensor的管脚,所以只能查找sensor的寄存器手册,通过设置sensor的复位寄存器reset;不同的sensor设备有不同的复位,本人接触到的有imx307&imx327的复位寄存器是0x3003;imx335的是0x3004;

(调试记录)海思sensor断流问题及调试方法(IMX335,IMX327)(调试记录)海思sensor断流问题及调试方法(IMX335,IMX327)13)发现还是会有软重启后无码流的现象出现;但是imx327没有这种现象出现,仔细看了sensor的数据手册,发现一个是reset,一个是restart;然鹅并不知道什么区别,最后怀疑是vi模块的原因,就在HI_MPI_VI_EnableDev前面先去disable一下,最后软重启无码流的问题没有出现了。

2. 设备忽然没有码流了,软重启后能够出现码流。

现象很难复现,所以先去读取sensor的寄存器数据,sensor是imx335,使用海思自带的工具i2c_read 0x0 0x34 0x3000 0x3aff 2 1,将0x3000到0x3aff之间的寄存器全部读取出来,和正常设备对比发现没有区别,只是增益曝光相关的寄存器有些许差异,所以基本不是不是寄存器被外部修改了的原因。

因为软复位可以恢复码流,测试切换宽动态也可以恢复,可能问题还是在sensor那一块,尝试通过imx335的0x3004寄存器,置0x4后置0x0;可以恢复码流。所以选择在venc没有码流超过一定超时时间后去restart imx335,来防止这种问题的发生。

猜你喜欢