android驅動一些外設除錯記錄
阿新 • • 發佈:2019-01-06
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
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
主要職責
- 移植音訊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架構
Android的感測器架構
主要職責
- 移植G-sensor驅動。
- 直接在底層實現顯示屏,觸控式螢幕和鍵盤的90/180翻轉。
6. TP
理論儲備
Linux的Input子系統
觸控式螢幕矯正原理
主要職責
- 移植電磁屏驅動。
- 修改觸控式螢幕矯正程式。
7. Other
- 編寫Android ATE和FCT工廠測試程式。
- 移植鍵盤驅動,新增網路按鍵。
- 移植振動感測器驅動,修改振動幅度。
- 移植滑動電容屏驅動,調節靈敏度。
- 在Bootloader裡實現開機前USB充電,新增開機指示燈。