CN107368342B - 驱动硬件扩展模块的方法、装置及终端设备 - Google Patents

驱动硬件扩展模块的方法、装置及终端设备 Download PDF

Info

Publication number
CN107368342B
CN107368342B CN201710680940.3A CN201710680940A CN107368342B CN 107368342 B CN107368342 B CN 107368342B CN 201710680940 A CN201710680940 A CN 201710680940A CN 107368342 B CN107368342 B CN 107368342B
Authority
CN
China
Prior art keywords
extension module
software program
hardware
hardware extension
module
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
Application number
CN201710680940.3A
Other languages
English (en)
Other versions
CN107368342A (zh
Inventor
李翔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yuanxin Information Technology Group Co ltd
Original Assignee
Yuanxin Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Yuanxin Technology filed Critical Yuanxin Technology
Priority to CN201710680940.3A priority Critical patent/CN107368342B/zh
Publication of CN107368342A publication Critical patent/CN107368342A/zh
Application granted granted Critical
Publication of CN107368342B publication Critical patent/CN107368342B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs

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)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Stored Programmes (AREA)

Abstract

本发明实施例提供了一种驱动硬件扩展模块的方法、装置及终端设备,其中,一种驱动硬件扩展模块的方法包括:在检测到与硬件扩展模块建立连接时,通过预设方式获取所述硬件扩展模块中存储的软件程序;其中,所述软件程序包括所述硬件扩展模块的驱动程序及应用程序;校验所述软件程序是否满足预设条件;如果所述软件程序满足预设条件,则加载所述软件程序以驱动所述硬件扩展模块。本发明实施例所提供的方法,在加载软件程序的过程中,自动将硬件扩展模块驱动起来,既省去用户预先安装硬件扩展模块的驱动程序的繁琐过程,又避免驱动程序占用终端设备大量存储空间,而且实现了硬件扩展模块的即插即用,使得终端设备具有良好的可扩展性、可伸缩性。

Description

驱动硬件扩展模块的方法、装置及终端设备
技术领域
本发明涉及硬件扩展技术领域,具体而言,本发明涉及一种驱动硬件扩展模块的方法、装置及终端设备。
背景技术
随着计算机的不断发展及电子技术应用领域的不断拓宽,用户对各种智能电子产品的要求也越来越高,针对不同应用的特殊要求也越来越多,因而不论是PC(personalcomputer,个人计算机)还是嵌入式系统都出现了越来越多的硬件扩展模块。
对于PC来说,扩展模块的加载通常是在终端设备上安装驱动程序和应用程序,其中,可以选择预装程序、手动安装、自动联网下载等方式,安装驱动程序和应用程序,但是,这种加载方式的问题在于扩展性不好,不便于即插即用;对于嵌入式来说,由于嵌入式设备系统更加封闭,因而扩展模块的加载相对更复杂一些,需要终端设备厂商的协助,否则基本无法产品化,因此在嵌入式设备上,扩展模块更加难以开发,导致嵌入式设备不具有良好的可用性、可伸缩性、可扩展性等特点。
发明内容
为克服上述技术问题或至少部分地解决上述技术问题,特提出以下技术方案:
本发明的实施例提供了一种驱动硬件扩展模块的方法,包括:
在检测到与硬件扩展模块建立连接时,通过预设方式获取所述硬件扩展模块中存储的软件程序;其中,所述软件程序包括所述硬件扩展模块的驱动程序及应用程序;
校验所述软件程序是否满足预设条件;
如果所述软件程序满足预设条件,则加载所述软件程序以驱动所述硬件扩展模块。
优选地,所述预设条件包括完整性与合法性;
所述校验所述软件程序是否满足预设条件的步骤,具体包括:
基于第一校验方式校验所述软件程序是否完整;及,
基于第二校验方式校验所述软件程序的是否合法;
其中,所述第一校验方式包括以下任一项:CRC32值;哈希值;MD5值;
所述第二校验方式包括以下任一项:数字证书;数字签名;电子签名。
优选地,加载所述软件程序以驱动所述硬件扩展模块的步骤,包括:
将所述软件程序加载到用户空间;
基于内核提供的预设接口,检验是否存在与所述驱动程序相匹配的所述硬件扩展模块接入;
如果存在,则将硬件扩展模块寄存器地址映射到驱动程序的进程空间中,并运行所述驱动程序的初始化程序以驱动所述硬件扩展模块。
优选地,所述通过预设方式获取所述硬件扩展模块中存储的软件程序的步骤,包括:
通过相应的物理接口获取所述硬件扩展模块中存储的软件程序;或者,
通过无线传输方式获取所述硬件扩展模块中存储的软件程序;
其中,所述无线传输方式包括以下任一项:Wifi;蓝牙;ZigBee。
优选地,所述通过相应的物理接口获取所述硬件扩展模块中存储的软件程序的步骤,具体包括:
通过与所述硬件扩展模块之间的第一预设通讯接口,获取所述硬件扩展模块的存储区域中存储的软件程序。
优选地,所述存储区域通过第三预设通讯接口与所述硬件扩展模块的其他部分仅结构相连。
优选地,驱动所述硬件扩展模块的步骤,具体包括:
通过与所述硬件扩展模块之间的第二预设通讯接口,驱动所述硬件扩展模块。
本发明的又一实施例提供了一种驱动硬件扩展模块的装置,包括:
获取模块,用于在检测到与硬件扩展模块建立连接时,通过预设方式获取所述硬件扩展模块中存储的软件程序;其中,所述软件程序包括应用程序及所述硬件扩展模块的驱动程序;
校验模块,用于校验所述软件程序是否满足预设条件;
驱动模块,用于当所述软件程序满足预设条件时,加载所述软件程序以驱动所述硬件扩展模块。
优选地,所述预设条件包括完整性与合法性;所述校验模块具体包括:第一校验子模块与第二校验子模块;
所述第一校验子模块,用于基于第一校验方式校验所述软件程序是否完整;
所述第二校验子模块,用于基于第二校验方式校验所述软件程序的是否合法;
其中,所述第一校验方式包括以下任一项:CRC32值;哈希值;MD5值;
所述第二校验方式包括以下任一项:数字证书;数字签名;电子签名。
优选地,所述驱动模块包括:加载子模块、检验子模块与初始化子模块;
所述加载子模块,用于将所述软件程序加载到用户空间;
所述检验子模块,用于基于内核提供的预设接口,检验是否存在与所述驱动程序相匹配的所述硬件扩展模块接入;
初始化子模块,用于当存在与所述驱动程序相匹配的所述硬件扩展模接入时,将硬件扩展模块寄存器地址映射到驱动程序的进程空间中,并运行所述驱动程序的初始化程序以驱动所述硬件扩展模块。
优选地,所述获取模块用于通过相应的物理接口获取所述硬件扩展模块中存储的软件程序;或者,
通过无线传输方式获取所述硬件扩展模块中存储的软件程序;
其中,所述无线传输方式包括以下任一项:Wifi;蓝牙;ZigBee。
优选地,当所述获取模块通过相应的物理接口获取所述硬件扩展模块中存储的软件程序时,所述获取模块具体用于通过与所述硬件扩展模块之间的第一预设通讯接口,获取所述硬件扩展模块的存储区域中存储的软件程序。
优选地,所述存储区域通过第三预设通讯接口与所述硬件扩展模块的其他部分仅结构相连。
优选地,当所述获取模块通过相应的物理接口获取所述硬件扩展模块中存储的软件程序时,所述驱动模块用于当所述软件程序满足预设条件时,通过与所述硬件扩展模块之间的第二预设通讯接口,加载所述软件程序以驱动所述硬件扩展模块。
本发明的另一实施例提供了一种终端设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现上述驱动硬件扩展模块的方法。
本发明实施例提供了一种驱动硬件扩展模块的方法,与现有技术相比,在检测到与硬件扩展模块建立连接时,通过预设方式获取硬件扩展模块中存储的软件程序,其中,软件程序包括应用程序及硬件扩展模块的驱动程序,为后续加载软件程序以驱动硬件扩展模块提供了必要的前提保障,通过对获取到的软件程序的校验,确保了加载的软件程序的完整性及合法性,为加载软件程序以驱动硬件扩展模块提供了必要的安全保障;当软件程序校验通过后,通过加载软件程序即可将硬件扩展模块驱动起来,使得用户无需预先在终端设备上安装硬件扩展模块的驱动程序,既省去用户预先安装硬件扩展模块的驱动程序的繁琐过程,又避免了驱动程序占用终端设备大量存储空间,而且实现了硬件扩展模块的自动加载、即插即用,使得终端设备具有良好的可扩展性、可用性及可伸缩性等特点。
本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本发明第一实施例的驱动硬件扩展模块的方法的流程示意图;
图2为本发明第三实施例的驱动硬件扩展模块的装置的基本结构示意图;
图3为本发明第三实施例的驱动硬件扩展模块的装置的详细结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
本技术领域技术人员可以理解,这里所使用的“终端”、“终端设备”既包括无线信号接收器的设备,其仅具备无发射能力的无线信号接收器的设备,又包括接收和发射硬件的设备,其具有能够在双向通信链路上,进行双向通信的接收和发射硬件的设备。这种设备可以包括:蜂窝或其他通信设备,其具有单线路显示器或多线路显示器或没有多线路显示器的蜂窝或其他通信设备;PCS(Personal Communications Service,个人通信系统),其可以组合语音、数据处理、传真和/或数据通信能力;PDA(Personal Digital Assistant,个人数字助理),其可以包括射频接收器、寻呼机、互联网/内联网访问、网络浏览器、记事本、日历和/或GPS(Global Positioning System,全球定位系统)接收器;常规膝上型和/或掌上型计算机或其他设备,其具有和/或包括射频接收器的常规膝上型和/或掌上型计算机或其他设备。这里所使用的“终端”、“终端设备”可以是便携式、可运输、安装在交通工具(航空、海运和/或陆地)中的,或者适合于和/或配置为在本地运行,和/或以分布形式,运行在地球和/或空间的任何其他位置运行。这里所使用的“终端”、“终端设备”还可以是通信终端、上网终端、音乐/视频播放终端,例如可以是PDA、MID(Mobile Internet Device,移动互联网设备)和/或具有音乐/视频播放功能的移动电话,也可以是智能电视、机顶盒等设备。
本发明第一实施例提供了一种驱动硬件扩展模块的方法,如图1所示,该方法包括:
步骤110,在检测到与硬件扩展模块建立连接时,通过预设方式获取硬件扩展模块中存储的软件程序;其中,软件程序包括应用程序及硬件扩展模块的驱动程序。
可选地,通过预设方式获取硬件扩展模块中存储的软件程序的步骤,包括:通过相应的物理接口获取所述硬件扩展模块中存储的软件程序。
可选地,通过相应的物理接口获取硬件扩展模块中存储的软件程序的步骤,具体包括:通过与硬件扩展模块之间的第一预设通讯接口,获取硬件扩展模块的存储区域中存储的软件程序。
可选地,存储区域通过第三预设通讯接口与硬件扩展模块的其他部分仅结构相连。
具体地,预先在终端设备与硬件扩展模块中预留出相应的物理接口,以使得终端设备与硬件扩展模块之间能够通过该物理接口进行信息传输。
进一步地,当终端设备检测到与硬件扩展模块建立连接时,通过与硬件扩展模块之间的相应物理接口的第一预设通讯接口,获取硬件扩展模块的存储区域中存储的软件程序,其中,软件程序包括应用程序及硬件扩展模块的驱动程序,也即硬件扩展模块的驱动程序和应用程序捆绑在一起。其中,一种可行的实现方式为:终端设备通过第一预设通讯接口向硬件扩展模块发送获取软件程序的请求并接收硬件扩展模块返回的携带有软件程序的响应的方式,获取硬件扩展模块的存储区域中存储的软件程序;另一种可行的实现方式为:只要终端设备检测到与硬件扩展模块建立连接,即可通过第一预设通讯接口自动获取到硬件扩展模块的存储区域中存储的软件程序,并不需要向硬件扩展模块发送获取软件程序的请求。
进一步地,保存应用程序和硬件扩展模块的驱动程序的存储区域,通过第三预设通讯接口与硬件扩展模块的其他部分仅结构相连,也就是说,存储区域与硬件扩展模块的其他部分可以为相互独立的两个部分,能够可拆卸的分开,在实际应用中,存储区域通过第三预设通讯接口与硬件扩展模块的其他部分仅结构相连,从而构成硬件扩展模块这个整体。当然,第三预设通讯接口也可以为虚拟的通讯接口,即存储区域与硬件扩展模块的其他部分虽然是相互独立的,但是不可以可拆卸的分开,始终作为一个整体,即硬件扩展模块。
步骤120,校验软件程序是否满足预设条件。
优选地,预设条件包括完整性与合法性;校验软件程序是否满足预设条件的步骤,具体包括:基于第一校验方式校验软件程序是否完整;及,基于第二校验方式校验软件程序的是否合法;其中,第一校验方式包括以下任一项:CRC32值;哈希值;MD5值;第二校验方式包括以下任一项:数字证书;数字签名;电子签名。
具体地,在加载软件程序之前,终端设备系统需要首先校验获取到的软件程序的完整性与合法性,也即校验获取到的应用程序及硬件扩展模块的驱动程序是否完整及是否合法,只有当获取到的软件程序完整且合法时,才会继续下一步操作,以防止软件程序(即应用程序及硬件扩展模块的驱动程序)被恶意破坏或篡改而危及终端设备的安全性。
进一步地,在实际应用中,通常是先校验获取到的应用程序及硬件扩展模块的驱动程序是否完整,然后再进一步校验获取到的应用程序及硬件扩展模块的驱动程序是否合法,其中,校验软件程序是否完整的方式包括但不限于以下几种方式:CRC32值、哈希值、MD5值;校验软件程序是否合法的方式包括但不限于以下几种方式:数字签名、数字证书、电子签名。需要说明的是,根据CRC32值、哈希值、MD5值等方式校验获取到的应用程序及硬件扩展模块的驱动程序是否完整的过程,与现有技术相同,在此不再赘述;根据数字签名、数字证书、电子签名等方式校验获取到的应用程序及硬件扩展模块的驱动程序是否合法的过程,也与现有技术相同,在此不再赘述。
步骤130,如果软件程序满足预设条件,则加载软件程序以驱动硬件扩展模块。
具体地,如果获取到的应用程序及硬件扩展模块的驱动程序完整且合法,则终端设备加载获取到的应用程序及硬件扩展模块的驱动程序,以驱动硬件扩展模块,其中,应用程序及硬件扩展模块的驱动程序绑定在一起,也即终端设备通过加载获取到的应用程序及硬件扩展模块的驱动程序,并在上述运行之后,运行硬件扩展模块的驱动程序的初始化程序,并通过第二预设通讯接口将硬件扩展模块驱动起来。
进一步地,加载软件程序以驱动硬件扩展模块的步骤,包括:将软件程序加载到用户空间;基于内核提供的预设接口,检验是否存在与驱动程序相匹配的所述硬件扩展模块接入;如果存在,则将硬件扩展模块寄存器地址映射到驱动程序的进程空间中,并运行驱动程序的初始化程序以驱动硬件扩展模块,进一步确保硬件扩展模块与终端设备有效连接,避免了硬件扩展模块由于虚连接、连接松动等接触不良原因而无法被驱动起来的情况。
进一步地,通常在从硬件扩展模块获得软件程序之后,需要将软件程序加载到系统中,而且会把驱动程序加载到系统的内核中,但是这样可能会污染内核kernel,即当驱动程序存在问题时,会导致系统不稳定。于是,在本发明实施例中,采用微内核的设计思想,将驱动程序加载到用户空间,而内核空间仅需要向用户空间的驱动程序提供几个接口,例如interrupt接口、mmap接口等,在驱动程序加载到用户空间之后,首先从内核提供的接口检查是否有与驱动程序相匹配的外部设备(即硬件扩展模块)插入,如果有相匹配的外部设备插入,则运行驱动程序的初始化程序,例如将外部设备寄存器的地址mmap到该驱动程序的用户进程空间,配置寄存器,初始化外部接入设备,将该外部设备中断关联到内核提供的interrupt接口上。
需要说明的是,驱动起来硬件扩展模块后,可以与硬件扩展进行数据读取或写入的交互操作,其中,在硬件扩展模块有数据读取的时候,会有中断到达CPU(CentralProcessing Unit,中央处理器),首先内核会通过中断向量表进行处理,如果发现是硬件扩展模块的中断,则直接通过interrupt接口将中断转发到用户空间的驱动程序进程,驱动程序进程收到该中断之后,通过mmap的buffer寄存器读取数据;在硬件扩展模块有数据写入的时候,通过mmap的buffer寄存器写入数据,写完成之后,通过写入控制寄存器,就可以基于DMA(Direct Memory Access,直接内存存取)或者其他方式将数据发送到终端设备。
另外,上述的第一预设通讯接口、第二预设通讯接口及第三预设通讯接口可以为相同的通讯接口,也可以为不同的通讯接口。
本发明实施例提供了一种驱动硬件扩展模块的方法,与现有技术相比,在检测到与硬件扩展模块建立连接时,通过预设方式获取硬件扩展模块中存储的软件程序,其中,软件程序包括应用程序及硬件扩展模块的驱动程序,为后续加载软件程序以驱动硬件扩展模块提供了必要的前提保障,通过对获取到的软件程序的校验,确保了加载的软件程序的完整性及合法性,为加载软件程序以驱动硬件扩展模块提供了必要的安全保障;当软件程序校验通过后,通过加载软件程序即可将硬件扩展模块驱动起来,使得用户无需预先在终端设备上安装硬件扩展模块的驱动程序,既省去用户预先安装硬件扩展模块的驱动程序的繁琐过程,又避免了驱动程序占用终端设备大量存储空间,而且实现了硬件扩展模块的自动加载、即插即用,使得终端设备具有良好的可扩展性、可用性及可伸缩性等特点。另外,通过终端设备与硬件扩展模块之间的相应的物理接口,不仅可以实现更加稳定快速地信息传输,为更加稳定快速地获取硬件扩展模块中存储的软件程序并将硬件扩展模块驱动起来提供了必要的前提保障,而且,终端设备只需要预留出连接硬件扩展模块的相应物理接口即可,使得终端设备系统既可以做到系统封闭又可以具有良好的可扩展性。
本发明第二实施例提供了一种驱动硬件扩展模块的方法,具体流程如图1所示,本发明第二实施例与本发明第一实施例大致相同,主要区别在于:在第一实施例中通过相应的物理接口获取硬件扩展模块中存储的软件程序;而在本发明第二实施例中,通过无线传输方式获取硬件扩展模块中存储的软件程序,下面对第二实施进行详细介绍。
步骤110,在检测到与硬件扩展模块建立连接时,通过预设方式获取硬件扩展模块中存储的软件程序;其中,软件程序包括应用程序及硬件扩展模块的驱动程序。
优选地,通过预设方式获取硬件扩展模块中存储的软件程序的步骤,包括:通过无线传输方式获取所述硬件扩展模块中存储的软件程序;其中,无线连接方式包括以下任一项:Wifi;蓝牙;ZigBee。
具体地,可以预先在终端设备与硬件扩展模块中均预留无线传输模块,例如Wifi模块、蓝牙模块、ZigBee模块等等,且终端设备与硬件扩展模块的无线传输方式均处于开启状态,以使得终端设备与硬件扩展模块之间能够通过无线传输方式进行信息传输。
进一步地,当终端设备检测到与硬件扩展模块建立连接时,可以通过Wifi、蓝牙、ZigBee、NFC等无线传输方式获取硬件扩展模块的存储区域中存储的软件程序;其中,存储区域通过第三预设通讯接口与硬件扩展模块的其他部分仅结构相连,软件程序包括应用程序及硬件扩展模块的驱动程序,也即硬件扩展模块的驱动程序和应用程序捆绑在一起。
进一步地,一种可行的实现方式为:通过终端设备向硬件扩展模块发送获取软件程序的请求并接收硬件扩展模块返回的携带有软件程序的响应的方式,获取硬件扩展模块的存储区域中存储的软件程序,也即终端设备通过Wifi、蓝牙、ZigBee等无线传输方式向硬件扩展模块发送获取软件程序的请求,当硬件扩展模块接收到上述请求时,响应该请求,将其存储区域中存储的软件程序通过Wifi、蓝牙、ZigBee等无线传输方式传输至终端设备;另一种可行的实现方式为:只要终端设备检测到与硬件扩展模块建立连接,即可自动获取到硬件扩展模块的存储区域中存储的软件程序,并不需要向硬件扩展模块发送获取软件程序的请求。
进一步地,存储区域通过第三预设通讯接口与硬件扩展模块的其他部分仅结构相连,此时的第三预设通讯接口为预留的物理接口,即存储区域与硬件扩展模块的其他部分可以为相互独立的两个部分,通过第三预设通讯接口可拆卸的连接,在实际应用中,存储区域通过第三预设通讯接口与硬件扩展模块的其他部分仅结构相连,构成硬件扩展模块这个整体。当然,第三预设通讯接口也可以为虚拟的通讯接口,例如Wifi、蓝牙、ZigBee、NFC等无线传输接口,即存储区域与硬件扩展模块的其他部分虽然是相互独立的,但是不可以可拆卸的分开,始终作为一个整体,即硬件扩展模块。
步骤120,校验软件程序是否满足预设条件。
具体地,本发明第二实施例中的步骤120与本发明第一实施例中的步骤120相同,在此不再赘述。
步骤130,如果软件程序满足预设条件,则加载软件程序以驱动硬件扩展模块。
具体地,如果获取到的应用程序及硬件扩展模块的驱动程序完整且合法,则终端设备加载获取到的应用程序及硬件扩展模块的驱动程序,以驱动硬件扩展模块,其中,应用程序及硬件扩展模块的驱动程序绑定在一起,也即终端设备通过加载获取到的应用程序及硬件扩展模块的驱动程序,并在上述运行之后,自动初始化硬件扩展模块的方式,将硬件扩展模块驱动起来。
需要说明的是,由于终端设备与硬件扩展模块之间是通过Wifi、蓝牙、ZigBee、NFC等无线传输方式建立的连接,所以在驱动硬件扩展模块的过程中也是通过上述无线传输方式实现的,具体驱动过程与第一实施例中相同。
本发明实施例提供了一种驱动硬件扩展模块的方法,通过终端设备与硬件扩展模块之间的无线传输方式,可以更便捷地进行信息传输,而且,终端设备只需要预留出相应的无线连接模块即可,使得终端设备系统既可以做到系统封闭又可以具有良好的可扩展性。
本发明第三实施例提供了一种驱动硬件扩展模块的装置,如图2所示,该装置包括获取模块21、校验模块22与驱动模块23。
获取模块21,用于在检测到与硬件扩展模块建立连接时,获取硬件扩展模块中存储的软件程序;其中,软件程序包括应用程序及硬件扩展模块的驱动程序。
校验模块22,用于校验软件程序是否满足预设条件。
驱动模块23,用于当所述软件程序满足预设条件时,加载软件程序以驱动硬件扩展模块。
优选地,预设条件包括完整性与合法性;校验模块22具体包括:第一校验子模块221与第二校验子模块222,如图3所示;第一校验子模块221,用于基于第一校验方式校验软件程序是否完整;第二校验子模块222,用于基于第二校验方式校验软件程序的是否合法;其中,第一校验方式包括以下任一项:CRC32值;哈希值;MD5值;第二校验方式包括以下任一项:数字证书;数字签名;电子签名。
优选地,驱动模块23包括:加载子模块231、检验子模块232与初始化子模块233;其中,加载子模块231,用于将软件程序加载到用户空间;检验子模块232,用于基于内核提供的预设接口,检验是否存在与驱动程序相匹配的硬件扩展模接入;初始化子模块233,用于当存在与驱动程序相匹配的硬件扩展模接入时,将硬件扩展模块寄存器地址映射到驱动程序的进程空间中,并运行驱动程序的初始化程序以驱动硬件扩展模块,如图3所示。
优选地,获取模块21用于通过相应的物理接口获取硬件扩展模块中存储的软件程序;或者,通过无线传输方式获取硬件扩展模块中存储的软件程序;其中,无线传输方式包括以下任一项:Wifi;蓝牙;ZigBee。
优选地,当获取模块21通过相应的物理接口获取硬件扩展模块中存储的软件程序时,获取模块21具体用于通过与硬件扩展模块之间的第一预设通讯接口,获取硬件扩展模块的存储区域中存储的软件程序。
优选地,存储区域通过第三预设通讯接口与硬件扩展模块的其他部分仅结构相连。
优选地,当获取模块21通过相应的物理接口获取硬件扩展模块中存储的软件程序时,驱动模块23用于当软件程序满足预设条件时,通过与硬件扩展模块之间的第二预设通讯接口,加载软件程序以驱动硬件扩展模块。
本发明实施例提供了一种驱动硬件扩展模块的装置,在检测到与硬件扩展模块建立连接时,通过预设方式获取硬件扩展模块中存储的软件程序,其中,软件程序包括应用程序及硬件扩展模块的驱动程序,为后续加载软件程序以驱动硬件扩展模块提供了必要的前提保障,通过对获取到的软件程序的校验,确保了加载的软件程序的完整性及合法性,为加载软件程序以驱动硬件扩展模块提供了必要的安全保障;当软件程序校验通过后,通过加载软件程序即可将硬件扩展模块驱动起来,使得用户无需预先在终端设备上安装硬件扩展模块的驱动程序,既省去用户预先安装硬件扩展模块的驱动程序的繁琐过程,又避免了驱动程序占用终端设备大量存储空间,而且实现了硬件扩展模块的自动加载、即插即用,使得终端设备具有良好的可扩展性、可用性及可伸缩性等特点。
本发明第四实施例提供了一种终端设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,处理器执行程序时实现上述任一实施例的驱动硬件扩展模块的方法。
本技术领域技术人员可以理解,本发明包括涉及用于执行本申请中所述操作中的一项或多项的设备。这些设备可以为所需的目的而专门设计和制造,或者也可以包括通用计算机中的已知设备。这些设备具有存储在其内的计算机程序,这些计算机程序选择性地激活或重构。这样的计算机程序可以被存储在设备(例如,计算机)可读介质中或者存储在适于存储电子指令并分别耦联到总线的任何类型的介质中,所述计算机可读介质包括但不限于任何类型的盘(包括软盘、硬盘、光盘、CD-ROM、和磁光盘)、ROM(Read-Only Memory,只读存储器)、RAM(Random Access Memory,随即存储器)、EPROM(Erasable ProgrammableRead-Only Memory,可擦写可编程只读存储器)、EEPROM(Electrically ErasableProgrammable Read-Only Memory,电可擦可编程只读存储器)、闪存、磁性卡片或光线卡片。也就是,可读介质包括由设备(例如,计算机)以能够读的形式存储或传输信息的任何介质。
本技术领域技术人员可以理解,可以用计算机程序指令来实现这些结构图和/或框图和/或流图中的每个框以及这些结构图和/或框图和/或流图中的框的组合。本技术领域技术人员可以理解,可以将这些计算机程序指令提供给通用计算机、专业计算机或其他可编程数据处理方法的处理器来实现,从而通过计算机或其他可编程数据处理方法的处理器来执行本发明公开的结构图和/或框图和/或流图的框或多个框中指定的方案。
本技术领域技术人员可以理解,本发明中已经讨论过的各种操作、方法、流程中的步骤、措施、方案可以被交替、更改、组合或删除。进一步地,具有本发明中已经讨论过的各种操作、方法、流程中的其他步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。进一步地,现有技术中的具有与本发明中公开的各种操作、方法、流程中的步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (9)

1.一种驱动硬件扩展模块的方法,其特征在于,包括:
在检测到与硬件扩展模块建立连接时,通过预设方式获取所述硬件扩展模块中存储的软件程序;其中,所述预设的方式包括,通过与所述硬件扩展模块之间的第一预设通讯接口,获取所述硬件扩展模块的存储区域中存储的软件程序;所述软件程序包括所述硬件扩展模块的驱动程序及应用程序;
校验所述软件程序是否满足预设条件;
如果所述软件程序满足预设条件,则加载所述软件程序以驱动所述硬件扩展模块,加载所述软件程序以驱动所述硬件扩展模块的步骤,包括:将所述软件程序加载到用户空间;基于内核提供的预设接口,检验是否存在与所述驱动程序相匹配的所述硬件扩展模块接入;如果存在,则将硬件扩展模块寄存器地址映射到驱动程序的进程空间中,并运行所述驱动程序的初始化程序以驱动所述硬件扩展模块。
2.根据权利要求1所述的方法,其特征在于,所述预设条件包括完整性与合法性;所述校验所述软件程序是否满足预设条件的步骤,具体包括:
基于第一校验方式校验所述软件程序是否完整;及,
基于第二校验方式校验所述软件程序的是否合法;
其中,所述第一校验方式包括以下任一项:CRC32值;哈希值;MD5值;所述第二校验方式包括以下任一项:数字证书;数字签名;电子签名。
3.根据权利要求1或2所述的方法,其特征在于,所述通过预设方式获取所述硬件扩展模块中存储的软件程序的步骤,包括:
通过相应的物理接口获取所述硬件扩展模块中存储的软件程序;或者,
通过无线传输方式获取所述硬件扩展模块中存储的软件程序;其中,所述无线传输方式包括以下任一项:Wifi;蓝牙;ZigBee。
4.根据权利要求3所述的方法,其特征在于,所述通过相应的物理接口获取所述硬件扩展模块中存储的软件程序的步骤,具体包括:
通过与所述硬件扩展模块之间的第一预设通讯接口,获取所述硬件扩展模块的存储区域中存储的软件程序。
5.根据权利要求4所述的方法,其特征在于,所述存储区域通过第三预设通讯接口与所述硬件扩展模块的其他部分仅结构相连。
6.根据权利要求3所述的方法,其特征在于,驱动所述硬件扩展模块的步骤,具体包括:通过与所述硬件扩展模块之间的第二预设通讯接口,驱动所述硬件扩展模块。
7.一种驱动硬件扩展模块的装置,其特征在于,包括:
获取模块,用于在检测到与硬件扩展模块建立连接时,通过预设方式获取所述硬件扩展模块中存储的软件程序;其中,所述预设的方式包括,通过与所述硬件扩展模块之间的第一预设通讯接口,获取所述硬件扩展模块的存储区域中存储的软件程序;所述软件程序包括所述硬件扩展模块的驱动程序及应用程序;
校验模块,用于校验所述软件程序是否满足预设条件;
驱动模块,用于当所述软件程序满足预设条件时,加载所述软件程序以驱动所述硬件扩展模块,驱动模块包括加载子模块、检验子模块与初始化子模块;其中,加载子模块,用于将软件程序加载到用户空间;检验子模块,用于基于内核提供的预设接口,检验是否存在与驱动程序相匹配的硬件扩展模接入;初始化子模块,用于当存在与驱动程序相匹配的硬件扩展模接入时,将硬件扩展模块寄存器地址映射到驱动程序的进程空间中,并运行驱动程序的初始化程序以驱动硬件扩展模块。
8.根据权利要求7所述的装置,其特征在于,所述预设条件包括完整性与合法性;所述校验模块具体包括:第一校验子模块与第二校验子模块;
所述第一校验子模块,用于基于第一校验方式校验所述软件程序是否完整;
所述第二校验子模块,用于基于第二校验方式校验所述软件程序的是否合法;
其中,所述第一校验方式包括以下任一项:CRC32值;哈希值;MD5值;
所述第二校验方式包括以下任一项:数字证书;数字签名;电子签名。
9.一种终端设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1-6任一项所述的驱动硬件扩展模块的方法。
CN201710680940.3A 2017-08-10 2017-08-10 驱动硬件扩展模块的方法、装置及终端设备 Active CN107368342B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710680940.3A CN107368342B (zh) 2017-08-10 2017-08-10 驱动硬件扩展模块的方法、装置及终端设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710680940.3A CN107368342B (zh) 2017-08-10 2017-08-10 驱动硬件扩展模块的方法、装置及终端设备

Publications (2)

Publication Number Publication Date
CN107368342A CN107368342A (zh) 2017-11-21
CN107368342B true CN107368342B (zh) 2020-08-14

Family

ID=60309987

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710680940.3A Active CN107368342B (zh) 2017-08-10 2017-08-10 驱动硬件扩展模块的方法、装置及终端设备

Country Status (1)

Country Link
CN (1) CN107368342B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115562731A (zh) * 2021-06-30 2023-01-03 阿里云计算有限公司 微内核架构的设备驱动方法、装置、电子设备和存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002061632A3 (en) * 2001-01-29 2003-10-30 Celoxica Ltd System, method and article of manufacture for extensions in a programming language capable of programming hardware architectures
CN101021797A (zh) * 2007-04-06 2007-08-22 中兴通讯股份有限公司 一种用于嵌入式系统的软件修复和升级方法
CN102196308A (zh) * 2011-05-19 2011-09-21 广东星海数字家庭产业技术研究院有限公司 一种基于数字电视的多硬件接口兼容驱动系统
CN102222052A (zh) * 2010-04-16 2011-10-19 埃森哲环球服务有限公司 扩展嵌入式系统的功能
CN106990958A (zh) * 2017-03-17 2017-07-28 联想(北京)有限公司 一种扩展组件、电子设备及启动方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002061632A3 (en) * 2001-01-29 2003-10-30 Celoxica Ltd System, method and article of manufacture for extensions in a programming language capable of programming hardware architectures
CN101021797A (zh) * 2007-04-06 2007-08-22 中兴通讯股份有限公司 一种用于嵌入式系统的软件修复和升级方法
CN102222052A (zh) * 2010-04-16 2011-10-19 埃森哲环球服务有限公司 扩展嵌入式系统的功能
CN102196308A (zh) * 2011-05-19 2011-09-21 广东星海数字家庭产业技术研究院有限公司 一种基于数字电视的多硬件接口兼容驱动系统
CN106990958A (zh) * 2017-03-17 2017-07-28 联想(北京)有限公司 一种扩展组件、电子设备及启动方法

Also Published As

Publication number Publication date
CN107368342A (zh) 2017-11-21

Similar Documents

Publication Publication Date Title
US10002246B2 (en) Hardware isolated secure processing system within a secure element
EP2524335B1 (en) Specialized network fileserver
KR101663072B1 (ko) 비휘발성 메모리 장치를 이용한 대안적인 부트 경로 지원
US9507604B2 (en) Boot method and boot system
CN106462509B (zh) 用于保全存取保护方案的设备及方法
TWI715926B (zh) 在一儲存備份記憶體封裝中之韌體更新
US10657260B2 (en) Electronic devices and methods supporting unsecured system-on-chip secure boot functionalities
US20070079141A1 (en) Information processing apparatus and method of controlling the same
CN109964227B (zh) 更新SELinux安全策略的方法及终端
JP2009529721A (ja) ブリッジサポートを有するプラットフォーム起動
CN107567629B (zh) 在可信执行环境容器中的动态固件模块加载器
US20110246760A1 (en) Electronic device and electronic device system
US20120284772A1 (en) Data storage device authentication apparatus and data storage device including authentication apparatus connector
US20100064036A1 (en) Peripheral device operation method, peripheral device and host
CN101840345A (zh) 一种配置参数的识别方法、系统及嵌入式设备
JP2012104150A (ja) ネットワーク環境におけるスペースのカスタマイズ
JP5526225B2 (ja) 回路カードがコンピュータに適合することを確認するためのシステムおよび方法
CN114579954A (zh) 安全启动校验的方法及电子设备
KR101575021B1 (ko) 무결성 검증을 수행하는 이동 단말기 및 그 제어방법
CN107368342B (zh) 驱动硬件扩展模块的方法、装置及终端设备
CN106844206B (zh) 移动终端中调试多系统的方法及装置
CN116467015B (zh) 镜像生成方法、系统启动校验方法及相关设备
JP2010500671A5 (zh)
CN108089925B (zh) 管控进程占用资源的方法及装置
CN111381892A (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
TR01 Transfer of patent right

Effective date of registration: 20210220

Address after: 101300 room 153, 1 / F, building 17, 16 Caixiang East Road, Nancai Town, Shunyi District, Beijing

Patentee after: Yuanxin Information Technology Group Co.,Ltd.

Address before: 100176 room 2222, building D, building 33, 99 Kechuang 14th Street, Beijing Economic and Technological Development Zone, Beijing

Patentee before: BEIJING YUANXIN SCIENCE & TECHNOLOGY Co.,Ltd.

TR01 Transfer of patent right
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20171121

Assignee: Beijing Yuanxin Junsheng Technology Co.,Ltd.

Assignor: Yuanxin Information Technology Group Co.,Ltd.

Contract record no.: X2021110000018

Denomination of invention: Method, device and terminal device for driving hardware expansion module

Granted publication date: 20200814

License type: Common License

Record date: 20210531

EE01 Entry into force of recordation of patent licensing contract