Android深度探索--HAL与驱动开发----第一章读书笔记

时间:2022-03-04 10:54:08

1、 Android的系统架构有四层,它的发展目前来说 是比较成熟的,流行于目前的市场。其架构包括四层(linux内核、C/C++代码库、Android SDK API、应用程序)。

2、 驱动是直接和硬件交互的一类程序,设备驱动对于系统的运行,硬件的使用是很关键的一部分。

3、 Android系统移植可分为两部分:应用移植和系统移植。Android移植的主要工作如下:移植Linux驱动、移植HAL。

应用移植:是将应用程序移植到某一特定硬件平台上,为了弥补硬件间的差异,我们需要对源码进行修改。系统移植:是指让Android操作系统在某一个特定的硬件平台上运行,系统移植除了移植CPU架构外,最重要的就是移植linux驱动。

4、 Linux将存储器和外设分为3大类:字符设备、块设备和网络设备。Linux内核与网络设备的通信与字符设备和块设备的通信方式完全不同,网络设备面向数据包的接收和发送而设计。可以将字符设备和块设备归为一类,它们都是可以顺序/随机地进行读取和存储的单元,网络设备是特殊设备的驱动,它负责接收和发送帧数据,可能是物理帧,也可能是ip数据包,这些特性都有网络驱动决定。

5、 Linux驱动只和内核有关,与系统无关,linux内核的判断方法是看其内核版本号,比如Linux2.4,Linux2.6和Linux3.x{方法:uname –a或者cat /proc/version}。

6、 一般的Android驱动都会有相对应的HAL,但不是必须的。

7、 HAL 位于代码库是.os文件,只是可以通过HAL直接访问linux驱动。

http://www.cnblogs.com/caoyutao/