Android系统移植与驱动开发概述
1. Android的系统架构分为Linux内核、C/C++代码库、Android SDK API、应用程序四层。
2. Android移植可分为应用移植和系统移植。应用移植是指将应用程序移植到特定的硬件平台。系统移植指的是让Android操作系统在某一特定硬件平台上运行(首要条件是该操作系统支持硬件平台的CPU架构)。系统移植的主要任务是移植Linux驱动和HAL(Hardware Abstraction Layer:硬件抽象层,位于应用程序与驱动之间)。
3. Linux内核主要维护 Linux2.4、Linux2.6、Linux3.x 三个版本。
Linux2.4 和 Linux2.6查看版本的两种方法:a.uname -a b.cat /proc/version。
Linux3.x 查看版本:设备 -> 关于手机。
4. Linux内核版本定义:
例:2.6.29.7-flykemel-12a 2为主版本号,6为次版本号,29为修订版本号,7为微调版本号,flykemel-12a为flykemel调校。
5. 存储器和外设分为字符设备(Character devices:串行顺序访问,不经过系统的快速缓冲),块设备(Block devices:任意顺序访问,经过系统的快速缓冲),网络设备(Network devices)。
6. 文件系统操作借口:open、close、read、write等函数。
7. Linux驱动:LED。