• LCD 显示异常定位分析方法


    第一种情况:

    进入kernel或android 后,如果LCM图像示异常,可以通过如下步骤来判断问题出现在哪个层面.

    step1:通过DMMS截图,来判断上面刷到LCM的数据是否有问题. 若DMMS获取的图片没有问题,问题基本可以定位在LCM 驱动/模组,以及时序方面.

    step2: 若step1中DMMS获取的数据有问题,则需要抓取framebuffer数据进一步分析 adb shell cat /dev/graphics/fb0 > /data/fb.bin 然后将fb.bin通过adb push 出来,通过工具查看fb.bin step3: 若查看fb.bin的数据有问题,则问题一般出现在LCD control做overlay时出了问 题。若查看framebuffer数据没有问题,则需下一步定位分析. step5: 这一步需要继续抓取SF layerdump, 直接运行SF_layerdump.bat脚本. 若dump出来的图片有问题,那应该是在画layer数据时出现问题,需要分析单个app. 若surface data 没有问题,那问题就需要定位在surfaceflinger模块。

    第二种情况:若 lk 启动阶段出现显示异常, 比如手机开机logo界面显示异常.

    1).可以先将logo 图片替换成简单的左黑右白同等尺寸的圖片,如下图:

    分别测量正常显示时,显示异常时相关mipi时序图.

    正常顯示時D0P/N的waveform如下:

    異常顯示時D0P/N的waveform如下:

      

    從上面的waveform可知,異常時,系統送出的data有異常,從而導致顯示異常。需要查平台端找具体原因。

    2).发指令直接从IC端刷图像到屏上,不用平台输出的图像。同样的操作,如果显示问题不能复现,应该属于平台端数据显示异常.

    像novatek nt35596从初使化reg 跑完后,不去发0x11,0x29指令。

    发如下一些从IC 刷图像指令:

    {0xFF,1,{0x05}},

    {REGFLAG_DELAY, 5, {}}

    {0xEA,1,{0xFF}}

    {0xEB,1,{0x27}}

    {0xEC,1,{0x01}}

  • 相关阅读:
    Did not find handler method for springMVC资源文件扫描不到---关于spring的那些坑
    mysql中OPTIMIZE TABLE的作用
    Linux环境下apache性能测试工具ab使用详解
    sqlite数据库 adb 从配置到查询表中数据全过程-----献给初学的自己
    c3p0参数解释
    linux下如何启动/停止/重启mysql:
    [MySQL] 变量(参数)的查看和设置
    mysql运行参数详解
    单例模式 理解,简单通透
    this的一些场景
  • 原文地址:https://www.cnblogs.com/lexuele/p/4689476.html
Copyright © 2020-2023  润新知