Android深度探索(卷1)HAL与驱动开发 第一章 Android系统移植与驱动开发概述 读书笔记
本章是 Android系统移植与驱动开发概述性的具体讲解。首先,Android被分为了四层架构。在最底层的是Linux内核 。然后分别是C/C++代码库、Android SDK A和应用程序。而Android的移植又分为系统移植和应用移植。系统移植要实现Android操作系统在其他硬件平台上运行起来,其中的关键是Linux的内核。内核必须要完成对平台上运行的各个硬件的识别。所以这就需要Linux驱动的移植。而HAL(硬件抽象层)作为中间的隔离层来隔开应用程序和驱动。它是Android中特有的。
Linux的内核移植关键是驱动程序的移植。而不同内核版本的驱动程序不能通用。在书中我学到了如何查看Linux内核版本的命令:
uname -a
或
cat /proc/version
而GNUC 是一种常用的C语言编译环境。也需要我去学习。
Linux设备驱动的产生是由于一开始操作硬件的是由具体的应用程序直接调用完成的。而这样会造成硬件与应用程序耦合性过高。为了方便使用才出现了设备驱动。设备被分为三类:块设备,字符设备与网络设备。