• WINCE5.0+2443 camera中断不能进来的原因


    因为项目需要,我需要调试和完成WINCE5.0+2443系统和驱动的功能,在调试camera驱动的时候,发现一个很郁闷的问题,就是camera的中断一直进不来,因为我之前在WINCE6.0+2443系统中已实现了camera中断了,而WINCE5.0和WINCE6.0下的camra驱动架构基本一样,可是为什么camera中断一直会进不来呢?分析如下:

    1.       中断ISR对camera中断设置不正确。

    在OEMInterruptHandler()函数中加入调试信息,只是定时获取到IRQ_TIMER4,说明camera中断真的是没有进来,但为什么呢?我把需要设置camera中断的设置都安装6.0下的一样设置了,可为什么camera中断还是进不来呢?针对这种可能性目前找不到原因,就分析下面的原因吧

    2.       Camera控制器没有配置好。

    可是我基本上是把6.0下的camera驱动全部搬过来的,但是6.0下面的camera驱动是ok了,所以只能接着分析下面的原因了。

    3.       Camera sensor IC TVP5150没有正常power on

    其实刚开始最不怀疑是这个原因引起的,但找不到解决问题的办法,所以就又回来分析这个原因。为什么不相信是供电引起camera中断进不来呢?因为device.exe加载camera驱动的时候,我在camera的初始函数中对TVP5150进行写和读寄存器,写进去和读出来的寄存器的值是完全一样的,说明在初始化的时候对TVP5150进行供电(是通过GPL8对TVP5150供电)的,但后来想想,会不会是其他驱动改变了GPL8的配置和电平的状态呢?因为WINCE5.0+2443的bsp包是从一个开发板拿过来用的,之前驱动的动作和GPIO口的分配和配置我还不是很清楚,所以就在整个BSP包通过source insight软件来查看是不是其他驱动改变了GPL8的配置,真的发现是一个在camera驱动加载之后才加载的驱动把GPL8由输出为高电平改为输入了,所以就把这部分现在这个驱动用不到的这部分代码注释掉,重新update系统,camera中断就进来了。

    之所以写下这篇博客,是因为自己以后还会可能遇到类似这样的问题,以此来加深自己的影响,避免犯同样的错误。

    本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/chinesedragon2010/archive/2010/10/01/5917566.aspx

  • 相关阅读:
    PHP+shell实现多线程的方法
    【JavaScript】一个同步于本地时间的动态时间
    void 0 或者 undefined
    Android Activity间动画跳转
    如何申请微信公众平台接口測试帐号
    hdu 4862 KM算法 最小K路径覆盖的模型
    【Unity 3D】学习笔记三十三:游戏元素——天空盒子
    cocos2d-x-lua基础系列教程五(lua单例)
    技术走向管理一些思考(7)-激励成员
    Runtime.getRuntime().exec()----记录日志案例
  • 原文地址:https://www.cnblogs.com/liang123/p/6325830.html
Copyright © 2020-2023  润新知