Camera调试ISP TimeOut问题,会是什么原因

ops/2024/9/22 13:58:32/

在MT6572平臺上面調試camera

遇到isp timeout

硬體訊號都正常!這是一些LOG

K_ISP ERR: Timeout: Clear(1), IrqStatus(0x00000080), WaitStatus(0x00000001), Timeout(2000)
K_ISP INF:  +

而我看MTK FAQ08102 裏這麼說

[FAQ08102][Camera Drv]Mt6572黑屏,綠屏,花
屏,卡等問題分析思路
[DESCRIPTION]
如果在進入camera的時候,發現有讀到ID,可是確黑屏或者綠屏,或者出現一條綠線等,請先將ISP寄存器dump出來做
第一手分析
[SOLUTION]
一,ISP寄存器dump出來的方法:1,直接在進入camera之後通過adb dump,命令“adb shell cat /proc/driver/isp_reg > 'your path' ”2,手機有debug機制,遇到數據抓不滿的時候會自動dump,在kernel log中蒐索“K_ISP +”下麵就是dump出來的寄
存器
二,分析Tg那邊的寄存器來排查是sensor的數據有問題還是後端處理有問題:1,看TG Grab Window的配寘:K_ISP0xF4013418  0x06310001  GRAB PIXEL Start/EndK_ISP0xF401341C 0x02530001  GRAB LineStart/End2,看Tg的input以及outputK_ISP0xF4013440  0x000e5b60  TGOutPutDataNum=Widthx2×Height(此
處的Width和Height為Grabwindow的配寘,對應到driver中的Get Resolution裡面的
值)                                 K_ISP0xF4013448 0x06440259  [30:16]Input frame line counter  
[15:0]Input frame pixel counter
注意:由於YUV1個pixel是由2個byte組成的,所以寬會等於抓到的byte/2;高是從
1開始算的,所以會+1
如果Grab window配寘不對,請檢查sensor driver中Getinfo函數中的startx,starty以及GetResolution函數中的
Width和Height。
Tg In為sensor實際吐出來的數據,如果不對,需要檢查sensor的setting,有可能是sensor吐出來的數據量不够或者配
置錯誤導致抓不到data;Tg OutPut為實際往後面輸出的size,它應該等於GetResolution中的Width×Height×2,注意
Tg的GrabWindow不能比TG的Input還要大,否則會抓不滿報錯

我的設備列印出來的 K_ISP0xF4013440 為 0 也就是TGOutPutDataNum等於0 。有可能是什麼原因造成的呢?sensor driver中Getinfo函數中的startx,starty應該怎麼設定?

Hal的log

E/ImgSensorDrv(  141): [setScenario]Err(  595):[setScenario]: Sensor clock too slow = 24 753
E/iio/camio(  141): iio/camio[mediatek/platform/mt6572/hardware/camera/core/imageio/pipe/CamIOPipe/CamIOPipe.cpp, sendCommand, line0731] ERROR: CamIOPipe sendCommand NOT SUPPORT!
E/iio/camio(  141): iio/camio[mediatek/platform/mt6572/hardware/camera/core/imageio/pipe/CamIOPipe/CamIOPipe.cpp, sendCommand, line0731] ERROR: CamIOPipe sendCommand NOT SUPPORT!
E/iio/camio(  141): iio/camio[mediatek/platform/mt6572/hardware/camera/core/imageio/pipe/CamIOPipe/CamIOPipe.cpp, sendCommand, line0731] ERROR: CamIOPipe sendCommand NOT SUPPORT!
E/iio/camio(  141): iio/camio[mediatek/platform/mt6572/hardware/camera/core/imageio/pipe/CamIOPipe/CamIOPipe.cpp, sendCommand, line0731] ERROR: CamIOPipe sendCommand NOT SUPPORT!
E/iio/camio(  141): iio/camio[mediatek/platform/mt6572/hardware/camera/core/imageio/pipe/CamIOPipe/CamIOPipe.cpp, irq, line0610] ERROR: IRQ:NOT SUPPORT pass path
E/IspDrv  (  141): IspDrv[mediatek/platform/mt6572/hardware/camera/core/drv/isp/isp_drv.cpp, waitIrq, line0399] ERROR: ISP_IOC_WAIT_IRQ fail(-1)
E/IspDrv  (  141): IspDrv[mediatek/platform/mt6572/hardware/camera/core/drv/isp/isp_drv.cpp, waitIrq, line0405] ERROR: SENINF reg 0x14014018=0x00000078
E/IspDrv  (  141): IspDrv[mediatek/platform/mt6572/hardware/camera/core/drv/isp/isp_drv.cpp, waitIrq, line0411] ERROR: SENINF reg 0x14014618=0x00000000
E/IspDrv  (  141): IspDrv[mediatek/platform/mt6572/hardware/camera/core/drv/isp/isp_drv.cpp, waitBufReady, line1139] ERROR: waitIrq( ISP_DRV_INT_PASS1_TG1_DON_ST ) fail
E/iio/camio(  141): iio/camio[mediatek/platform/mt6572/hardware/camera/core/imageio/pipe/CamIOPipe/CamIOPipe.cpp, dequeOutBuf, line0332] ERROR: waitBufReady failed
E/MtkCam/VSSScen(  141): [deque] mpCamIOPipe->dequeOutBuf fail (deque){#740:mediatek/platform/mt6572/hardware/camera/core/hwscenario/VSSScenario.cpp}
E/MtkCam/PrvCQT(  141): (1957)[dropFrame] drop frame failed (dropFrame){#1432:mediatek/platform/mt6572/hardware/camera/hal/adapter/MtkPhoto/Preview/PreviewCmdQueThread.cpp}
E/IspDrv  (  141): IspDrv[mediatek/platform/mt6572/hardware/camera/core/drv/isp/isp_drv.cpp, waitIrq, line0399] ERROR: ISP_IOC_WAIT_IRQ fail(-1)

网友评论:

ISP TIMEOUT 是因為BB已經跟CAMERA通訊上了,但是BB等待camera吐數據超時,我遇到過幾次,十有八九都是DATA線的問題,72並口有幾根線跟MIPI LANE是共用的,檢查一下。

 大家有遇到类似问题吗,觉的会是什么原因呢?

文章来源:https://bbs.16rd.com/thread-20140-1-42.html

d21d6e52be1f92892a1528beeb35b322.png

《Android Camera开发入门》、《Camx初认识》已经上架,可以点击了解 -> 小驰成长圈 |期待见证彼此的成长 39b9be2873b7f0d92c04eeb2b0025193.png

55f24f7c53712a344dcd34ef52187542.png

觉得不错,点个赞呗 e8866c793545b447e06270cfc020f910.png


http://www.ppmy.cn/ops/98001.html

相关文章

Linux网络编程2(理解局域网)

前面的一篇文章,我们简单地了解了网络的发展过程,并且简单的介绍了网络的一些基本术语,这篇文章,我们来详细的了解一下局域网的内容,相信看完这篇文章,大家能够对局域网有清晰的认识。 教科书一般是按照五层…

HCIA云计算实验-2-网络基础实验

HCIA云计算-02-网络基础实验 实验内容: 交换机视图介绍交换机基础配置VLAN原理实验路由原理实验 vlan 介绍 VLAN(Virtual Local Area Network)即虚拟局域网,是将一个物理的 LAN 在逻辑上划分成多个广播域的通信技术。每个 VLAN 是一个广播域&#xf…

平衡二叉树、B树、B+树、红黑树解析

目录 有序二叉树平衡二叉树构造平衡二叉树RRLLRLLR 平衡二叉树的优缺点: 2-3-4树红黑树B树B树B树、B树、红黑树的应用 有序二叉树 关于有序二叉树的详解以及 J a v a Java Java代码实现详见:二叉排序树详解并通过Java代码实现。每个节点最多有两个孩子…

为什么Qt源码中要用d_ptr和q_ptr

为什么需要d_ptr和q_ptr Qt中的公有类中一般都会包含d_ptr这样一个私有类型的指针,指针指向该类对应的私有类,引入这个指针主要是为了解决二进制兼容的问题。q_ptr是和d_ptr配套的,后面会介绍到。 什么是二进制兼容 Qt作为一个第三方库&…

【安卓】解析XML格式数据

这里需要搭建一个Web服务器,在这个服务器上提供一段XML文本,然后在程序里去访问这个服务器,再对得到的XML文本进行解析。首先需要下载一个Apache服务器的安装包,官方下载地址是:http://httpd.apache.org。然后一直点击…

OGR-矢量筛选

OGR-矢量筛选 1.属性筛选 # 根据字段属性进行过滤 ds ogr.Open(os.path.join(data_dir, global)) lyr ds.GetLayer(ne_50m_admin_0_countries) >1 lyr.SetAttributeFilter(continent "Asia") lyr.GetFeatureCount() >2:二次筛选 # You can still get a fe…

实训day34(8.22)

一、回顾 高并发集群 饿了么后端的登录模块 1、数据库 1. 主从复制(高可用) 2. 传统的主从复制 3. gtids事务型的主从复制 4. 注意 1. server_id唯一 2. 8.x版本需要get_ssl_pub_key 3. 5.x不需要 4. change master to 5. stop | start slave 5. 非交互 import pymys…

【鸿蒙学习】HarmonyOS应用开发者高级认证 - 应用性能优化一(界面层面)

学完时间:2024年8月22日 学完排名:第1801名 一、介绍 在开发HarmonyOS应用时,优化应用性能是至关重要的。通过/ArkTS高性能编程、减少丢帧卡顿、提升应用启动和响应速度 可以有效提升用户体验。本文将介绍一些优化HarmonyOS应用性能的方法。 一、Ark…