第一章 android系统移植与驱动开发概述
Android的系统架构分为四层:
第 1 层: Linux 内核;
第 2 层:·CIC+刊电码库;
第 3 层:Android SDK API
第 4 层:应用程序
系统移植主要工作
Andrpid移植可分为两部分:.应用移植和系统移植。
除了 cinux 驱动需要移植外,在 Android 系统中还增加了一个硬件而象层。如果为 Android 增加了新的驱动或修改原来的驱动代码, HAL 中的代码就要做相应的调整。因此, Android 移植的主要工作如下 :
移植 linux驱动
移植 HAL
查看linux内核版本
方法一:在终端执行 uname –a命令
方法二:。在终端执行 cat /proc/version命令
内核版本号的定义规则
内核版本号的定义规则由下面几部分组成
主版本号
次版本号;
修订版本号;
微调版本号 ;
为特定的 Linux 系统特别调校的描述。
设备的分类
字符设备;
块设备;
网络设备;
Linux 驱动只与 Linux 内核有关,与用户使用的 Linux 系统无关。也就是说,不管是哪个 Linux 系统,只要使用了同样的Linux内核,驱动就可以通用。唯一可以判断 Linux 内核是否相同的方法就是 Linux内核版本号。只有组成内核版本号的五部分完全相同,才能说明两个 Linux 系统的内核是相同的。从这一点可以看出,学习 Android 驱动开发,实际上就是 学习 Linux 驱动开发,只是 Android 增加了一个 HAL,这是Android 特有的。一般的 Android 驱动 都会有对应的 HAL,不过 HAL 也不是必需的,通过 NDK 也可以直接访问 Linux 驱动。
我的博客地址http://www.cnblogs.com/qianzhanluojin/