Androidthe architecture has four layers, each withLinuxKernel,C + +code Base,SDK APLand applications, the kernel also has drivers, memory management, process management, and so on. Androidporting is also divided into application and system porting. Application porting is the porting of the program to the hardware platform. System porting is the porting of the system to the hardware platform. There are three ways to build a development environment: buildingWindowsunder the development environment, buildLinuxunder the development environment, buildNDKunder the development environment. LinuxThe version number is divided into the main version number, the minor version number, the revision number, the fine-tuning version number, the pendingLinuxdescription of the System special tuning. Linuxin the device driver, the driver is a kind of program that goes directly to the hardware interaction and is responsible for abstracting the hardware area. All theLinuxThe driver must have a load function that is used to drive a call, and an unload function that is called when the driver is unloaded. Where the load function passesModule_initspecifies that the Unload function isModule_exitto specify. The main task of a device driver is to write a child function and populatefile_operationsof each domain. A driver is a software layer between an application and an actual device. Provides a mechanism for users to access the device, rather than providing a policy. Driver without policy typical features include: simultaneous and asynchronous operations are supported, and the driver can be opened multiple times. AnywayLinuxDrive only withLinuxkernel-related. There is also a need to understand the whole process of driving more deeply.
Android system porting and driver development