前言:
给自己看的,算是激励吧。
笔者是从MTK做显示方向的,搞了三年多回到西安。其实我对于西安市场还是很迷茫的。2019年以前的西安的IT市场其实还是恶劣的。朋友用一句话总结了一下。华为养活了很多外包公司,外包公司养活了很多程序员。虽然是玩笑但这表达西安软件市场的现状。当然除了华为,还有展讯。阿里巴巴(不知道的有没有人)...这些比较可以的公司。当时笔者选择了另外一个相对薪资比较多得领域camera驱动。也算是重头开始,工作一年多我开始从小公司面试一些甲方,对我冲击其实比较大,我觉得我得重新整理一下自己。
一个camera驱动工程师的基本素养:
入门篇(QCOM)
1:camera成像原理,基本处理逻辑。比如sensor感光--AD-DSP(类似这种),成像。
2:Android的分层架构(了解)
3:camera的架构 列如:QCOM平台 FW-HAL(CAMX)-CHI-CAMX---CSL-Kernel.
4:基本业务的代码逻辑:opencamera 、configure_streams、 process_capture_request 、 process_capture_result、 flush、 close等
基础篇(QCOM为例)
1:sensor buring up(dts 、sensor drv、camera plantform drv、camx/CHI)移植
2:稳定性模块、内存(ION /PSS)分析与优化、monkey、老化问题
3:性能模块,性能问题分析与优化
3:功耗模块,程控电源使用或者其他功耗设备使用,分析与优化功耗问题
4:CTS/XTS 模块
提高篇(Qcom)
1:点亮方面。细致到 sensor buring up的每个参数,比如dts每个参数怎么根据电路图设置,sensorXML文件怎么配置,每个参数什么含义。usecase.xml怎么配置?自己怎么构建一个usecase。
2:稳定性模块。ION明细,怎么解决?怎么优化 PSS,怎么定位问题优化问题。
3:性能模块。每个阶段耗时明细,除了任务调度,提频。还有没有其他优化办法?包括器件。怎么解决低概率卡顿问题,丢帧问题....
4:功耗模块,待续。。。。。。
5:算法挂载,和算法处理的思想。
6:流程方面,列如feature2,怎么自定义一个feature。怎么移植。
6:V4L2架构
大师篇:
架构优化。。。。
待完善。。。。欢迎大佬指导