CN106775833B - 设备驱动程序加载方法、终端及系统 - Google Patents
设备驱动程序加载方法、终端及系统 Download PDFInfo
- Publication number
- CN106775833B CN106775833B CN201611064770.8A CN201611064770A CN106775833B CN 106775833 B CN106775833 B CN 106775833B CN 201611064770 A CN201611064770 A CN 201611064770A CN 106775833 B CN106775833 B CN 106775833B
- Authority
- CN
- China
- Prior art keywords
- embedded
- equipment
- driver
- device driver
- user space
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000011068 loading method Methods 0.000 title claims abstract description 46
- 238000000034 method Methods 0.000 claims abstract description 56
- 230000008569 process Effects 0.000 claims description 42
- 230000000977 initiatory effect Effects 0.000 claims description 8
- 238000012544 monitoring process Methods 0.000 claims description 5
- 230000006870 function Effects 0.000 description 12
- 230000003993 interaction Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000001514 detection method Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000005484 gravity Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000010079 rubber tapping Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000010897 surface acoustic wave method Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4411—Configuring for operating with peripheral devices; Loading of device drivers
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种设备驱动程序加载方法、终端及系统,属于计算机技术领域。该方法应用于终端中,该终端包括内核空间、用户空间和文件管理器,该方法包括:当嵌入式设备连接至该终端时,该内核空间发起设备连接事件;该用户空间监听到该设备连接事件,并确定未加载该嵌入式设备的设备驱动程序时,向该文件管理器发送获取消息,该获取消息用于指示获取该嵌入式设备的设备驱动程序;该文件管理器接收到该获取消息时,从存储设备获取该设备驱动程序,返回给该用户空间,该存储设备用于存储至少一个设备驱动程序;该用户空间和该内核空间从该文件管理器加载该设备驱动程序。本发明摆脱了该终端只能加载已获取到的设备驱动程序的限制,提高了灵活性。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种设备驱动程序加载方法、终端及系统。
背景技术
设备驱动程序是一种允许计算机软件与硬件交互的程序,可以作为硬件设备的接口提供给终端,以实现终端对硬件设备的控制。那么,对于连接至终端的任一嵌入式设备,只有该终端加载该嵌入式设备的设备驱动程序之后,才能与该嵌入式设备进行数据交互。
加载设备驱动程序时,该终端通常采用静态加载的方式,也即是,在获取设备驱动程序后,直接将该设备驱动程序编译到内核中,待内核启动后,即可直接加载该设备驱动程序。之后,当该设备驱动程序匹配的嵌入式设备连接至该终端时,该终端即可通过该设备驱动程序,与该嵌入式设备进行数据交互。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
该终端只能加载已获取到的设备驱动程序,一旦该终端未获取到某一嵌入式设备的设备驱动程序,将无法实现加载,也将无法与该嵌入式设备进行数据交互,局限性强。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种设备驱动程序加载方法、终端及系统。所述技术方案如下:
一方面,提供了一种设备驱动程序加载方法,应用于终端中,所述终端包括内核空间、用户空间和文件管理器,所述方法包括:
当嵌入式设备连接至所述终端时,所述内核空间发起设备连接事件;
所述用户空间监听到所述设备连接事件,并确定未加载所述嵌入式设备的设备驱动程序时,向所述文件管理器发送获取消息,所述获取消息用于指示获取所述嵌入式设备的设备驱动程序;
所述文件管理器接收到所述获取消息时,从存储设备获取所述设备驱动程序,返回给所述用户空间,所述存储设备用于存储至少一个设备驱动程序;
所述用户空间和所述内核空间从所述文件管理器加载所述设备驱动程序。
可选地,所述当嵌入式设备连接至所述终端时,所述内核空间发起设备连接事件,包括:
当所述嵌入式设备连接至所述终端时,所述内核空间启动设备服务进程;
通过所述设备服务进程,发起所述设备连接事件。
可选地,所述用户空间运行设备管理器和udevd进程,所述用户空间监听到所述设备连接事件,并确定未加载所述嵌入式设备的设备驱动程序时,向所述文件管理器发送获取消息,包括:
所述用户空间监听到所述设备连接事件,通过所述设备管理器,遍历已加载的设备驱动程序,判断遍历到的设备驱动程序是否与所述嵌入式设备匹配;
当确定遍历到的所有设备驱动程序与所述嵌入式设备均不匹配时,所述设备管理器向所述内核空间返回未加载所述嵌入式设备的设备驱动程序的通知消息;
所述内核空间接收到所述通知消息时,向所述用户空间发送获取设备驱动程序的事件;
所述用户空间通过所述udevd进程,向所述文件管理器发送所述获取消息。
可选地,所述文件管理器接收到所述获取消息时,从存储设备获取所述设备驱动程序,包括:
所述文件管理器通过已建立的网络连接,从所述存储设备中下载所述设备驱动程序;或者,
所述文件管理器从已连接至所述终端的存储设备中,拷贝所述设备驱动程序。
可选地,所述用户空间和所述内核空间从所述文件管理器加载所述设备驱动程序,包括:
所述用户空间显示活动窗口,获取用户在所述活动窗口中输入的所述嵌入式设备的相关参数;
所述用户空间调用所述活动窗口获取所述相关参数,并基于所述相关参数从所述文件管理器加载所述设备驱动程序;
所述内核空间注册所述设备驱动程序,并在确定所述设备驱动程序与所述嵌入式设备匹配的情况下,注册所述嵌入式设备;
所述内核空间向所述用户空间发送加载成功事件,所述用户空间接收到所述加载成功事件时,创建与所述嵌入式设备匹配的设备节点。
另一方面,提供了一种终端,所述终端包括内核空间、用户空间和文件管理器;
所述内核空间,用于当嵌入式设备连接至所述终端时,发起设备连接事件;
所述用户空间,用于监听到所述设备连接事件,并确定未加载所述嵌入式设备的设备驱动程序时,向所述文件管理器发送获取消息,所述获取消息用于指示获取所述嵌入式设备的设备驱动程序;
所述文件管理器,用于接收到所述获取消息时,从存储设备获取所述设备驱动程序,返回给所述用户空间,所述存储设备用于存储至少一个设备驱动程序;
所述用户空间和所述内核空间,还用于从所述存储设备加载所述设备驱动程序。
可选地,所述内核空间还用于当所述嵌入式设备连接至所述终端时,启动设备服务进程;通过所述设备服务进程,发起所述设备连接事件。
可选地,所述用户空间运行设备管理器和udevd进程,所述用户空间还用于监听到所述设备连接事件,通过所述设备管理器,遍历已加载的设备驱动程序,判断遍历到的设备驱动程序是否与所述嵌入式设备匹配;当确定遍历到的所有设备驱动程序与所述嵌入式设备均不匹配时,所述设备管理器向所述内核空间返回未加载所述嵌入式设备的设备驱动程序的通知消息;
所述内核空间还用于接收到所述通知消息时,向所述用户空间发送获取设备驱动程序的事件;
所述用户空间,还用于通过所述udevd进程,向所述文件管理器发送所述获取消息。
可选地,所述文件管理器还用于通过已建立的网络连接,从所述存储设备中下载所述设备驱动程序;或者,从已连接至所述终端的存储设备中,拷贝所述设备驱动程序。
可选地,所述用户空间还用于显示活动窗口,获取用户在所述活动窗口中输入的所述嵌入式设备的相关参数;调用所述活动窗口获取所述相关参数,并基于所述相关参数从所述文件管理器加载所述设备驱动程序;
所述内核空间还用于注册所述设备驱动程序,并在确定所述设备驱动程序与所述嵌入式设备匹配的情况下,注册所述嵌入式设备;向所述用户空间发送加载成功事件;
所述用户空间还用于接收到所述加载成功事件时,创建与所述嵌入式设备匹配的设备节点。
再一方面,提供了一种系统,所述系统包括嵌入式设备、终端和存储设备,所述终端包括内核空间、用户空间和文件管理器;
所述内核空间,用于当所述嵌入式设备连接至所述终端时,发起设备连接事件;
所述用户空间,用于监听到所述设备连接事件,并确定未加载所述嵌入式设备的设备驱动程序时,向所述文件管理器发送获取消息,所述获取消息用于指示获取所述嵌入式设备的设备驱动程序;
所述文件管理器,用于接收到所述获取消息时,从所述存储设备获取所述设备驱动程序,返回给所述用户空间,所述存储设备用于存储至少一个设备驱动程序;
所述用户空间和所述内核空间,还用于从所述存储设备加载所述设备驱动程序。
本发明实施例提供的技术方案带来的有益效果是:
通过在存储设备中存储至少一个设备驱动程序,当该终端已连接嵌入式设备,但还未加载该嵌入式设备的设备驱动程序时,可以由文件管理器从存储设备中获取该设备驱动程序,从而完成加载过程,摆脱了该终端只能加载已获取到的设备驱动程序的限制,提高了灵活性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种设备驱动程序加载方法的流程图;
图2是本发明实施例提供的一种设备驱动程序加载方法的流程图;
图3是本发明实施例提供的一种设备驱动程序加载装置的结构示意图;
图4是本发明实施例提供的一种终端的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1是本发明实施例提供的一种设备驱动程序加载方法的流程图。该发明实施例的执行主体为终端,该终端包括内核空间、用户空间和文件管理器,参见图1,该方法包括:
101、当嵌入式设备连接至该终端时,该内核空间发起设备连接事件。
102、该用户空间监听到该设备连接事件,并确定未加载该嵌入式设备的设备驱动程序时,向该文件管理器发送获取消息,该获取消息用于指示获取该嵌入式设备的设备驱动程序。
103、该文件管理器接收到该获取消息时,从存储设备获取该设备驱动程序,返回给该用户空间,该存储设备用于存储至少一个设备驱动程序。
104、该用户空间和该内核空间从该文件管理器加载该设备驱动程序。
本发明实施例提供的方法,通过在存储设备中存储至少一个设备驱动程序,当该终端已连接嵌入式设备,但还未加载该嵌入式设备的设备驱动程序时,可以由文件管理器从存储设备中获取该设备驱动程序,从而完成加载过程,摆脱了该终端只能加载已获取到的设备驱动程序的限制,提高了灵活性。
图2是本发明实施例提供的一种设备驱动程序加载方法的流程图。该发明实施例的执行主体为终端,该终端包括内核空间、用户空间和文件管理器,该内核空间运行设备服务进程,该用户空间运行设备管理器和udevd进程,参见图2,该方法包括:
201、当嵌入式设备连接至该终端时,该内核空间启动设备服务进程,通过该设备服务进程,发起设备连接事件。
其中,该终端可以为计算机等固定终端,也可以为手机、平板电脑等移动终端,该嵌入式设备可以为游戏手柄、蓝牙耳机、USB(Universal Serial Bus,通用串行总线)鼠标、优盘等,本发明实施例对该终端和该嵌入式设备均不做限定。该终端配置有接口,该嵌入式设备可以通过该接口,与该终端连接。该接口可以为USB接口或者其他类型的接口等,本发明实施例对此也不做限定。
当该嵌入式设备连接至该终端时,该终端需要加载该嵌入式设备的设备驱动程序,才能与该嵌入式设备进行数据交互。首先,当该嵌入式设备连接至该终端时,产生中断,该终端的内核空间会加载平台设备,并启动设备服务进程,通过该设备服务进程发起设备连接事件,该设备连接事件用于指示该终端连接了一个嵌入式设备。
其中,平台设备是该内核空间中的一种设备类型,而设备驱动程序即为一种平台设备,该内核空间加载平台设备之后,方可加载设备驱动程序。
202、该用户空间监听到该设备连接事件,通过该设备管理器,确定未加载该嵌入式设备的设备驱动程序,向该内核空间返回未加载该嵌入式设备的设备驱动程序的通知消息。
具体地,该用户空间监听到该设备连接事件时,确定该终端已连接嵌入式设,则通过该设备管理器,遍历已加载的设备驱动程序,判断遍历到的设备驱动程序是否与该嵌入式设备匹配,当确定遍历到的所有设备驱动程序与该嵌入式设备均不匹配时,可以确定未加载该嵌入式设备的设备驱动程序,此时,该设备管理器向该内核空间返回未加载该嵌入式设备的设备驱动程序的通知消息。
在另一实施例中,当确定遍历到的某一设备驱动程序与该嵌入式设备匹配时,可以确定已加载该嵌入式设备的设备驱动程序,此时,该设备管理器可以向该内核空间返回已加载该嵌入式设备的设备驱动程序的通知消息。
其中,该设备管理器(Udev)运行于用户空间中,能够根据系统中的硬件设备的状况动态地管理设备文件,包括设备文件的创建、删除等,设备文件通常存储于/dev目录下。实际上,该设备管理器以守护进程的形式运行,只为连接到该终端操作系统的设备创建设备文件,创建时会按照一定的规则创建与该设备的属性匹配的设备文件,该属性可以包括厂商名称、型号、序列号等,并且,该设备管理器会通过侦听内核空间发出来的事件来管理/dev目录下的设备文件,以此添加或者删除/dev目录下的设备文件。
203、该内核空间接收到该通知消息时,向该用户空间发送获取设备驱动程序的事件。
在另一实施例中,当该内核空间接收到未加载该嵌入式设备的设备驱动程序的通知消息时,确定当前已记载该嵌入式设备的设备驱动程序,则无需再获取该设备驱动程序,直接执行下述步骤206即可。
204、该用户空间接收到该获取设备驱动程序的事件时,通过该udevd进程,向该文件管理器发送获取消息。
该udevd进程是一种后台服务进程,以守护进程的形式在用户空间中运行。
该获取设备驱动程序的事件用于指示该用户空间获取该嵌入式设备的设备驱动程序,该用户空间接收到该事件后,该udevd进程解析该事件,确定该事件为获取设备驱动程序的事件时,向该文件管理器发送获取消息,从而指示该文件管理器获取该设备驱动程序。
205、该文件管理器接收到该获取消息时,采用下载或拷贝的方式,从存储设备获取该设备驱动程序,返回给该用户空间。
该存储设备用于存储至少一个设备驱动程序,当该终端未加载该设备驱动程序时,可以从该存储设备获取设备驱动程序。
具体地,该存储设备可以为存储服务器或者任一云服务器等,该终端与该存储设备建立网络连接,该文件管理器通过已建立的网络连接,从存储设备中下载该设备驱动程序。或者,该存储设备可以为优盘等存储设备,该存储设备连接至该终端,该文件管理器从已连接至该终端的存储设备中,拷贝该设备驱动程序。之后,该文件管理器将获取到的设备驱动程序返回给该用户空间。
206、该用户空间显示活动窗口,获取用户在该活动窗口中输入的该嵌入式设备的相关参数,调用该活动窗口,获取该相关参数,并基于该相关参数从该文件管理器加载该设备驱动程序。
该用户空间可以创建一个活动窗口,并显示该活动窗口,在该活动窗口中提供该设备驱动程序,当用户点击该设备驱动程序时,可以输入该嵌入式设备的相关参数,如VendorID(厂商标识)、SubVendorID(子厂商标识)、DeviceID(设备标识)等。该用户空间可以调用该活动窗口,获取到该相关参数,并基于该相关参数从该文件管理器加载相应的设备驱动程序。
207、该内核空间注册该设备驱动程序,并在确定该设备驱动程序与该嵌入式设备匹配的情况下,注册该嵌入式设备,向该用户空间发送加载成功事件。
该内核空间注册该嵌入式设备时,为该嵌入式设备创建设备文件,如设备类demo_class和设备demo_dev等。
需要说明的是,该终端可以包括文件系统,该文件系统可以用于对系统的设备进行管理,将连接到系统上的设备组织成文件,每个设备在文件系统中具有唯一对应的目录,该用户空间可以对目标下的设备文件进行读写,从而利用这些设备文件实现与内核空间的交互。该设备管理器的工作依赖于该文件系统的功能,可以根据文件系统中导出的设备信息,动态地建立或删除设备文件。
其中,该终端的操作系统为Linux操作系统时,该文件系统可以为sysfs文件系统。
208、该用户空间接收到该加载成功事件时,创建与该嵌入式设备匹配的设备节点,此时加载过程完成,该终端可以与该嵌入式设备进行数据交互。
该加载成功事件中携带该嵌入式设备的相关参数,该用户空间可以根据该相关参数创建相应的设备节点,创建设备节点完成表示该设备驱动程序加载完毕。
本发明实施例提供的方法,通过在存储设备中存储至少一个设备驱动程序,当该终端已连接嵌入式设备,但还未加载该嵌入式设备的设备驱动程序时,可以由文件管理器从存储设备中获取该设备驱动程序,从而完成加载过程,摆脱了该终端只能加载已获取到的设备驱动程序的限制,提高了灵活性。
而且,本发明实施例采用动态加载的方式,仅在嵌入式设备连接至该终端时才加载该嵌入式设备的设备驱动程序,而且不会将设备驱动程序编译到内核空间中,避免了占用内核空间的容量,节省了存储空间。
图3是本发明实施例提供的一种终端的结构示意图,参见图3,该终端包括:内核空间301、用户空间302和文件管理器303;
该内核空间301,用于当嵌入式设备连接至该终端时,发起设备连接事件;
该用户空间302,用于监听到该设备连接事件,并确定未加载该嵌入式设备的设备驱动程序时,向该文件管理器发送获取消息,该获取消息用于指示获取该嵌入式设备的设备驱动程序;
该文件管理器303,用于接收到该获取消息时,从存储设备获取该设备驱动程序,返回给该用户空间,该存储设备用于存储至少一个设备驱动程序;
该用户空间302和该内核空间301,还用于从该存储设备加载该设备驱动程序。
可选地,该内核空间301还用于当该嵌入式设备连接至该终端时,启动设备服务进程;通过该设备服务进程,发起该设备连接事件。
可选地,该用户空间302运行设备管理器和udevd进程,该用户空间302还用于监听到该设备连接事件,通过该设备管理器,遍历已加载的设备驱动程序,判断遍历到的设备驱动程序是否与该嵌入式设备匹配;当确定遍历到的所有设备驱动程序与该嵌入式设备均不匹配时,该设备管理器向该内核空间301返回未加载该嵌入式设备的设备驱动程序的通知消息;
该内核空间301还用于接收到该通知消息时,向该用户空间302发送获取设备驱动程序的事件;
该用户空间302,还用于通过该udevd进程,向该文件管理器303发送该获取消息。
可选地,该文件管理器303还用于通过已建立的网络连接,从该存储设备中下载该设备驱动程序;或者,从已连接至该终端的存储设备中,拷贝该设备驱动程序。
可选地,该用户空间302还用于显示活动窗口,获取用户在该活动窗口中输入的该嵌入式设备的相关参数;调用该活动窗口获取该相关参数,并基于该相关参数从该文件管理器303加载该设备驱动程序;
该内核空间301还用于注册该设备驱动程序,并在确定该设备驱动程序与该嵌入式设备匹配的情况下,注册该嵌入式设备;向该用户空间302发送加载成功事件;
该用户空间302还用于接收到该加载成功事件时,创建与该嵌入式设备匹配的设备节点。
需要说明的是:上述实施例提供的终端在加载设备驱动程序时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将终端的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的终端与设备驱动程序加载方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本实施例提供了一种终端,该终端可以用于执行上述各个实施例中提供的设备驱动程序加载方法。参见图4,该终端400包括:
终端400可以包括RF(Radio Frequency,射频)电路110、包括有一个或一个以上计算机可读存储介质的存储器120、输入单元130、显示单元140、传感器150、音频电路160、WiFi(Wireless Fidelity,无线保真)模块170、包括有一个或者一个以上处理核心的处理器180、以及电源190等部件。本领域技术人员可以理解,图4中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
RF电路110可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器180处理;另外,将涉及上行的数据发送给基站。通常,RF电路110包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM)卡、收发信机、耦合器、LNA(Low Noise Amplifier,低噪声放大器)、双工器等。此外,RF电路110还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于GSM(Global System of Mobile communication,全球移动通讯系统)、GPRS(General Packet Radio Service,通用分组无线服务)、CDMA(CodeDivision Multiple Access,码分多址)、WCDMA(Wideband Code Division MultipleAccess,宽带码分多址)、LTE(Long Term Evolution,长期演进)、电子邮件、SMS(ShortMessaging Service,短消息服务)等。
存储器120可用于存储软件程序以及模块,处理器180通过运行存储在存储器120的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器120可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端400的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器120还可以包括存储器控制器,以提供处理器180和输入单元130对存储器120的访问。
输入单元130可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,输入单元130可包括触敏表面131以及其他输入设备132。触敏表面131,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面131上或在触敏表面131附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面131可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器180,并能接收处理器180发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面131。除了触敏表面131,输入单元130还可以包括其他输入设备132。具体地,其他输入设备132可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元140可用于显示由用户输入的信息或提供给用户的信息以及终端400的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元140可包括显示面板141,可选的,可以采用LCD(Liquid Crystal Display,液晶显示器)、OLED(Organic Light-Emitting Diode,有机发光二极管)等形式来配置显示面板141。进一步的,触敏表面131可覆盖显示面板141,当触敏表面131检测到在其上或附近的触摸操作后,传送给处理器180以确定触摸事件的类型,随后处理器180根据触摸事件的类型在显示面板141上提供相应的视觉输出。虽然在图4中,触敏表面131与显示面板141是作为两个独立的部件来实现输入和输入功能,但是在某些实施例中,可以将触敏表面131与显示面板141集成而实现输入和输出功能。
终端400还可包括至少一种传感器150,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板141的亮度,接近传感器可在终端400移动到耳边时,关闭显示面板141和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于终端400还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路160、扬声器161,传声器162可提供用户与终端400之间的音频接口。音频电路160可将接收到的音频数据转换后的电信号,传输到扬声器161,由扬声器161转换为声音信号输出;另一方面,传声器162将收集的声音信号转换为电信号,由音频电路160接收后转换为音频数据,再将音频数据输出处理器180处理后,经RF电路110以发送给比如另一终端,或者将音频数据输出至存储器120以便进一步处理。音频电路160还可能包括耳塞插孔,以提供外设耳机与终端400的通信。
WiFi属于短距离无线传输技术,终端400通过WiFi模块170可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图4示出了WiFi模块170,但是可以理解的是,其并不属于终端400的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器180是终端400的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器120内的软件程序和/或模块,以及调用存储在存储器120内的数据,执行终端400的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器180可包括一个或多个处理核心;优选的,处理器180可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器180中。
终端400还包括给各个部件供电的电源190(比如电池),优选的,电源可以通过电源管理系统与处理器180逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源190还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管未示出,终端400还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,终端的显示单元是触摸屏显示器,终端还包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行。所述一个或者一个以上程序包含用于执行上述设备驱动程序加载方法的指令。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (5)
1.一种设备驱动程序加载方法,其特征在于,应用于终端中,所述终端包括内核空间、用户空间和文件管理器,所述用户空间运行设备管理器和udevd进程,所述设备管理器用于根据系统中的硬件设备的状况动态管理设备文件,所述方法包括:
当嵌入式设备连接至所述终端时,所述内核空间加载平台设备,并启动设备服务进程,通过所述设备服务进程发起设备连接事件,所述设备连接事件用于指示所述终端连接了一个嵌入式设备;
所述用户空间监听到所述设备连接事件,通过所述设备管理器,遍历已加载的设备驱动程序,判断遍历到的设备驱动程序是否与所述嵌入式设备匹配;当确定遍历到的所有设备驱动程序与所述嵌入式设备均不匹配时,所述设备管理器向所述内核空间返回未加载所述嵌入式设备的设备驱动程序的通知消息;所述内核空间接收到所述通知消息时,向所述用户空间发送获取设备驱动程序的事件;所述用户空间在通过所述udevd进程确定接收到所述获取设备驱动程序的事件时,向所述文件管理器发送获取消息,所述获取消息用于指示获取所述嵌入式设备的设备驱动程序;
所述文件管理器接收到所述获取消息时,从存储设备获取所述设备驱动程序,返回给所述用户空间,所述存储设备用于存储至少一个设备驱动程序;
所述用户空间创建并显示活动窗口,获取用户在所述活动窗口中输入的所述嵌入式设备的相关参数;所述用户空间调用所述活动窗口获取所述相关参数,并基于所述相关参数从所述文件管理器加载所述设备驱动程序;所述内核空间注册所述设备驱动程序,并在确定所述设备驱动程序与所述嵌入式设备匹配的情况下,注册所述嵌入式设备;所述内核空间向所述用户空间发送加载成功事件,所述用户空间接收到所述加载成功事件时,根据所述相关参数创建与所述嵌入式设备匹配的设备节点,以指示所述设备驱动程序加载完成。
2.根据权利要求1所述的方法,其特征在于,所述文件管理器接收到所述获取消息时,从存储设备获取所述设备驱动程序,包括:
所述文件管理器通过已建立的网络连接,从所述存储设备中下载所述设备驱动程序;或者,
所述文件管理器从已连接至所述终端的存储设备中,拷贝所述设备驱动程序。
3.一种终端,其特征在于,所述终端包括内核空间、用户空间和文件管理器,所述用户空间运行设备管理器和udevd进程,所述设备管理器用于根据系统中的硬件设备的状况动态管理设备文件;
所述内核空间,用于当嵌入式设备连接至所述终端时,加载平台设备,并启动设备服务进程,通过所述设备服务进程发起设备连接事件,所述设备连接事件用于指示所述终端连接了一个嵌入式设备;
所述用户空间,用于监听到所述设备连接事件,通过所述设备管理器,遍历已加载的设备驱动程序,判断遍历到的设备驱动程序是否与所述嵌入式设备匹配;当确定遍历到的所有设备驱动程序与所述嵌入式设备均不匹配时,所述设备管理器向所述内核空间返回未加载所述嵌入式设备的设备驱动程序的通知消息;
所述内核空间还用于接收到所述通知消息时,向所述用户空间发送获取设备驱动程序的事件;
所述用户空间,还用于在通过所述udevd进程确定接收到所述获取设备驱动程序的事件时,向所述文件管理器发送获取消息,所述获取消息用于指示获取所述嵌入式设备的设备驱动程序;
所述文件管理器,用于接收到所述获取消息时,从存储设备获取所述设备驱动程序,返回给所述用户空间,所述存储设备用于存储至少一个设备驱动程序;
所述用户空间还用于创建并显示活动窗口,获取用户在所述活动窗口中输入的所述嵌入式设备的相关参数;调用所述活动窗口获取所述相关参数,并基于所述相关参数从所述文件管理器加载所述设备驱动程序;
所述内核空间还用于注册所述设备驱动程序,并在确定所述设备驱动程序与所述嵌入式设备匹配的情况下,注册所述嵌入式设备;向所述用户空间发送加载成功事件;
所述用户空间还用于接收到所述加载成功事件时,根据所述相关参数创建与所述嵌入式设备匹配的设备节点,以指示所述设备驱动程序加载完成。
4.根据权利要求3所述的终端,其特征在于,所述文件管理器还用于通过已建立的网络连接,从所述存储设备中下载所述设备驱动程序;或者,从已连接至所述终端的存储设备中,拷贝所述设备驱动程序。
5.一种设备驱动程序加载系统,其特征在于,所述系统包括嵌入式设备、终端和存储设备,所述终端包括内核空间、用户空间和文件管理器,所述用户空间运行设备管理器和udevd进程,所述设备管理器用于根据系统中的硬件设备的状况动态管理设备文件;
所述内核空间,用于当嵌入式设备连接至所述终端时,加载平台设备,并启动设备服务进程,通过所述设备服务进程发起设备连接事件,所述设备连接事件用于指示所述终端连接了一个嵌入式设备;
所述用户空间,用于监听到所述设备连接事件,通过所述设备管理器,遍历已加载的设备驱动程序,判断遍历到的设备驱动程序是否与所述嵌入式设备匹配;当确定遍历到的所有设备驱动程序与所述嵌入式设备均不匹配时,所述设备管理器向所述内核空间返回未加载所述嵌入式设备的设备驱动程序的通知消息;
所述内核空间还用于接收到所述通知消息时,向所述用户空间发送获取设备驱动程序的事件;
所述用户空间,还用于在通过所述udevd进程确定接收到所述获取设备驱动程序的事件时,向所述文件管理器发送获取消息,所述获取消息用于指示获取所述嵌入式设备的设备驱动程序;
所述文件管理器,用于接收到所述获取消息时,从所述存储设备获取所述设备驱动程序,返回给所述用户空间,所述存储设备用于存储至少一个设备驱动程序;
所述用户空间还用于创建并显示活动窗口,获取用户在所述活动窗口中输入的所述嵌入式设备的相关参数;调用所述活动窗口获取所述相关参数,并基于所述相关参数从所述文件管理器加载所述设备驱动程序;
所述内核空间还用于注册所述设备驱动程序,并在确定所述设备驱动程序与所述嵌入式设备匹配的情况下,注册所述嵌入式设备;向所述用户空间发送加载成功事件;
所述用户空间还用于接收到所述加载成功事件时,根据所述相关参数创建与所述嵌入式设备匹配的设备节点,以指示所述设备驱动程序加载完成。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611064770.8A CN106775833B (zh) | 2016-11-28 | 2016-11-28 | 设备驱动程序加载方法、终端及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611064770.8A CN106775833B (zh) | 2016-11-28 | 2016-11-28 | 设备驱动程序加载方法、终端及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106775833A CN106775833A (zh) | 2017-05-31 |
CN106775833B true CN106775833B (zh) | 2021-03-16 |
Family
ID=58902136
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611064770.8A Active CN106775833B (zh) | 2016-11-28 | 2016-11-28 | 设备驱动程序加载方法、终端及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106775833B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107577421A (zh) * | 2017-07-31 | 2018-01-12 | 深圳市牛鼎丰科技有限公司 | 智能设备扩容方法、装置、存储介质和计算机设备 |
CN109753347B (zh) * | 2017-11-06 | 2023-03-21 | 阿里巴巴集团控股有限公司 | 一种实现驱动的系统及方法 |
CN109947482B (zh) * | 2017-12-21 | 2022-07-29 | 深圳Tcl新技术有限公司 | 一种usb设备的加载方法、存储介质及智能电视 |
CN109491983B (zh) * | 2018-11-01 | 2021-08-31 | 郑州云海信息技术有限公司 | 一种数据信息的管理方法、装置和计算机可读存储介质 |
CN111459554A (zh) * | 2020-03-05 | 2020-07-28 | 北京安码科技有限公司 | windows驱动程序加载方法、系统、电子设备及存储介质 |
CN112256335B (zh) * | 2020-09-25 | 2023-06-27 | 宇龙计算机通信科技(深圳)有限公司 | 驱动文件的加载方法、装置、存储介质及电子设备 |
CN112684914B (zh) * | 2020-12-31 | 2021-11-19 | 深圳雷柏科技股份有限公司 | 基于内核驱动实现键鼠功能修改的方法及相关设备 |
CN113515315A (zh) * | 2021-07-01 | 2021-10-19 | 深圳创维-Rgb电子有限公司 | Wifi芯片驱动程序加载方法、装置、设备及存储介质 |
CN113791824B (zh) * | 2021-08-10 | 2023-09-15 | 浪潮金融信息技术有限公司 | 一种终端设备的外设驱动加载方法、系统及介质 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1964526A (zh) * | 2005-11-09 | 2007-05-16 | 中兴通讯股份有限公司 | 一种智能加载手机硬件驱动程序的方法 |
CN101917350A (zh) * | 2010-09-13 | 2010-12-15 | 南京中兴特种软件有限责任公司 | 一种Linux下基于网卡驱动的零拷贝以太网报文捕获及发送的实现方法 |
CN102081679A (zh) * | 2011-01-24 | 2011-06-01 | 深圳市共济科技有限公司 | 一种计算机性能数据的采集方法及采集装置 |
CN102316442A (zh) * | 2011-09-14 | 2012-01-11 | 京信通信系统(中国)有限公司 | Rru设备智能启动方法及其装置、射频拉远系统 |
CN102436387A (zh) * | 2010-12-06 | 2012-05-02 | 微软公司 | 快速计算机启动 |
CN103279370A (zh) * | 2013-05-15 | 2013-09-04 | 腾讯科技(深圳)有限公司 | 一种数据处理的方法、终端、服务器及系统 |
CN103309704A (zh) * | 2013-05-09 | 2013-09-18 | 苏州泽佑科技有限公司 | 一种安卓驱动程序加载方法 |
CN103823771A (zh) * | 2014-03-04 | 2014-05-28 | 飞天诚信科技股份有限公司 | 一种远程通信方法和系统 |
CN103902338A (zh) * | 2014-03-21 | 2014-07-02 | 珠海市君天电子科技有限公司 | 一种驱动加载及处理方法、客户端、服务器及系统 |
CN103942078A (zh) * | 2014-04-30 | 2014-07-23 | 华为技术有限公司 | 一种加载驱动程序的方法及嵌入式设备 |
CN105487933A (zh) * | 2015-11-24 | 2016-04-13 | 无锡江南计算技术研究所 | 一种基于核间异步消息队列与共享内存的域间通信方法 |
CN105786805A (zh) * | 2014-12-15 | 2016-07-20 | 乐视移动智能信息技术(北京)有限公司 | 智能移动终端、文件管理器及其文件夹显示方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101561855B (zh) * | 2009-05-27 | 2011-05-18 | 北京飞天诚信科技有限公司 | 一种计算机对usb设备进行访问的控制方法和系统 |
CN103019751A (zh) * | 2011-09-20 | 2013-04-03 | 奇智软件(北京)有限公司 | 一种插入设备匹配及维护方法 |
CN102662685B (zh) * | 2012-03-06 | 2015-08-12 | 中兴通讯股份有限公司 | 终端设备的驱动安装方法及装置 |
CN104516749B (zh) * | 2013-09-27 | 2018-02-27 | 联想(北京)有限公司 | 一种信息处理方法及电子设备 |
-
2016
- 2016-11-28 CN CN201611064770.8A patent/CN106775833B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1964526A (zh) * | 2005-11-09 | 2007-05-16 | 中兴通讯股份有限公司 | 一种智能加载手机硬件驱动程序的方法 |
CN101917350A (zh) * | 2010-09-13 | 2010-12-15 | 南京中兴特种软件有限责任公司 | 一种Linux下基于网卡驱动的零拷贝以太网报文捕获及发送的实现方法 |
CN102436387A (zh) * | 2010-12-06 | 2012-05-02 | 微软公司 | 快速计算机启动 |
CN102081679A (zh) * | 2011-01-24 | 2011-06-01 | 深圳市共济科技有限公司 | 一种计算机性能数据的采集方法及采集装置 |
CN102316442A (zh) * | 2011-09-14 | 2012-01-11 | 京信通信系统(中国)有限公司 | Rru设备智能启动方法及其装置、射频拉远系统 |
CN103309704A (zh) * | 2013-05-09 | 2013-09-18 | 苏州泽佑科技有限公司 | 一种安卓驱动程序加载方法 |
CN103279370A (zh) * | 2013-05-15 | 2013-09-04 | 腾讯科技(深圳)有限公司 | 一种数据处理的方法、终端、服务器及系统 |
CN103823771A (zh) * | 2014-03-04 | 2014-05-28 | 飞天诚信科技股份有限公司 | 一种远程通信方法和系统 |
CN103902338A (zh) * | 2014-03-21 | 2014-07-02 | 珠海市君天电子科技有限公司 | 一种驱动加载及处理方法、客户端、服务器及系统 |
CN103942078A (zh) * | 2014-04-30 | 2014-07-23 | 华为技术有限公司 | 一种加载驱动程序的方法及嵌入式设备 |
CN105786805A (zh) * | 2014-12-15 | 2016-07-20 | 乐视移动智能信息技术(北京)有限公司 | 智能移动终端、文件管理器及其文件夹显示方法 |
CN105487933A (zh) * | 2015-11-24 | 2016-04-13 | 无锡江南计算技术研究所 | 一种基于核间异步消息队列与共享内存的域间通信方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106775833A (zh) | 2017-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106775833B (zh) | 设备驱动程序加载方法、终端及系统 | |
US10635449B2 (en) | Method and apparatus for running game client | |
CN104518953B (zh) | 删除消息的方法、即时通信终端及系统 | |
CN106371964B (zh) | 一种进行消息提示的方法和装置 | |
CN106294168B (zh) | 一种进行应用程序测试的方法和系统 | |
CN106919458B (zh) | Hook目标内核函数的方法及装置 | |
CN110780940A (zh) | 应用程序加载方法、电子设备和存储介质 | |
CN108804915B (zh) | 病毒程序清理方法、存储设备及电子终端 | |
CN104901992B (zh) | 一种资源转移的方法和装置 | |
CN106095423B (zh) | 提供浏览服务的方法、终端及服务器 | |
CN106682189B (zh) | 文件名显示方法及装置 | |
CN107104930A (zh) | 一种设置查看权限的方法、装置和系统 | |
CN109688611B (zh) | 一种频段参数的配置方法、装置、终端和存储介质 | |
CN105278942B (zh) | 组件管理方法及装置 | |
CN107423050A (zh) | 一种穿透操作的方法和装置 | |
WO2015154700A1 (en) | Method and apparatus for repairing dynamic link library file | |
CN106528231B (zh) | 一种启动应用程序的方法和装置 | |
CN107766351B (zh) | 文件目录的识别方法及装置 | |
CN107463395B (zh) | 组件调用方法及装置 | |
CN105159655B (zh) | 行为事件的播放方法和装置 | |
CN107122204B (zh) | 应用的卸载状态检测方法及装置 | |
CN110891262A (zh) | 一种蓝牙配对的方法、系统和终端设备 | |
CN106933626B (zh) | 应用关联方法及装置 | |
CN115065609A (zh) | B端SaaS系统混合部署方法及系统 | |
CN108280798B (zh) | 一种浏览器内核渲染显示的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder | ||
CP01 | Change in the name or title of a patent holder |
Address after: 266071 Shandong city of Qingdao province Jiangxi City Road No. 11 Patentee after: Qingdao Hisense Mobile Communication Technology Co.,Ltd. Address before: 266071 Shandong city of Qingdao province Jiangxi City Road No. 11 Patentee before: HISENSE MOBILE COMMUNICATIONS TECHNOLOGY Co.,Ltd. |