Android 系统移植与驱动开发概述
Android发展至今已经形成了非常完善的系统架构,从下往上分为四层,依次为Liunx内核、核心库与运行时环境、应用程序框架、应用程序。
Android移植可分为两部分:应用移植与系统移植。应用移植是指将应用程序移植到某一个特定硬件平台上,而系统移植是指让Android操作系统在某一个特定硬件平台上运行。使一个操作系统在特定硬件平台上运行的一个首要条件就是该操作系统支持硬件平台的CPU架构,其次要让Android可以识别平台上的各种硬件。因此,系统移植除了移植CPU架构外,最重要的就是移植Linux驱动。
任何一个计算机系统的运行都是系统中软硬件协作的结果,没有硬件的软件是空中楼阁,而没有软件的硬件则只是一堆废铁。硬件是底层基础,是所有软件得以运行的平台,代码最终会落实为硬件上的组合逻辑于时序逻辑;软件则实现了具体应用,它按照各种不同的业务需求而设计,满足了用户的需求。设备驱动充当了硬件和应用软件之间的纽带,它使得应用软件只需要调用系统软件的应用编程接口就可让硬件去完成要求的工作。
Linux系统的设备分为3类:字符设备、块设备和网络设备。
字符设备通常指像普通文件或字节流一样,以字节为单位顺序读/写的设备,块设备通常指一些需要以块为单位随机读/写的设备,网络设备通常是指通过网络能够与其他主机进行数据通信的设备。