Android系统架构分为四层,第一层为Linux内核,第二层为C/C++代码库,第三层为Android SDK API,第四层为应用程序。
应用移植是指将应用程序移植到某一特定硬件平台。Android系统移植是指让Android操作系统在某一特定硬件平台上运行。且其移植可分为两部分:应用移植和系统移植。在系统移植时主要进行:1.移植Linux驱动。2.移植HAL(抽象硬件层,Android通过HAL访问Linux驱动)。如果对原来的驱动源码进行修改,则HAL中的代码就要做相应的调整。
Linux内核版本的查看方式有:1.指令:uname -a 2.指令:cat /proc/version
Linux内核版本号的定义规则:1.主版本号;2.此版本号;3.修订版本号;4.微调版本号;5.为特定的Linux系统特别调校的描述。
Linux内核个版本的驱动开发方法和步骤基本相同,只需研究一个版本的Linux其他版本的则会触类旁通。
Linux将存储器和外设分为3大类:字符设备是指必须以串行顺序依次进行访问的设备;块设备是指可以用任意顺序进行访问;网络设备面向数据的接受和发送而设计
GUN C是学习Linux驱动的一个必须掌握的技术。GUN C是对标准C的扩展。