万能驱动的原理是什么

万能驱动的原理是什么,第1张

万能驱动是指某硬件同一芯片组的通用驱动,也就是

。比如

驱动。这种驱动是通过对某一类型的芯片组的基本

进行支持而驱动显卡。不论是什么品牌,只要是同样的芯片,所使用的技术是基本相同的。而这种驱动就是专门针对芯片而设置的驱动,所以是通用的。不过也不是真正的万能驱动。万能驱动的叫法不是很正确。正确的说法是

。只要你选对了硬件型号,都会匹配。性能一般都比老版本好,当然也有新版本不如旧的好用的。那只是针对极个别的情况而言。

设备与处理器之间的工作通常来说是异步,设备数据要传递给处理器通常来说有以下几种方法:轮询、等待和中断。

让CPU进行轮询等待总是不能让人满意,所以通常都采用中断的形式,让设备来通知CPU读取数据。

26内核的函数参数与现在的参数有所区别,这里都主要介绍概念,具体实现方法需要结合具体的内核版本。

request_irq函数申请中断,返回0表示申请成功,其他返回值表示申请失败,其具体参数解释如下:

flags 掩码可以使用以下几个:

快速和慢速处理例程 :现代内核中基本没有这两个概念了,使用SA_INTERRUPT位后,当中断被执行时,当前处理器的其他中断都将被禁止。通常不要使用SA_INTERRUPT标志位,除非自己明确知道会发生什么。

共享中断 :使用共享中断时,一方面要使用SA_SHIRQ位,另一个是request_irq中的dev_id必须是唯一的,不能为NULL。这个限制的原因是:内核为每个中断维护了一个共享处理例程的列表,例程中的dev_id各不相同,就像设备签名。如果dev_id相同,在卸载的时候引起混淆(卸载了另一个中断),当中断到达时会产生内核OOP消息。

共享中断需要满足以下一个条件才能申请成功:

当不需要使用该中断时,需要使用free_irq释放中断。

通常我们会在模块加载的时候申请安装中断处理例程,但书中建议:在设备第一次打开的时候安装,在设备最后一次关闭的时候卸载。

如果要查看中断触发的次数,可以查看 /proc/interrupts 和 /proc/stat。

书中讲述了如何自动检测中断号,在嵌入式开发中通常都是查看原理图和datasheet来直接确定。

自动检测的原理如下:驱动程序通知设备产生中断,然后查看哪些中断信号线被触发了。Linux提供了以下方法来进行探测:

探测工作耗时较长,建议在模块加载的时候做。

中断处理函数和普通函数其实差不多,唯一的区别是其运行的中断上下文中,在这个上下文中有以下注意事项:

中断处理函数典型用法如下:

中断处理函数的参数和返回值含义如下:

返回值主要有两个:IRQ_NONE和IRQ_HANDLED。

对于中断我们是可以进行开启和关闭的,Linux中提供了以下函数 *** 作单个中断的开关:

该方法可以在所有处理器上禁止或启用中断。

需要注意的是:

如果要关闭当前处理器上所有的中断,则可以调用以下方法:

local_irq_save 会将中断状态保持到flags中,然后禁用处理器上的中断;如果明确知道中断没有在其他地方被禁用,则可以使用local_irq_disable,否则请使用local_irq_save。

locat_irq_restore 会根据上面获取到flags来恢复中断;local_irq_enable 会无条件打开所有中断。

在中断中需要做一些工作,如果工作内容太多,必然导致中断处理所需的时间过长;而中断处理又要求能够尽快完成,这样才不会影响正常的系统调度,这两个之间就产生了矛盾。

现在很多 *** 作系统将中断分为两个部分来处理上面的矛盾:顶半部和底半部。

顶半部就是我们用request_irq来注册的中断处理函数,这个函数要求能够尽快结束,同时在其中调度底半部,让底半部在之后来进行后续的耗时工作。

顶半部就不再说明了,就是上面的中断处理函数,只是要求能够尽快处理完成并返回,不要处理耗时工作。

底半部通常使用tasklet或者工作队列来实现。

tasklet的特点和注意事项:

工作队列的特点和注意事项:

软件驱动备份原理是将你电脑的硬件驱动通过软件备份一个档案当你在重新装系统,以后就不用去寻找驱动,直接可以将备份的档案还原就可以了。驱动备份是为了防止当电脑驱动出现问题时,使用驱动备份的文件恢复正常。驱动程序全称设备驱动程序,是添加到 *** 作系统中的特殊程序,其中包含有关硬件设备的信息。此信息能够使计算机与相应的设备进行通信。驱动程序是硬件厂商根据 *** 作系统编写的配置文件,没有驱动程序,计算机中的硬件就无法工作。驱动备份是把驱动因为电脑不正常关机,病毒等程序的破坏而导致不能驱动某些程序,备份之后只要点恢复备份的驱动就行了。

自动安装驱动是基于XP的即插即用原理。首先从系统“自带”驱动库中查找是否有该硬件的驱动,没有的话才提示插入驱动安装盘。这里“自带”的意思就是制作这个GHOST安装盘时尽量从网上下载各种常见的驱动,然后打包放在XP的驱动程序库里面。

GHOST你说它是一种安装光盘也可以,但本质上它是属于用来备份的,只是在各路高手努力下将它变成“安装”功能了。

液晶屏驱动板常被称为A/D(模拟/数字1板,这从某种意义上反映出驱动板实现的主要功能所在。液晶屏要显示图像,需要数字化的视频信号,液晶屏驱动板正是完成从模拟信号到数字信号转换(或者从一种数字信号到另一种数字信号转换),并在图像控制单元的控制下去驱动液晶屏显示图像的功能模块。液晶屏驱动板上通常包含主控芯片、MCU微控制器、ROM存储器、电源模块、电源接口、VGA视频信号输入接口、OSD按键板接口、高压板接口、LVDS/TTL驱屏信号接口等几部分。液晶屏驱动板的原理框图如图所示,从计算机主机显示卡送来的视频信号,通过驱动板上的VGA视频信号输入接口送入驱动板的主控芯片,主控芯片根据MCU微控制器中有关液晶屏的资料控制液晶屏显示图像。同时,MCU徵控制器实现对整机的电源控制、功能 *** 作等。因此,液晶屏驱动板又称为液晶显示器的主板。

液晶屏驱动板损坏,可能造成无法开机、开机黑屏、白屏、花屏、纹波干扰、按键失效等故障现象,其故障在液晶显示器中占有较大的比例。

液晶屏驱动板广泛采用大规模集成电路和贴片器件,电路元器件布局紧凑,给查找具体元器件或跑线造成了很大的困难。在非工厂条件下,其可修性较小。对于驱动板的供电部分、VGA视频输入接口电路部分损坏等造成的故障,只要有电路知识,便可以轻松解决;对于那些由于MCU微控制器内部的数据损坏造成无法正常工作的驱动板,在拥有数据文件(驱动程序)的前提下,可以用液晶显示器编程器对MCU微控制器进行数据烧写,以修复固件损坏引起的故障。早期的驱动板,需要把MCU徽控制器拆卸下来进行 *** 作,有一定的难度。目前,驱动板已经普遍采用支持ISP(在线编程)的MCU徵控制器,可以通过ISP工具在线对MCU微控制器内部的数据进行烧写。比如,目前使用的EP1112最新液晶显示器编程器,就可以完成上述工作。

当驱动板出现故障时,若液晶显示器使用的是通用驱动板,可以直接找到相应主板代换。当然,仍需要在其MCU中写入与液晶屏对应的驱动程序;若驱动板是品牌机主板,一般采用市场上常见的通用驱动板予以代换。

通用驱动板,也称万能驱动板。目前,市场上常见的通用驱动板有乐华、鼎科、凯旋、悦康等品牌,。尽管这种通用驱动板所用元器件与原装驱动板不一致,但只要用液晶显示器编程器向通用驱动板写入液晶屏对应的驱动程序(购买编程器时,会随机送液晶屏驱动程序光盘),再通过简单地改接线路,即可用于驱动不同的液晶屏,通用性很强,而且维修成本不高,用户容易接受。

由于液晶屏有各种信号接口,因而通用驱动板与液晶屏之间的信号线(TTL/LVDS信号线)也有多种,下面是具体型号:

使用通用驱动板代换液晶显示器驱动板,要经过点屏、改绂、安装三个环节。

鼠标的点击和键盘的选择都是事件驱动的,就是说window中每一个窗口中的每一个按钮或链接都对应一些事件相关的代码,比如鼠标的单击,双击事件。你点一下鼠标,鼠标会通过硬件电路通知CPU,CPU会产生一个中断,中断程序会发消息给当前window正在运行的前台程序,这个程序就会调用之前写好的事件对应的代码执行。整个流程就是这样。

1、Windows 7系统的设备驱动文件解读

在Windows7系统中包含了一个覆盖范围很广的身边驱动程序库。在该 *** 作系统的基本安装中,这些驱动程序都会保存在驱动程序存储区中,它们位于%SystemRoot%\System32\DriverStore\FileRepository目录下。另外,在DriverStore文件夹中还保存了对应本地化后的驱动程序信息的子文件夹,对于在系统上配置的每个语种,在这里都有一个对于的子文件夹。例如,笔者安装的是Windows7系统的英文版,有关本地化的英语驱动程序信息就位于en-us子文件夹中。

在驱动程序存储区中,每个设备驱动程序都经过了认证,并确保可以与Windows7系统之家完全兼容,通过还带有微软的数字签名,这可以确保驱动程序在 *** 作系统中绝对可用。在安装新的兼容性即插即用设备时,Windows7系统会在驱动程序存储区中检查可用的兼容设备驱动程序。如果找到,则 *** 作系统就会自动安装该设备。

2、应当重视的Windows 7系统设备驱动签名信息

对于Windows7系统来说,能否对周边设备提供良好的支持是其面临的严峻挑战。毫无例外地,为了保证系统的稳定性及设备的良好运行,微软建议用户选择包含数字签名是设备驱动程序版本。这对于用户来说非常重要,因为Windows7系统毕竟是目前最新系统平台之一,各方面有待于进一步的检验或者考验,而这一般为不少用户所忽略。带有微软数字签名的设备驱动程序不会让系统崩溃或者变得不稳定,同时带有微软数字签名还可以确保设备驱动程序未被篡改,这能够杜绝驱动级木马危害系统。

反之,如果用户强制使用没有数字签名的驱动程序,则很有可能导致Windows7系统的不响应或者崩溃,这甚至比在 *** 作系统上安装普通程序导致的问题更加严重。笔者曾经有这样的体验,另外论坛中这样的因为驱动造成Windows7崩溃的案例也非常多。因此,对于Windows7系统用户来说建议尽量使用经过签名的驱动程序。当然,在某些情况下,我们可能会发现特定是设备不包含签名的驱动程序。此时,建议大家在设备制造商是网站上搜索是否有可用的带有签名的驱动程序。因为有时可能有带有签名的驱动程序,但并没有包含到设备的的驱动光盘之家或者Windows7系统的安装盘中。

3、Windows 7系统驱动文件排错

当硬件的驱动安装错误后,不仅不能够驱动该设备,而且会有可能造成深度系统的不稳定甚至崩溃。Windows7系统内置的硬件诊断功能可以检测各种类型的硬件设备故障,从而据此可进行驱动文件的排错。通常情况下,最新系统下载安装后如果系统检测到问题,那么我们将会看到一个问题报告和解决方案提示的气泡通知。单击该气泡通知即可打开问题报告和解决方案控制台。另外,我们也可以在Windows7系统的控制面板中单击“系统和维护”链接,并单击“问题报告和解决方案”打开该控制台。在问题报告和解决方案窗口中,单击“查看问题以检查”链接以查看现有的问题,或单击“检查解决方案”链接,从微软网站上搜索已知问题的可能解决方案。

4、设备驱动造成的资源冲突排错

有的时候,当我们在Windows7系统中安装了某设备的驱动文件后会显示资源冲突,那如何进行排错呢Windows7系统的智能特性让我们进行这方面的排错非常容易。如果怀疑是某设备造成了资源冲突,可在Windows7系统的设备管理器中,单击“查看”菜单选择其中的“依类型排序资源”或“依连接排序资源”视图,即可快速查看资源的分配,在此我们可以看到ISA和PCI设备使用IRQ的情况。一般情况下每个ISA设备都有独立的IRQ设置,而多个PCI设备共享相同的IRQ设置。笔者特别提示,如果某些设备显示警告图标,同时还有感叹号,这并不是资源冲突,应该是设备配置错误。

需要注意的是,在Windows系统中,设备可以共享IRQ设置,因此两个不相关当共用了同样内存地址或I/Q端口的设备,这些设备之间通常存在冲突。确定了资源冲突的双方,我们就可以在设备管理器中手动修改某些设备的资源设置。打开该设备是属性对话框,在“资源”选项卡中选择需要使用的资源类型。如果可以更改,那么就可以取消对“使用自动设置”的选择,然后查看设置基于下拉列表中是否提供候补的配置,如果有选择该项即可解决冲突。

以上就是关于万能驱动的原理是什么全部的内容,包括:万能驱动的原理是什么、《Linux设备驱动程序》(十六)-中断处理、软件驱动备份原理是什么等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/9430884.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存