赞
踩
作为一名刚入行的camera驱动,我来讲一下在工作中遇到的一些问题。
其实作为驱动工程师,代码架构不是我们来完成的,只需要根据自己所要组装的模组对代码进行较小范围的改动,基本只涉及kenerl、vendor和devices三部分。
这段时间加入人生中第一个项目,从一堆零件中慢慢组建成一个平板,平台使用的是MTK。
首先从领导手中领取主板、usb小办和显示屏,还有只有camera小组才分发的前后摄模组。领取到这些之后就是闲了一周,等待小系统的成员将整个系统在主板上跑起来。
接下来就是我们camera成员出手了,我们组三个人,我师傅技术坐镇,我和另一位小师傅分别做前后摄,前摄相对简单些,这个项目里不需要添加AF功能,所以我做的是前摄。、
首先就是burning up:这里涉及到kenerl、vendor/mediatek/proprietary/custom、device/mediatek/common、device/mediateksample/......。
1、kernel重要的是module的驱动代码和设备树添加,驱动代码的改动需要根据模组厂给的配置文档,一般里面包含了驱动的所有信息,包括一些dts配置、init setting、i2c_addr、分辨率(注意屏比例)、上电时序等一些重要信息
这里很多信息都直接给出了,一般不容易出错,容易出错的点在dts配置,这就需要我们看懂项目原理图,找出pin对应的gpio口
2、vendor/mediatek/proprietary/custom里面包含了效果参数、medata数据、sensor的一些配置信息。前后摄在这一部分csi和mclk的配置很容易出错,对应的这些信息enum生成想要的整型常量。
3、device里面配置一些sensor信息,不怎么容易出错
camera点亮是驱动中最基础的,一般也不怎么难,当然这是在前人的基础上对代码进行修改。
这里只是简单的将camera burnIng up的操作,具体的实现原理就需要自己慢慢理解了(这个才是最难的,涉及到camera框架结构,数据流等等知识点)
下一步就是OTP调试。,这个相对难些。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。