linux设备驱动笔记——字符设备驱动

2016-01-29 17:39 2 1 收藏

linux设备驱动笔记——字符设备驱动,linux设备驱动笔记——字符设备驱动

【 tulaoshi.com - Linux 】

※       “全局性”是指,如果打开设备多次,所有打开它的文件描述符共享其中的数据。“持久性”是指,如果设备关闭后再次打开,数据不丢失。

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/linux/)

※       真实的驱动程序利用中断与它们的设备同步

 

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/linux/)主设备号和次设备号

※       主设备号标识设备对应的驱动程序;次设备号由内核使用,用于正确确定设备文件所指的设备。我们可以通过次设备号获得一个指向内核设备的直接指针,也可将次设备号当作设备本地数组的索引,不管用哪种方式,除了知道次设备号用来指向驱动程序所实现的设备之外,内核本身基本上不关心关于次设备号的任何其他消息。

※       设备编号的内部表达

n         在内核中,dev_t类型(在<linux/types.h中定义)用来保存设备编号——包括主设备号和次设备号。

n         MAJOR(dev_t dev);      MINOR(dev_t dev)              MKDEV(int major, int minor)

 

来源:https://www.tulaoshi.com/n/20160129/1502380.html

延伸阅读
在驱动程序中,当多个线程同时访问相同的资源时(驱动程序中的全局变量是一种典型的共享资源),可能会引发"竞态",因此我们必须对共享资源进行并发控制。Linux内核中解决并发控制的最常用方法是自旋锁与信号量(绝大多数时候作为互斥锁使用)。 自旋锁与信号量"类似而不类",类似说的是它们功能上的相似性,"不类"指代它们在本质和实...
驱动人生如何解决USB设备驱动   图1 驱动人生2009正式版安装界面 插入语:小编为了让大家更直观的看到,驱动人生秒杀USB设备驱动的全过程,不得己用驱动人生卸载了自己的USB设备驱动,可怜小编一篇苦心,希望对大家有所帮助。 图2 驱动人生2009正式版的操作界面 点击上面的驱动更新,我们就可以看到图3 ...
    引 言     编写 Linux 设备驱动程序无疑是一项复杂的工作。本文将集中介绍非标准硬件的设备驱动程序编写,探讨硬件应用编程接口,并借用 Cirrus Logic EP9312 片上系统嵌入式平台添加设备驱动程序这一案例来进行分析。     如果有些编程内容未能在本文中涉及,那么读者亦可以查阅相似的...
驱动程序的使用可以按照两种方式编译,一种是静态编译进内核,另一种是编译成模块以供动态加载。由于uClinux不支持模块动态加载,而且嵌入式Linux不能够象桌面Linux那样灵活的使用insmod/rmmod加载卸载设备驱动程序,因而这里只介绍将设备驱动程序静态编译进uClinux内核的方法。 下面以uClinux为例,介绍在一个以模块方式出现的驱动程...
标签: 电脑入门
关于Windows 7中陈旧驱动设备有些人并不在意,但是如果你发现一些最近安装的设备工作不正常或者经常引起电脑死机,那么,你可以考虑一下,删除Windows 7中旧的或者未使用的设备驱动。 1、右键Win7桌面的计算机,选择属性。 2、在左侧面板上找到高级系统设置,点击高级选项卡底部的环境变量。 3、在上半部分的XX的用户变量那里点击新建 输入...

经验教程

265

收藏

29