Android系统移植与驱动开发概述
一、Android的系统架构可以分为四层:
第一层:Linux内核。主要包括驱动程序以及管理内存、进程、电源等资源的程序
第二层:C/C++代码库。主要包括Linux的.so文件以及嵌入到APK程序中的NDK代码
第三层:android SDK API 直接面向应用程序的Java APK
第四层:应用程序。直接面向最终用户的Java应用程序。
二、Android移植可以分为应用移植和系统移植两部分。
应用移植是指将上述第四层所示的应用程序移植到某一个特定硬件平台上,Android系统移植是指让Android操作系统在某一个特定硬件平台上运行。Android移植的的主要工作包括移植Linux驱动和移植HAL。
查看Linux系统内核版本的两种方法:
(1)、在Linux终端执行如下命令:
uname —a
(2)在Linux终端执行下面命令:
cat /proc/version
三、Linux设备驱动
计算机系统硬件主要由CPU、存储器和外设组成。驱动针对的对象是存储器和外设,而不是针对CPU核。linux将存储器和外设分为三大类:字符设备、块设备、网络设备。
字符设备是指那些必须以串行顺序依次进行访问的设备,如键盘、鼠标、触摸屏等;块设备可以用任意顺序进行访问,以块为单位进行操作,如硬盘、软驱等;网络设备及部件是连接到网络中的物理实体。网络设备的种类繁多,且与日俱增。基本的网络设备有:计算机(无论其为个人电脑或服务器)、集线器、交换机、网桥、路由器、网关、网络接口卡(NIC)、无线接入点(WAP)、打印机和调制解调器、光纤收发器、光缆等。