2010 - 微博元年,智能手机元年,2011 - 平板电脑元年,2012 - 智能电视元年。
又到年末,是时候梳理下Android开发工作,展望下未来了。
本文仅供我个人参考...
开发产品 电子书 手机 平板电脑
负责模块 Camera, Sound, SD, USB, G-sensor, TP
软件平台 Android 1.6/2.2/2.3
硬件平台 Mavell PXA935, Freescale IMX51, Qualcomm MSM8255
1. Camera
理论储备 软件架构和硬件原理 http://blog.csdn.net/qianjin0703/article/details/6233790
1) 开发8MP+ISP+MIPI 驱动 (MSM8255)
主要职责
- 编写驱动代码,调通camera sensor驱动,并实现前后置双camera的切换。
- 根据芯片手册,实现基本功能 - 预览, 拍照, 录像, 效果(scene, effect, ev, iso, wb, contrast...)
- 技术支持下,实现进阶扩展功能 - 防抖, 自动对焦, 闪光灯, 固件升级, 720P, wdr, panorama...
- I2C不通 - 初期调试驱动,任何GPIO,供电,时钟,上电时序没配正确都会导致I2C不通。
- raw拍照死机 - ISP拍照后将图片硬解压缩成JPEG无法与高通平台的camera interface接收端VFE匹配。
- 预览视频旋转90度 - 硬件问题,必须保证装配camera时,镜头长边与手机长边是平行的而不是垂直的。
- 第三方软件问题多 - 修改高通平台代码时要注意代码的兼容性和健壮性。
- 添加新功能新接口 - 必须熟悉高通独有的Qcamera架构,修改所涉及到的代码较多。
- 自动对焦和色彩效果设置无效 - 场景模式scene里的设置与其他效果产生了冲突。
- 开启程序过慢,照片在PC上颠倒,转屏时预览视频会卡一下,录像时有自动对焦,没有自动识别场景和闪光功能等bug。
2) 移植,调试,升级camera模块 (IMX51)
主要职责 解决bug和升级Android2.3
- 开启程序速度慢 - 去掉检测SD卡过程。
- 优化图像效果 - 协调硬测与FAE。
- 视频通话画质差 - 更新视频编解码动态链接库。
- Overlay偏移 - 设定固定的视频大小。
2. Sound
理论储备 软件架构和硬件原理 http://blog.csdn.net/qianjin0703/article/details/6387662
主要职责
- 移植音频codec驱动,升级Android 2.3。
- 解决bug,主要修改Mixer通道和调试Vol增益。
- 添加DSP功能消回音 (FAE支持)。
3. SD
理论储备
Linux的SDIO子系统
http://blog.csdn.net/qianjin0703/article/details/5918041
Android的Vold架构
http://blog.csdn.net/qianjin0703/article/details/6362389主要职责
- 移植SD卡和inand驱动。
- 解决bug, 如快速热插拔不识别,部分SD卡不识别,系统启动后inand不识别等。
4. USB
理论储备
Linux的USB子系统http://blog.csdn.net/qianjin0703/article/details/6559033
Linux的USB Gadget
http://blog.csdn.net/qianjin0703/article/details/6141763
- 添加自动挂载U盘功能。
- 添加USB自动充电功能。
5.G-sensor
理论储备
Linux的I2C架构
http://blog.csdn.net/qianjin0703/article/details/5894869
Android的传感器架构
http://blog.csdn.net/qianjin0703/article/details/5942579
主要职责
- 移植G-sensor驱动。
- 直接在底层实现显示屏,触摸屏和键盘的90/180翻转。
6. TP
理论储备
Linux的Input子系统
http://blog.csdn.net/qianjin0703/article/details/6025673
触摸屏矫正原理
http://blog.csdn.net/qianjin0703/article/details/6087647
主要职责
- 移植电磁屏驱动。
- 修改触摸屏矫正程序。
7. Other
- 编写Android ATE和FCT工厂测试程序。
- 移植键盘驱动,添加网络按键。
- 移植振动传感器驱动,修改振动幅度。
- 移植滑动电容屏驱动,调节灵敏度。
- 在Bootloader里实现开机前USB充电,添加开机指示灯。