This chapter is the first door to learning Linux drivers, a general introduction to Android and Linux drivers, giving me a perceptual understanding of developing Linux drivers and laying the groundwork for a better learning of Linux-driven methods and techniques.
1. Learn about the Android system architecture: In this section I learned that Android is divided into 4 tiers: The Linux kernel, the Android core library, the application framework, the application, and so on.
2. Understanding Android Porting: Android porting is divided into two parts: application porting and system porting, and the Android SDK API may be different due to differences in hardware platforms, so in order to ensure that the application runs on different hardware platforms, You need to make some changes to the source code. In addition to supporting the CPU architecture, Android must be able to recognize a variety of hardware on various platforms, which requires the appropriate driver.
3. Understand the Linux kernel version and how to view the version: The Linux kernel maintains three versions (linux2.4,linux2.6 (Android app version), linux3.x).
Two ways to view the kernel version: Perform the following commands (Uname-a and cat/proc/version) on the Linux terminal,/proc is not an ordinary file system but an image of the system kernel.
4. Understand the Linux kernel version number definition rules, for example For example: 2.6.29.7-FLYKERNEL-12A, where 2 is the major version number, 6 is the minor version number, 29 is the revision number, 7 is the fine tuning of the lost 2.6.29, called the fine-tuning version number, and FLYKERNEL-12A is the Linux kernel specifically tuned for Flykernel.
5. How to learn Linux driver development: Prepare Linux system (Ubuntu Linux), prepare the Development Board, learn GNU C, learn the relevant hardware knowledge, a lot of practice.
6.Linux device driver: The operation of any computer system is the result of the combination of hardware and software, and the device driver is a very important module, the Linux device drivers are divided into character devices, network equipment, block devices, character devices and block device drive is very different, But they all use the file system's operating interface open (), close (), read (), write () and other functions to access.
7. See the core code of the Linux drive led.
Summary: This chapter has a general understanding of the overall content of Linux drivers, which lays the foundation for the development of Linux drivers in the future.
Chapter One overview of Android porting and driver development-reading notes