读《Android深度探索(卷1)HAL与驱动开发》的一些思考01
第一章主要介绍的是Android系统移植与驱动开发概述,对Android以及Linux驱动做了总体的介绍,为学习Linux驱动的方法和技巧打下基础。这一章是从Android系统架构、Android系统移植的主要工作、查看Linux内核版本、Linux版本号的定义规则、如何学习Linux驱动开发、Linux设备驱动和LED这七个小节来诉述的。下面我总结一下这七个小节的主要内容:
Android的系统架构分为4层,包括Linux内核、C/C++代码库、Android SDK API和应用程序。Android移植可分为两个部分:应用移植和系统移植。应用移植是指第四层的应用程序移植到某一特定硬件平台上,这里的移植是指Android操作系统的移植。目前Linux内核主要维护3个版本:Linux2.4、Linux2.6、和Linux3.x,大多数Linux系统都使用了这3个版本,其中Linux2.6是目前使用最广泛的Linux内核版本,Android就使用了该内核版本。
查看Linux内核版本的方法有两种:
- 在Linux终端执行下面的命令。
uname -a
- 在Linux终端执行下面的命令。
cat/proc/version
Linux版本号有以下几部分构成:
主版本号;次版本号;修订版本号;微调版本号;为特定Linux系统特别调校的描述。
计算机需要的硬件主要由CPU、存储器和外设组成。随着技术的不断提高,芯片的集成度也越来越高,往往在CPU内部就集成了存储器和外设适配器。驱动针对的对象是存储器和外设,而不是针对CPU核。Linux将存储器和外设分为3大类:
字符设备;
块设备;
网络设备。