linux设备驱动开发实例.doc

·1 基础知识 设备驱动的作用:任何一个计算机系统的运行都是系统中软硬件协作的结果,没有硬件的软件是空中楼阁,没有软件的硬件则是一堆废铁。硬件是底层基础,是所有软件得以运行的平台,代码最终会落实为硬件上的组合逻辑与时序逻辑;软件则实现了具体应用,它按照各种不同的业务需求而设计,满足了用户的需求。软件和硬件不应该相互渗透到对方的领域。为了尽快的完成设计,应用软件工程师不想也不必关心硬件,而硬件工程师也难掌握软件编程语言。例如,应用软件工程师在使用printf函数输出信息的时候,他不用知道具体底层是怎么实现将信息输出到显示屏或者串口上的。也就是说,应用软件工程师需要看到的是一个没有硬件的纯粹的软件世界,他不用知道底层的硬件原理,而是通过一些通用的接口函数就可以操作。那么这些接口函数是怎么提供给上层的软件工程师的呢,那这个艰巨的任务就落在了驱动工程师的头上。 驱动程序在 Linux 内核里扮演着特殊的角色. 它们是截然不同的黑盒子, 使硬件的特殊的一部分响应定义好的内部编程接口. 它们完全隐藏了设备工作的细节. 用户的活动通过一套标准化的调用来进行, 这些调用与特别的驱动是独立的; 设备驱动的角色就是将这些调用映射到作用于实际硬件的和设备相关的操作上. 这个编程接口是这样, 驱动可以与内核的其他部分分开建立, 并在需要的时候在运行时插入. 这种模块化使得 Linux 驱动易写, 以致于

文档评论(0)

1亿VIP精品文档

相关文档