77范文网 - 专业文章范例文档资料分享平台

MTK平台camera(摄像头)调试教程 - 图文(3)

来源:网络收集 时间:2019-03-23 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

Camera Driver analysis in the platform of MTK

Preliminary Information

九、 Camera 驱动工作流程:

下载Capture 下载Preview

Power On 参数为拍照

准备

参数为预览 做准备 做

Power Off

IIC Reset PDN

INIT 软件Reset

读ID 判断是否连 接到需要的 Sensor

从上图可以清晰的了解到 Camera 的一个工作流程主要分为这么七步: 1. 打开 Camera Power LDO,让 Camera 有能量保证。

2.

打开 IIC,设置 PDN 引脚,使 Camera 退出出 Standby 模式,按照要求让 Reset 脚

做一个复位动作。

3. 读一下 sensor 的版本 ID,这样可以让你确认是否连接上你想要的 sensor。 4. 对 Sensor 进行初始化下载最基本的参数让 Sensor 工作起来,可能包括软复位。 5. 下载 preview 的参数,为预览动作准备。 6. 下载 Capture 的参数,为拍照动作准备。

7.

设置 PDN 引脚,使 Sensor 进入 Standby 模式,或者关掉 LDO 等动作,退出 Camera。

我们都知道,Linux 内核是通过模块的机制来加载设备驱动的,那么接下来我们就从设

备模块加载的角度来看下 Camera 工作流程的驱动代码是如何工作的。

在-alps\\mediatek\\custom\\common\\kernel\\imgsensor\\src\\kd_sensorlist.c 中可以看到:

module_init(CAMERA_HW_i2C_init); module_exit(CAMERA_HW_i2C_exit); 在这里 Linux 内核加载和卸载 Camera 模块。

- 13 -

Ghong Confidential

Revision 0.1-Feb.14 2012

?2012 Ghong inc.

};

}

Camera Driver analysis in the platform of MTK

Preliminary Information

static struct platform_driver g_stCAMERA_HW_Driver = {

.probe .remove

= CAMERA_HW_probe, = CAMERA_HW_remove,

.suspend = CAMERA_HW_suspend, .resume .driver

.name

= CAMERA_HW_resume, = {

= \

.owner = THIS_MODULE,

Camera 模块初始化开始向总线注册驱动,在 Platform_driver 的成员函数.probe()中,通

过 i2c_add_driver(&CAMERA_HW_i2c_driver)向 I2C 申请,而 CAMERA_HW_i2c_driver 这

个结构体里填充的是将 Camera 作为一个字符设备在 I2C 上进行注册:

在 RegisterCAMERA_HWCharDrv()中

cdev_init(g_pCAMERA_HW_CharDrv, &g_stCAMERA_HW_fops);对设备进行初始化,并将 g_stCAMERA_HW_fops 这个文件操作函数作为上层对 Camera 设备操作的接口留给上层进 行调用:

- 14 -

Ghong Confidential

Revision 0.1-Feb.14 2012

?2012 Ghong inc.

驱动的入口:

Camera Driver analysis in the platform of MTK

Preliminary Information

其中成员函数 open()只是初始化一个原子变量留给系统调用。ioctl()才是整个 Camera

CAMERA_HW_Ioctl()是上层文件操作系统操作底层硬件的方法,它先对 Camera 需要的 Buffer 做一个初始化,然后建立对 Cameraopen、getinfo 等操作的接口:

通过判断 Sensor 状态的逻辑值来进行具体的操作,对于这个值的定义在: Mediatek\\custom\\common\\kernel\\imgsensor\\inc\\Kd_imgsensor.h 中

Ghong Confidential

Revision 0.1-Feb.14 2012

?2012 Ghong inc.

- 15 -

Camera Driver analysis in the platform of MTK

Preliminary Information

在 KdSetDriver()中通过判断 name 和 ID 匹配具体型号的 sensor 的驱动,判断它是主摄还 是次摄,并对它进行初始化:

通过 NAME 和 ID 匹配完成后会将 PSENSOR_FUNCTION_STRUCT *pfFunc 这个结构体匹 配到具体型号的驱动代码中:

到这里,整个 Camera 驱动从总线注册到完成具体 sensor 的初始化的流程就完成了,

CAMERA_HW_Ioctl()中其他的 ioctl 操作函数最后都会在$sensor$_sensor.c 中实现。

Ghong Confidential

Revision 0.1-Feb.14 2012

?2012 Ghong inc.

- 16 -

Camera Driver analysis in the platform of MTK

Preliminary Information

十、 Camera 驱动添加、调试流程:

1、 修改系统配置文件 ProjectConfig.mk:

-alps\\mediatek\\config\\$project$\\ProjectConfig.mk

Ghong Confidential

Revision 0.1-Feb.14 2012

?2012 Ghong inc.

- 17 -

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库MTK平台camera(摄像头)调试教程 - 图文(3)在线全文阅读。

MTK平台camera(摄像头)调试教程 - 图文(3).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/541865.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: