android驱动一些外设调试记录

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

android驱动一些外设调试记录_第1张图片


android驱动一些外设调试记录_第2张图片 


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时,镜头长边与手机长边是平行的而不是垂直的。
  • 第三方软件问题多 - 修改高通平台代码时要注意代码的兼容性和健壮性。
遇到bug 
  • 添加新功能新接口 - 必须熟悉高通独有的Qcamera架构,修改所涉及到的代码较多。
  • 自动对焦和色彩效果设置无效 - 场景模式scene里的设置与其他效果产生了冲突。
  • 开启程序过慢,照片在PC上颠倒,转屏时预览视频会卡一下,录像时有自动对焦,没有自动识别场景和闪光功能等bug。

2) 移植,调试,升级camera模块 (IMX51)

主要职责 解决bug和升级Android2.3

  • 开启程序速度慢 - 去掉检测SD卡过程。
  • 优化图像效果 - 协调硬测与FAE。
  • 视频通话画质差 - 更新视频编解码动态链接库。
  • Overlay偏移 - 设定固定的视频大小。

2. Sound

理论储备 软件架构和硬件原理  http://blog.csdn.net/qianjin0703/article/details/6387662

android驱动一些外设调试记录_第3张图片


android驱动一些外设调试记录_第4张图片


主要职责 

  • 移植音频codec驱动,升级Android 2.3。
  • 解决bug,主要修改Mixer通道和调试Vol增益。
  • 添加DSP功能消回音 (FAE支持)。
android驱动一些外设调试记录_第5张图片


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充电,添加开机指示灯。
android驱动一些外设调试记录_第6张图片

你可能感兴趣的:(android,linux,手机,interface,平台,Codec)