Android深度探索(卷1)HAL与驱动开发阅读心得1
Android是一个嵌入式操作系统,它的系统架构包括4层:linux内核,C/C++代码库,Android SDK API,应用程序。
在Android系统移植时,CPU架构移植和Linux驱动移植是最重要的,初次之外,HAL移植也是其主要工作之一。
HAL,即硬件抽象层(Hardware Abstraction Later),位于C/C++代码库,Android SDK通过HAL直接访问linux驱动。
Android移植的基本原则是尽可能找到驱动和HAL的源代码,在源代码的基础上进行修改,如无法获取源代码,才会从头开始做。
查看linux系统的内核版本有两种方法,如下:

/proc:Linux 内核提供了一种通过 /proc 文件系统,在运行时访问内核内部数据结构、改变内核设置的机制。proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。它以文件系统的方式为访问系统内核数据的操作提供接口。
linux内核版本号由五部分组成:主版本号,次版本号,修订版本号,微调版本号及为特定的Linux系统特别调校的描述。例:2.6.29.7-flykernel-12a,2是主版本号,6是次版本号,29是修订版本号,7是微调版本号,flykernel-12a是该Linux内核专门为flykernel调校。
计算机系统的硬件主要由CPU,存储器和外设组成。驱动针对的对象是存储器和外设(包括CPU内部集成的存储器和外设),Linux将其分为三大类:字符设备,块设备和网络设备。

浙公网安备 33010602011771号