zoukankan      html  css  js  c++  java
  • WINCE设备开机灰屏问题(很怪异)

    WINCE设备开机灰屏问题(很怪异)

     

    1.     问题现象


    图1

    无法进入系统,虽然没有调试信息,但应该可以判断是程序跑飞了。我们这款产品用到3种显示屏(采用不同的驱动IC),可是测试发现1和2号屏就没有这个问题,只有3号屏有这个问题,发生的概率是1/10。

     

    2.     问题的排查

    我们刷回2014.03.13日的系统,没有发现此问题,那肯定是后来改出来的问题,经过排查是因为eboot中OEMPlatformInit()--->InitDisplay()增加了下面的调试信息引起,如下:

    UINT16hsync_cnt,vclk_cnt;

    UINT8lcd_vbpd,lcd_vfpd,lcd_vspw,lcd_hbpd,lcd_hfpd,lcd_hspw;

    ..............

    clkval =(UINT8)(((float)S3C2450_HCLK/(float)(hsync_cnt*vclk_cnt*lcd_frame_rate))+0.5)-1;

                 

    RETAILMSG(1,(TEXT("clkval=%d,hsync_cnt=%d,vclk_cnt=%d,lcd_hbpd=%d,lcd_hfpd=%d "),clkval*100,hsync_cnt,vclk_cnt,lcd_hbpd,lcd_hfpd));

    …………….

    但很奇怪的是为什么其他两种屏不会出现此问题呢?暂时无法解释,备忘。

     

    3.     问题的分析

    虽然知道是因为增加上面调试新引起的,但无法解释原因,我进一步做下面的测试:

    (1)  怀疑是乘法问题,把clkval*10改为clkval,但问题依旧。

     

    hsync_cnt,vclk_cnt

    (2)  去掉类型为UINT16的hsync_cnt和vclk_cnt,测试OK

    typedef        unsigned short          UINT16;

     

    所以初步可以判断是输出参数类型引起的,但没有深入分析其原因,先记录下来。

     

  • 相关阅读:
    java—在maven项目中配置selenium运行环境
    java—Maven安装配置
    java基础—异常处理
    java基础—IO流
    怎么查看chrome网络日志
    http缓存之304 last-modified,cache-control:max-age,Etag等
    dubbo源码分析7-dubbox怎么对dubbo做了扩展
    SQLite如何测试
    New line
    ElasticSearch 入门笔记1
  • 原文地址:https://www.cnblogs.com/liang123/p/6325488.html
Copyright © 2011-2022 走看看