With the current variety of systems, competing for development, the market share of the Android system is far ahead of other systems, in order to enable the perfect operation of Android on a variety of devices, we can learn Linux-based Android Drive development and porting, This chapter of Linux and Android to make a comparison of the introduction of the system, so that we have a more comprehensive understanding of the Linux driver, for our further study to lay a solid foundation.
Learn about Android Drive development we first want to understand the Android system architecture, which mainly includes:
First layer: Linux kernel
Mainly includes Linux driver and memory management, process management, power management and other programs. Android uses Linux2.6 as its kernel.
Second tier: C + + code base
This includes the code base written by C + + and the runtime of the DALIVK virtual machine.
Tier Three: Android SDK API
Also known as the Java API layer
Layer Fourth: Applications
Refers to the Android UI, all Android users have to touch, this layer depends on the Android SDK API to complete a variety of functions.
Second, we need to be clear about the main work of the Android system. Android migration can be divided into: application porting and system porting. Application porting is the porting of applications from the Android architecture to a specific hardware platform. System porting refers to having the Android operating system run on a particular hardware platform. The first condition is that the operating system supports the CPU architecture of the hardware platform, and it must also allow Android to recognize the hardware on the platform, which is primarily done by the Linux kernel. The Android system also adds hardware abstraction Layer Hal,linux drive porting and HAL porting is the main work of Android porting.
In addition, when Android porting and driver development, we want to understand the Linux kernel for Android version is Linux2.6. This chapter also introduces the development and function of Linux device driver, the classification and characteristics of equipment.
Finally, this chapter also uses a Linux driver to control the LED lights on the board to deepen our understanding of Linux drivers.
We must learn CNU and related hardware knowledge, coupled with a lot of practice and practice, you can learn the Linux driver development.
Android porting and Driver development overview