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

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

本文转自jazka 51CTO博客,原文链接:http://blog.51cto.com/jazka/719130,如需转载请自行联系原作者
相关文章
|
7月前
|
Perl
mtk 添加新模块模拟器modis编译
mtk 添加新模块模拟器modis编译
80 1
|
编译器 Linux
嵌入式 QT usb camera库驱动摄像头
嵌入式 QT usb camera库驱动摄像头
|
Linux Android开发
Linux misc子系统框架驱动4412蜂鸣器
Linux misc子系统框架驱动4412蜂鸣器
96 0
Linux misc子系统框架驱动4412蜂鸣器
|
编解码 Linux
基于瑞芯微RV1109 Linux触摸屏GT911驱动调试心得(二)-设备树刷厂商给的触摸屏固件
基于瑞芯微RV1109 Linux触摸屏GT911驱动调试心得(二)-设备树刷厂商给的触摸屏固件
326 0
|
编解码 Linux
基于瑞芯微RV1109 Linux触摸屏GT911驱动调试心得
基于瑞芯微RV1109 Linux触摸屏GT911驱动调试心得
991 0
|
Linux Android开发 芯片
Linux驱动分析之Framebuffer驱动
前面我们了解了LCD的基本架构《Linux驱动分析之LCD驱动架构》,接下来我们拿个具体的实例来分析分析。这样可以了解其大概是如何使用和工作的。
|
Ubuntu Linux 编译器
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(二十七)具体单板的LED驱动程序
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(二十七)具体单板的LED驱动程序
206 0
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(二十七)具体单板的LED驱动程序
|
编译器 Linux C语言
Linux下交叉编译FFMPEG与X264库:目标板友善之臂Tiny4412开发板_EXYNOS4412(ARMV7_32位)
Linux下交叉编译FFMPEG与X264库:目标板友善之臂Tiny4412开发板_EXYNOS4412(ARMV7_32位)
402 0
Linux下交叉编译FFMPEG与X264库:目标板友善之臂Tiny4412开发板_EXYNOS4412(ARMV7_32位)