[Video] development secrets of Embedded Linux/Android drivers (3) camera driver development and android driver development
Secrets of Embedded Linux/Android driver development (3) camera driver development
Topic introduction:This topic provides an in-depth analysis of the Android mobile phone camera components, so that the audience can understand the knowledge behind the camera, the camera hardware circuit principle, and the development method of camera driver in Linux and Android systems.
1. Recognize cameras
1.1 Camera Resolution
1.2 camera sensor
1.3 camera output format
1.4 camera transmission rate
1.5 camera application fields
2. Working Principle of camera hardware
2.1 Introduction to OV9650
2.2 Introduction to SCCB Bus
2.3 introduction to the CAMIF Interface
3. Analysis of the camera head driver structure and typical code
3.1 Introduction to v4l2
3.2 v4l2 Framework Analysis
3.3 android system hierarchy
3.4 native camera Framework Analysis
Lecturer:Mr. Pan, an academic manager of the far-sighted Chengdu center, a gold medal lecturer and senior engineer with more than 10 years of embedded project development engineering experience, worked at a large research institute in China, he has been engaged in embedded project development in China and outside China for a long time and is a first-line senior engineer. Familiar with windows/Linux/Android development, familiar with ARM, PowerPC, MIPS series and other platforms. I have been engaged in Instrumentation Control and transportation control systems for a long time. I have participated in dozens of large-scale embedded projects in China and have been widely used in industrial control and transportation products.
Watch Online:Http://www.3g-edu.org/news/video016.htm
Video download:Http://pan.baidu.com/s/1sjoBsi5
Download courseware:Http://download.farsight.com.cn/download/pdf/Farsight2014webcast02-3.pdf
How to get started with camera driver development in Embedded linux?
I think in linux, whether it's USB, Nic, or your camera, the first thing you need to do is drive, because the most basic part of these things is the design of the driver program, currently, the source code related to drivers on the internet is quite mature. Both USB and camera have executable C code (probably because linux is open source ), next, I suggest you download the classic driver source code, and then simplify it to remove unnecessary and additional modules. This process is very painful at the beginning, but its biggest advantage is that you will fully understand the driver's architecture through your deletion process. The most basic architecture, you will understand all the modules required by the camera driver, in this way, the bottom layer is clear, and the modular design and Interface Definition of the upper layer can be targeted.
Learning the tangle between embedded linux and 3G Android
The upper-layer system environment of android is a java virtual machine. Java Virtual Machine means it has nothing to do with hardware. Although android has NDK, it is mainly developed in java. Therefore, for this reason, android Application Development is basically irrelevant to the Linux embedded system. Android Linux embedded development should not belong to the category of android?
As for the treatment, in general, the application development market is wider and there are more enterprises. Android embedded development is generally used as a solution, which reduces the demand for this group, and google itself does not produce hardware, the Design and Production of embedded hardware is basically monopolized by several large companies. Therefore, there are not many companies that do Android for hardware, and there is less work to do, and fewer engineers are needed.
Basically, both the write driver and the write application are migrant workers. Unless you enter hardware companies such as Qualcomm and Intel for hardware development.