WinCE6.0 Camera驱动源码分析(二)

       本文分析从应用程序启动到开始预览整个过程中,驱动代码的执行流程。 开发环境是 WinCE6.0+Android6410 开发板。
 
       一、 驱动的加载,参考博文 http://jazka.blog.51cto.com/809003/707027
 
       二、 通过 CAM_IOControl 接口操作各种属性,下面的步骤中也会不断调用该接口,此处不细谈。
 
       三、 开各个 Pin 接口并进行流实例化。
       调用 PIN_Open 打开对应的 Pin 接口,主要有 Preview Still Capture 三种接口,每次打开之后调用 PIN_IOControl 中的 IOCTL_STREAM_INSTANTIATE 完成流实例化。具体执行的函数是 CPinDevice :: StreamInstantiate
 
       四、 设置各个 Pin 的视频流格式。
 
       五、初始化Sensor状态,包括Camera时钟、GPIO、复位等设置,之后设置Capture的状态为PAUSE
 
 
 
       六、管理PinBuffer,由用户层分配
 
       七、 跟第五步执行流程类似,只是设置的 PAUSE 状态是 Still Preview
 
       八、 同样跟第五步类似,不同的是设置 Preview RUN 的状态,从 SetSensorState 开始执行的内容就不一样了。
 
       九、添加Buffer到驱动的队列中
 
       十、响应中断,开始处理接收到的图像数据(以Preview为例)

你可能感兴趣的:(源码分析,休闲,6410,WinCE6.0,Camera驱动)