word 版; 全书概貌 从此开始,我们进入内核编程的世界。第2章介绍模块化,解释了这门技艺的秘密,并给出了运行模块的代码。第3章,字符设备驱动程序,讨论字符设备驱动程序并且给出了基于内存的设备驱动程序的完整代码,可以按你的喜好进行读写。使用内存做为设备的硬件基础,可以使任何人运行例子代码,而无需增加特殊硬件。 调式技术对程序员来讲是至关重要的,这些内容在第4章“调试技术”中介绍。这样,运用我们新的调试技巧,我们将面对字符设备驱动程序高级功能,如阻塞型操作,select的使用以及非常常用的io
一、设计内容与设计要求 1.设计内容 了解Linux系统中字符设备驱动程序的基本组成,学会编写简单模块化的字符设备驱动程序,以及在不重新编译内核的情况下,动态地装载和卸载以模块化形式存在的字符设备驱动程序。同时学会对所编写的字符设备驱动程序进行测试,最终了解Linux操作系统是如何管理字符设备的。 设计思路:设备驱动程序是一些函数和数据结构的集合,这些函数和集合是用于实现管理设备的接口。操作系统内核就是使用这个接口来请求驱动程序对设备进行I/O操作。 2.设计要求 a. 课题的主要功能; b.
简单的字符设备的驱动程序,并对所编写的设备驱动程序进行测试,了解Linux操作系统如何管理字符设备。由于网上许多资源不完整,本资源整合了许多内容。包括驱动程序memdev.c,memdev.h,app-mem.c,MakeFile文件。执行步骤:
a) cat /proc/devices看看有哪些编号已经被使用,我们选一个没有使用的XXX。
b) insmod memdev.ko
c) 通过"mknod /dev/memdev0 c XXX 0"命令创建"/dev/memdev0"设备节点