当前位置:主页 > 综合资讯 >

Linux字符设备驱动程序的编写框架

发布时间:19-12-06 阅读:384

linux自傲设备驱动法度榜样的编写是嵌入式学院三期课程中嵌入式linux驱动开拓方面的紧张内容,这里我们先对QT做一下简单先容。

一、Linux device driver 的观点

系统调用是操作系统内核和利用法度榜样之间的接口,设备驱动法度榜样是操作系统内核和机械硬件之间的接口。设备驱动法度榜样为利用法度榜样樊篱了硬件的细节,这样在利用法度榜样看来,硬件设备只是一个设备文件,利用法度榜样可以象操作通俗文件一样对硬件设备进行操作。设备驱动法度榜样是内核的一部分,它完成以下的功能:

1、对设备初始化和开释;

2、把数据从内核传送到硬件和从硬件读取数据;

3、读图利用法度榜样传送给设备文件的数据和回送利用法度榜样哀求的数据;

4、检测和处置惩罚设备呈现的差错。

在Linux操作系统下有三类主要的设备文件类型,一是字符设备,二是块设备,三是收集设备。字符设备和块设备的主要差别是:在对字符设备发出读/写哀求时,实际的硬件I/O一样平常就紧接着发生了,块设备则不然,它使用一块系统内存作缓冲区,当用户进程对设备哀求能满意用户的要求,就返回哀求的数据,假如不能,就调用哀求函数来进行实际的I/O操作。块设备是主要针对磁盘等慢速设备设计的,以免消费过多的CPU光阴来等待。

已经提到,用户进程是经由过程设备文件来与实际的硬件打交道。每个设备文件都都有其文件属性(c/b),表示是字符设备照样块设备?别的每个文件都有两个设备号,第一个是主设备号,标识驱动法度榜样,第二个是从设备号,标识应用同一个设备驱动法度榜样的不合的硬件设备,比如有两个软盘,就可以用从设备号来区分他们。设备文件的的主设备号必须与设备驱动法度榜样在挂号时申请的主设备号同等,否则用户进程将无法造访到驱动法度榜样。

着末必须提到的是,在用户进程调用驱动法度榜样时,系统进入核心态,这时不再是抢先式调整。也便是说,系统必须在你的驱动法度榜样的子函数返回后才能进行其他的事情。假如你的驱动法度榜样陷入逝世轮回,不幸的是你只有从新启念头器了,然后便是漫长的fsck。

二、实例剖析

我们来写一个最简单的字符设备驱动法度榜样。虽然它什么也不做,然则经由过程它可以懂得Linux的设备驱动法度榜样的事情道理。把下面的C代码输入机械,你就会得到一个真正的设备驱动法度榜样。



上一篇:秩序之光英雄介绍_守望先锋_官网合作站_新浪游
下一篇:没有了