2010-Weibo's first year, smartphone's first year, 2011-tablet's first year, and 2012-smart TV's first year.
At the end of the year, it was time to sort out the android development work and look forward to the future.
This article is for my personal reference only...
Development Product ebook mobile phone Tablet
Module camera, sound, SD, USB, G-sensor, TP
Software Platform Android 1.6/2.2/2.3
Hardware Platform mavell pxa935, Freescale imx51, Qualcomm msm8255
1. Camera
Theoretical reservesSoftware Architecture and hardware principle http://blog.csdn.net/qianjin0703/article/details/6233790
1) Develop an 8mp + ISP + mipi Driver (msm8255)
Main Responsibilities
- Write the driver code, call the camera sensor driver, and switch between the front and back sides of the camera.
- According to the chip manual, implement basic functions-preview, photograph, video, and effect (scene, effect, Ev, ISO, WB, contrast ...)
- With technical support, advanced scalability-anti-shake, auto focus, Flash, firmware upgrade, 720 p, WDR, panorama...
Difficulties encountered
- I2C failure-early debugging driver, any gpio, power supply, clock, power-on timing mismatch will cause I2C failure.
- Raw camera crashes-the ISP takes a picture and decompress it into JPEG, which cannot match the camera interface receiver vfe of Qualcomm platform.
- Preview Video rotation 90 degrees-hardware problems must be ensured that when assembling camera, the long side of the camera is parallel to the long side of the mobile phone, rather than vertical.
- Third-party software issues-pay attention to code compatibility and robustness when modifying the Qualcomm platform code.
Encountered bug
- Add new functions and new interfaces-you must be familiar with the unique qcamera architecture of Qualcomm and modify a lot of code.
- The auto focus and color effect settings are invalid-the settings in scene mode conflict with other effects.
- It is too slow to start the program, and the photos are reversed on the PC. When the screen is switched, The Preview Video gets stuck and the video is automatically focused. No bugs such as automatic Scene recognition and flash function are found.
2) Port, debug, and upgrade the camera module (imx51)
Main ResponsibilitiesFix bugs and upgrade android2.3
- Slow program enabling-remove the SD card detection process.
- Optimize image effects-coordinate hard test and Fae.
- Poor video call quality-update the dynamic Connection Library of video codec.
- Overlay offset-set a fixed video size.
2. Sound
Theoretical reservesSoftware Architecture and hardware principle http://blog.csdn.net/qianjin0703/article/details/6387662
Main Responsibilities
- Port the audio codec driver and upgrade Android 2.3.
- Solve the bug, mainly modify the mixer channel and debug the vol gain.
- Added the DSP function echo cancellation (supported by Fae ).
3. SD
Theoretical reserves
Linux sdio Subsystem
Http://blog.csdn.net/qianjin0703/article/details/5918041
Android vold Architecture
Http://blog.csdn.net/qianjin0703/article/details/6362389
Main Responsibilities
- Port the SD card and inand driver.
- Fix bugs, such as fast hot swapping, some SD cards are not recognized, and inand is not recognized after the system is started.
4. USB
Theoretical reserves
Linux USB subsystem
Http://blog.csdn.net/qianjin0703/article/details/6559033
Linux USB Gadget
Http://blog.csdn.net/qianjin0703/article/details/6141763
Main Responsibilities
- Add the auto mount USB flash drive function.
- Added the USB automatic charging function.
5. G-Sensor
Theoretical reserves
Linux I2C Architecture
Http://blog.csdn.net/qianjin0703/article/details/5894869
Android Sensor Architecture
Http://blog.csdn.net/qianjin0703/article/details/5942579
Main Responsibilities
- Port the G-sensor driver.
- The screen, touch screen, and keyboard are flipped by 90/180 directly on the underlying layer.
6. TP
Theoretical reserves
Linux input subsystem
Http://blog.csdn.net/qianjin0703/article/details/6025673
Touch screen Correction Principle
Http://blog.csdn.net/qianjin0703/article/details/6087647
Main Responsibilities
- Transplant the electromagnetic screen driver.
- Modify the touch screen correction program.
7. Other
- Compile the android ate and FCT factory test programs.
- Port the keyboard driver and add network buttons.
- Transplant the vibration sensor driver to modify the vibration amplitude.
- The sliding capacitive screen driver is transplanted to adjust the sensitivity.
- Enable USB charging before boot in Bootloader and add the boot indicator.