读完本章,我最大的收获就在于对Android系统架构和移植,以及Linux驱动开发有了进一步的了解与认知。对于Android非常完善的架构系统,主要依次分为四层;第一层,Linux内核,主要包括驱动程序以及管理内存、进程、电源等资源的程序。第二层,C/C++代码库,主要包括Linux的.so文件以及嵌入到APK程序中的NDK代码。第三层,Android SDK API直接面向应用程序的Java APK。第四层,应用程序,直接面向最终用户的Java应用程序(APK程序)。
对于Android的移植可分为两部分:应用移植与系统移植。
如果想查看其他Linux系统的内核版本,可以使用如下两种方法:
1. 在Linux终端执行下面的命令。
Uname-a
如果当前系统是Ubuntu Linux11.10,会在Linux终端输出一系列信息(详情如书所示)。白框内是Linux内核的版本。
2. 在Linux终端执行下面的命令。
Cat/proc/version
这里要注意的是/proc不是普通文件系统,而是系统内核的映像。
要学习Linux驱动我们要多的几点如下:
1. 准备一个自己熟悉的Linux操作系统,用于开发和测试Linux驱动,建议实用Ubuntu Linux10.04及以上版本。
2. 准备一块开发板(建议采用基于ARMII的开发板)。
3. 学习GNU C。
4. 学习相关的硬件知识。
5. 不断地实践。