word 版; 全书概貌 从此开始,我们进入内核编程的世界。第2章介绍模块化,解释了这门技艺的秘密,并给出了运行模块的代码。第3章,字符设备驱动程序,讨论字符设备驱动程序并且给出了基于内存的设备驱动程序的完整代码,可以按你的喜好进行读写。使用内存做为设备的硬件基础,可以使任何人运行例子代码,而无需增加特殊硬件。 调式技术对程序员来讲是至关重要的,这些内容在第4章“调试技术”中介绍。这样,运用我们新的调试技巧,我们将面对字符设备驱动程序高级功能,如阻塞型操作,select的使用以及非常常用的io
摘要:以一个具体的PCI设备的驱动开发过程为基础,总结了与PCI设备驱动开发的相关问题,详细阐述了基本开发步骤、具体实现、驱动程序内核块的加载以及用户进程和驱动程序的协同工作问题。
1 Linux 系统下设备驱动的概念
Linux 将所有外部设备看成是一类特殊文件,称之为“设备文件”,如果说系统调用是Linux内核和应用程序之间的接口,那么设备驱动程序则可以看成是Linux内核与外部设备之间的接口。设备驱动程序向应用程序屏蔽了硬件在实现上的细节,使得应用程序可以像操作普通文件一样来操作外