Android深度探索(卷1)HAL与驱动开发第一章总结

Android系统在2015年占全球市场份额的的81.6%,而且近几年一直持增长趋势,走在大街上,随处可见的安卓手机,毋庸置疑,安卓已经成为当前智能手机操作系统的老大。当我们想要搞明白Android驱动开发的时候,其实就是在学习linux驱动开发的过程,只不过安卓增加了一个HAL,这是Android特有的。Google这样设计的原因有很多,例如由于Linux内核基于CPL开源协议,而很多驱动厂商不想开放源代码,所以增加HAL层后,可已经Linux驱动的业务逻辑放在HAL层。

   Android的系统架构分为4层。这4层包括的内容有:

   第1层:linux 内核

   由于Android是基于Linux内核,因此,Android和其他Linux系统的核心部分差异非常小。这一层主要包括linux的驱动程序以及内存管理,进程管理,电源管理等程序。

   第2层:C/C++代码库

   第3层:Android SDK API, 由于Android SDK API  是用java语言编写的,这一层也可称为Java API层。

   第4层:应用程序

   Android移植分为应用移植和系统移植,其中系统移植是指让Android操作系统在某一个特定的硬件平台上运行。要想Android 在不同的硬件平台上正常运行,只支持CPU结构还不行,必须要让Android可以识别平台的各种硬件,这些工作主要也是由Linux内核完成的,其中的主角就是Linux驱动。

   查看Linux系统内核版本有两种方法:1 uname -a 

                                    2 cat / proc /version

当然第一章还有很多知识点就不一一叙述了。

http://home.cnblogs.com/u/zivjeli/

原文地址:https://www.cnblogs.com/zivjeli/p/5393274.html