《Android深度探索》第一章讲的是Android系统移植与驱动开发概述.这一章节将对Android以及Linux驱动做一个总体的介绍。
Android是一个非常优秀的的嵌入式操作系统。经过几年的发展和演进,Android已经形成了非常完善的系统架构。Android的系统架构分为四层,如下图
Android移植可分为两部分:应用移植和系统移植。
Android系统移植是指让Android操作系统在某一个特定硬件平台上运行。使一个操作系统在特定硬件平台上运行的一个首要条件就是该操作系统支持硬件平台的CPU架构。
Android移植除了移植CPU架构外,最重要的就是移植Linux驱动。
Android移植在很大程度上是Linux内核的移植。Linux内核移植主要就是移植驱动程序。
/proc不是普通的文件系统,而是系统内核的映像,也就是说,该目录中的文件是存放在系统内存之中的。
通过这一章节的学习我了解到,不管是哪个版本的Linux内核,开发Linux驱动的方法和步骤基本相同,只要掌握了一个Linux内核版本(建议使用Linux2.6或Linux3.x内核版本)的驱动开发,其它Linux内核版本就很容易掌握了。
GUN C也是学习Linux驱动的一个必须掌握的技术。GUN C是对标准C的扩展。是Linux/UNIX下最常用的C语言编译环境。
降低软件和硬件之间的耦合度成为当前首要解决的问题。
Linux驱动只与Linux内核有关,与用户使用的Linux系统无关。也就是说,不管是哪个Linux系统,只要使用了同样的Linux内核,驱动就可以通用。