ndroid系统移植的主要工作
系统移植:让android操作系统在某一个特定平台上运行,条件是 操作系统支持硬件平台的CPU架构、移植linux驱动、移植HAL(HAL位于第二层,android SDK通过HAL直接访问linux驱动),后两个是android系统移植的主要工作。
应用移植:第四层的应用程序一直到一个特定平台上,由于硬件平台之间有差异,android SDK API有可能存在差异,需要对源代码进行修改,并不涉及驱动和HAL程序库。
说到 Android 驱动是离不开 Linux 驱动的。Android 内核采用的是 Linux2.6 内核 (最近Linux 3.3 已经包含了一些 Android 代码)。但 Android 并没有完全照搬 Linux 系统内核,除了对Linux 进行部分修正,还增加了不少内容。android 驱动 主要分两种类型:Android 专用驱动 和 Android 使用的设备驱动(linux)。
Android 专有驱动程序:
1)Android Ashmem 匿名共享内存; 为用户空间程序提供分配内存的机制,为进程间提供大块共享内存,同时为内核提供回收和管理这个内存。
2)Android Logger 轻量级的LOG(日志) 驱动;
3)Android Binder 基于 OpenBinder 框架的一个驱动;
4)Android Power Management 电源管理模块;
5)Low Memory Killer 低内存管理器;
6)Android PMEM 物理内存驱动;
7)USB Gadget USB 驱动(基于 gaeget 框架);
8)Ram Console 用于调试写入日志信息的设备;
9)Time Device 定时控制设备;
10)Android Alarm 硬件时钟;
Android 上的设备驱动:
1)Framebuff 显示驱动;
2)Event 输入设备驱动;
3)ALSA 音频驱动;
4)OSS 音频驱动;
5)v412摄像头:视频驱动;
6)MTD 驱动;
7)蓝牙驱动;
8)WLAN 设备驱动;