这一章是学习linux驱动的第一道门,对android以及linux驱动做了一个总体介绍,使我对开发linux驱动有了一个感性的认识,并且为更好的学习linux驱动的方法和技巧打下了基础。
1.了解Android系统架构:在这一节我学到Android系统分为4层:Linux内核、Android核心库、应用程序框架、应用程序等。
2.了解Android系统移植:Android移植分为两部分:应用移植和系统移植,由于不同硬件平台的差异,Android SDK API也有可能存在差异,所以为了保证应用程序在不同的硬件平台上运行,就需要对源代码进行一定的修改。除了支持CPU架构之外,必须让Android能够识别各种平台上的各种硬件,而这就需要相应的驱动程序了。
3.了解Linux内核版本和如何查看版本:Linux内核主要维护三个版本(Linux2.4,Linux2.6(Android应用版本),Linux3.x)。
查看内核版本的两个方法:在Linux终端执行下面的命令(uname -a和cat /proc/version),/proc不是普通的文件系统而是系统内核的映像。
4. 了解了linux内核版本号的定义规则,举一个例子 例如:2.6.29.7-flykernel-12a,其中2是主版本号,6是次版本号,29是修订版本号,7是丢2.6.29的微调,称为微调版本号,而flykernel-12a则是该linux内核专门为flykernel调校。
5.如何学习Linux驱动开发:准备Linux系统(Ubuntu linux),准备开发板、学习GNU C,学习相关的硬件知识,大量的实践。
6.Linux设备驱动:任何一台计算机系统的运行都是软硬件共同作用的结果,而设备驱动就是很重要的一个模块,Linux设备驱动分为字符设备,网络设备,块设备;字符设备和块设备的驱动有很大的不同,但他们都使用文件系统的操作接口open(),close(),read(),write()等函数进行访问。
7.看到了linux驱动LED的核心代码。
总结:通过这一章对linux驱动的总体内容有了一个大致的了解,对今后linux驱动的开发奠定了基础。