CN111221571B - 外设驱动制作方法、装置以及计算机可读介质 - Google Patents
外设驱动制作方法、装置以及计算机可读介质 Download PDFInfo
- Publication number
- CN111221571B CN111221571B CN201811431353.1A CN201811431353A CN111221571B CN 111221571 B CN111221571 B CN 111221571B CN 201811431353 A CN201811431353 A CN 201811431353A CN 111221571 B CN111221571 B CN 111221571B
- Authority
- CN
- China
- Prior art keywords
- information
- peripheral
- unit
- microprocessor
- 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
Links
- 230000002093 peripheral effect Effects 0.000 title claims abstract description 184
- 238000004519 manufacturing process Methods 0.000 title claims abstract description 31
- 238000004891 communication Methods 0.000 claims description 52
- 238000000034 method Methods 0.000 claims description 13
- 238000013461 design Methods 0.000 claims description 5
- 230000003068 static effect Effects 0.000 claims description 5
- 238000012356 Product development Methods 0.000 abstract description 4
- 230000006870 function Effects 0.000 description 23
- 238000011161 development Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 3
- 239000004744 fabric Substances 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 241000238876 Acari Species 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000002054 transplantation Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/76—Adapting program code to run in a different environment; Porting
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明实施例公开一种外设驱动制作方法和一种外设驱动制作装置。所述外设驱动制作方法,包括:制作微处理器的目标外设的驱动程序的头文件,其中所述头文件包括供所述微处理器调用的驱动接口模块;制作所述目标外设的所述驱动程序的库文件,其中所述库文件包括内核驱动模块;将所述头文件和所述库文件编译成机器码;以及将所述机器码存入所述微处理器中。本发明实施例可以实现外设驱动程序的快速移植,提高产品开发效率,降低误操作风险。
Description
技术领域
本发明涉及微处理器技术领域,尤其涉及一种外设驱动制作方法、一种外设驱动制作装置以及一种计算机可读介质。
背景技术
在产品开发过程中,微处理器会被多款产品搭载使用,即多款产品的硬件方案中配置有相同的外设。目前外设驱动程序的数据处理层和物理通信层混为一体。当对外设的驱动程序进行移植时,由于物理通信层与数据处理层存在关联,所述外设驱动程序无法直接、快速移植,而需要对外设驱动程序进行调试、开发,产品开发效率较低。另外,目前的外设驱动程序未对内部接口和外部接口进行区分设定,在调用时存在误操作风险。同时,驱动模块的外部接口未进行统一管理,不便于微处理器调用。
发明内容
因此,本发明的实施例提供一种外设驱动制作方法、一种外设驱动制作装置以及一种计算机可读介质,以实现外设驱动程序的快速移植,提高产品开发效率,降低误操作风险。
具体地,一方面,本发明实施例提供的一种外设驱动制作方法,包括:制作微处理器的目标外设的驱动程序的头文件,其中所述头文件包括供所述微处理器调用的驱动接口模块;制作所述目标外设的所述驱动程序的库文件,其中所述库文件包括内核驱动模块;将所述头文件和所述库文件编译成机器码;以及将所述机器码存入所述微处理器中,以供所述微处理器工作时通过所述驱动接口模块向所述内核驱动模块发送请求指令、由所述内核驱动模块对所述请求指令进行解析并产生控制信息输出至所述目标外设来驱动控制所述目标外设。
在本发明的一个实施例中,所述头文件还包括供所述微处理器调用的驱动信息模块,所述驱动信息模块包括:驱动注册信息单元,用于设定所述目标外设的通信介质和通信协议;外设信息单元,用于存储所述目标外设的信息;外设注册信息单元,用于关联所述驱动注册信息单元和所述外设信息单元;以及驱动接口信息单元,用于管理所述驱动接口模块的传入参数和传出参数。
在本发明的一个实施例中,所述驱动注册信息单元和所述外设注册信息单元为枚举类型数据,所述外设信息单元为结构体类型数据,所述驱动接口信息单元的所述传入参数和所述传出参数为结构体类型数据。
在本发明的一个实施例中,所述驱动接口信息单元的所述传入参数包括所述目标外设的类型信息和所述目标外设传入所述微处理器的信息,所述驱动接口信息单元的所述传出参数包括所述微处理器输出所述目标外设的信息。
在本发明的一个实施例中,所述驱动接口模块包括:初始化接口单元,用于根据所述目标外设的类型初始化所述目标外设的通信介质和通信协议;应用接口单元,用于供所述微处理器控制所述目标外设、且为根据所述目标外设的功能设计的接口;以及时钟节拍接口单元,用于从所述微处理器上获取时钟节拍,为所述目标外设的任务提供自动触发的时间依据。
在本发明的一个实施例中,所述内核驱动模块包括:应用层单元,用于对所述微处理器发出的所述请求指令进行解析以得到微处理器控制信息;控制层单元,用于将所述微处理器控制信息转换成所述目标外设控制信息;以及通信层单元,用于将所述目标外设控制信息发送至所述目标外设以实现所述目标外设的功能。
在本发明的一个实施例中,所述应用层单元、所述控制层单元以及所述通信层单元的函数接口为静态函数接口。
在本发明的一个实施例中,所述应用层单元与所述头文件中的所述驱动接口模块对应,且所述头文件中的所述驱动接口信息单元包括所述应用层单元的参数和信息;所述库文件还包括供所述内核驱动模块调用的内核信息模块,所述内核信息模块包括:控制层信息单元,用于申明和定义所述控制层单元的参数和信息;以及通信层信息单元,用于申明和定义所述通信层单元的参数和信息。
另一方面,本发明实施例提供的一种外设驱动制作装置,包括:第一制作模块,用于制作微处理器的目标外设的驱动程序的头文件,其中所述头文件包括供所述微处理器调用的驱动接口模块;第二制作模块,用于制作所述目标外设的所述驱动程序的库文件,其中所述库文件包括内核驱动模块;编译模块,用于将所述头文件和所述库文件编译成机器码;以及存储模块,用于将所述机器码存入所述微处理器中,以供所述微处理器工作时通过所述驱动接口模块向所述内核驱动模块发送请求指令、由所述内核驱动模块对所述请求指令进行解析并产生控制信息输出至所述目标外设来驱动控制所述目标外设。
又一方面,本发明实施例提供的一种具有执行一种方法的计算机可执行指令的计算机可读介质,所述方法为前述的外设驱动制作方法。
上述技术方案可以具有如下一个或多个优点:通过区分应用层、控制层、通信层,使得在外设驱动移植时,只需要检查和集成相应产品型号的通信层,无需对应用层、控制层进行调试和开发,避免重复开发,提高开发效率,实现快速移植。另外,将外设驱动程序的驱动接口信息通过统一的传入参数和传出参数进行简化,降低了外设驱动程序的使用难度,降低了误操作风险。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例提供的一种外设驱动制作方法的流程示意图;
图2为本发明一实施例的头文件架构示意图;
图3为本发明一实施例的库文件架构示意图;
图4为本发明一实施例中驱动注册信息单元、外设注册信息单元、外设信息单元的关系示意图;
图5为本发明一实施例中驱动接口信息单元的传入参数和传出参数的关系示意图;
图6为本发明一实施例中外设功能实现的流程示意图;
图7为本发明另一实施例提供的一种外设驱动制作装置的结构示意图;
图8为本发明又一实施例提供的一种计算机可读介质的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明一实施例中提供的一种外设驱动制作方法,包括步骤:
S11:制作微处理器的目标外设的驱动程序的头文件,其中所述头文件包括供所述微处理器调用的驱动接口模块;
S13:制作所述目标外设的所述驱动程序的库文件,其中所述库文件包括内核驱动模块;
S15:将所述头文件和所述库文件编译成机器码;
S17:将所述机器码存入所述微处理器中,以供所述微处理器工作时通过所述驱动接口模块向所述内核驱动模块发送请求指令、由所述内核驱动模块对所述请求指令进行解析并产生控制信息输出至所述目标外设来驱动控制所述目标外设。
为便于理解本发明,下面结合图2至图6对本实施例的外设驱动制作方法的各个步骤进行详细描述,具体实现方式如下:
微处理器的外设的驱动程序的制作是通过制作文件并将所述文件编译成机器码存入微处理器中以供所述微处理器调用。驱动程序包括头文件和库文件。此处,微处理器可例如为Cortex-M4微处理器,也可以为其它具有类似功能的处理器,本发明实施例不以此为限。头文件典型地为一种包含功能函数、数据接口声明的载体文件,主要用于保存程序的声明。头文件例如以“.h”为文件扩展名。库文件例如静态数据连接库文件用于保存程序的实现代码。静态数据连接库文件例如以“.lib”为文件扩展名。
首先,分别制作设驱动程序的头文件和库文件。头文件和库文件可例如在C、C++等编程环境中制作完成。如图2所示,头文件10包括可供微处理器调用的驱动信息模块11和可供微处理器调用的驱动接口模块13。驱动信息模块11包括驱动注册信息单元111、外设注册信息单元113、外设信息单元115、驱动接口信息单元117。所述驱动接口模块13包括初始化接口单元131、应用接口单元133、时钟节拍接口单元135。如图3所示,库文件30包括内核信息模块31和内核驱动模块33。内核信息模块31包括控制层信息单元311和通信层信息单元313。内核驱动模块33包括应用层单元331、控制层单元333以及通信层单元335。内核信息模块31只供内核驱动模块33调用。另外,编程环境中,头文件10的源代码是可见的,而库文件30的源码是不可见。
具体地,驱动注册信息单元111通过枚举类型数据设定外设的通信介质和通信协议。一种外设可以通过多种通信协议与微处理器之间进行通信。因此,产品设计中存在相同外设使用相同的通信协议的情况,也存在相同的外设使用不同的通信协议的情况。外设注册信息单元113通过枚举类型数据来关联驱动注册信息单元111和外设信息单元115。在微处理器中,采用32位(4个字节)来存储外设注册信息,其中,低8位存储外设注册信息,高4位存储驱动注册信息,剩下的20位保留以作为后续的扩展设计。进一步地,根据外设的功能设定外设注册信息的名称,可以提高外设驱动程序的可读性。外设信息单元115通过结构体类型存储外设信息,例如总线地址、复位电平类型等。
另外,驱动注册信息单元111、外设注册信息单元113、外设信息单元115之间的关系如图4所示。驱动注册信息单元111关联通信介质和通信协议。例如总线类的通信介质和通信协议可以使用一种通信介质和通信协议驱动多个外设。为了区分相同的外设,每个外设有不同的总线地址、复位电路等外设信息。这些信息可固化到外设对应的外设信息单元115中。而外设注册信息单元113则将驱动注册信息单元111和外设信息单元115关联起来。
驱动接口信息单元117用于在头文件10中申明驱动接口13的参数和信息,对驱动接口模块13的函数的传入参数和传出参数集中管理。驱动接口模块13的函数的传入参数时,除了将外设注册信息对应的外设类型独立传入外,其它信息通过结构体类型集成在一起传入。微处理器将计算结果通过结构体类型将传出参数集成在一起输出。驱动接口13的函数的传入参数设定为外设类型和传入信息,传出参数设定为输出信息,以简化统一驱动接口13。如图5所示,外设类型决定外设与微处理器的通信方式,外设和微处理器之间的交互是通过传入信息和输出信息完成的。
驱动接口模块13包括初始化接口单元131、应用接口单元133、时钟节拍接口单元135。初始化接口单元131统一,其根据外设类型初始化相应外设的物理通信介质和物理通信协议。应用接口单元133是根据外设功能特性设计的、且供微处理器控制所述外设的接口。应用接口单元133的名称根据外设的功能特性确定。应用接口单元133的接口形式统一。应用接口单元133的接口的传入参数包括外设类型、传入信息,接口的传出参数为输出信息。应用接口133的数量也不确定,可根据所述外设的功能特性和微处理器的需求确定。时钟节拍接口单元135用于从所述微处理器上获取时钟节拍,为所述目标外设的任务提供自动触发的时间依据。时钟节拍典型地为微处理器特定的周期性中断(时钟中断)。驱动接口模块13是微处理器控制外设的唯一渠道。进一步地,将驱动接口模块13的数据类型和指针函数集成,便于微处理器调用,也可简化微处理器的操作流程。
应用层单元331用于对微处理器发出的请求指令进行解析以得到微处理器控制信息。应用层单元331与所述头文件中的驱动接口13对应。应用层单元331的参数和信息在所述头文件10中的驱动接口信息单元进行了申明和定义,以供微处理器调用。控制层单元333用于将微处理器控制信息转换成外设控制信息。控制层单元333的参数和信息在库文件30中进行了申明和定义,即内核信息模块31的控制层信息单元311。通信层单元335用于将外设控制信息发送至外设以实现外设的功能。通信层单元335的参数和信息在库文件30中进行了申明和定义,即内核信息模块31的通信层信息单元313。另外,计算机编程环境中,所述库文件30的源码为不可见。进一步地,内核信息模块31和内核驱动模块33的命名采用双下划线作为内核标示,以禁止微处理器对内核信息模块和内核驱动模块的直接调用和更改,并警示维护人员在对内核信息模块和内核驱动模块进行更改时必须谨慎对待,避免因人为因素造成外设驱动的不稳定。
外设功能实现的流程图如图6所示。微处理器通过驱动接口模块13发出请求指令请求实现一种功能,应用层单元331对所述请求指令进行解析以将所述请求指令解析成微处理器控制信息,控制层单元333将所述微处理器控制信息转换为外设对应功能的外设控制信息,再通过通信层单元335将所述外设控制信息发送至所述外设来驱动控制所述目标外设以实现相应功能。
另外,应用层单元331、控制层单元333、通信层单元335的函数接口设置为静态函数接口,以避免与微处理器中其它驱动的标示冲突。再者,采用仅供内核驱动访问的库文件格式,可以避免非专业人员对外设驱动进行维护时造成外设驱动功能不稳定问题,同时也可以保护外设驱动的版权。此外,当在搭载有同一外设的多个产品中的一个产品上的外设出现了问题并解决了,所有搭载此外设的产品都可以通过更新所述库文件解决相同的问题,而不需要重新排查相关问题,节省维护成本。
之后,将制作好的头文件10和库文件30编译生成机器码。通过编译器将采用例如C语言等编程语言编写的头文件10和库文件30编译生成机器码。机器码为微处理器可以执行的二制数代码。
最后,将所述机器码存入所述微处理器中,以供所述微处理器工作时通过所述驱动接口模块向所述内核驱动模块发送请求指令、由所述内核驱动模块对所述请求指令进行解析并产生控制信息输出至所述目标外设来驱动控制所述目标外设以实现外设功能。
如图7所示,本发明另一实施例中提供的一种外设驱动制作装置500,用于执行前述实施例所述的外设驱动制作方法。具体地,外设驱动制作装置500包括:
第一制作模块110,用于制作微处理器的目标外设的驱动程序的头文件,其中所述头文件包括供所述微处理器调用的驱动接口模块;
第二制作模块530,用于制作所述目标外设的所述驱动程序的库文件,其中所述库文件包括内核驱动模块;
编译模块550,用于将所述头文件和所述库文件编译成机器码;以及
存储模块570,用于将所述机器码存入所述微处理器中,以供所述微处理器工作时通过所述驱动接口模块向所述内核驱动模块发送请求指令、由所述内核驱动模块对所述请求指令进行解析并产生控制信息输出至所述目标外设来驱动控制所述目标外设。
如图8所示,本发明又一实施例中提供的一种存储有执行上述实施例提供的一种外设驱动制作方法的计算机可执行指令710的计算机可读介质700。计算机可读介质700用于存放执行前述实施实例中的外设驱动制作方法的计算机可执行指令710。在计算机运行过程中,计算机从计算机可读介质500上读取所述计算机可执行指令510以完成外设驱动的制作。
综上所述,本发明前述实施例通过:
1、区分应用层、控制层、通信层,使得在搭载相同外设进行外设驱动程序移植时,只需要检查和集成相应产品型号的通信层,无需对应用层、控制层进行调试和开发,避免重复开发,提高开发效率,实现快速移植。
2、将驱动接口模块在所述头文件中申明以供微处理器调用,在库文件中对内核驱动模块的参数和信息进行申明和定义并仅供内核驱动模块调用,以区分外部接口和内部接口,避免了误操作的可能。
3、对驱动接口模块的接口函数的传入参数和传出参数以及接口形式的统一、简化,降低了外设驱动的使用难度,提高效率,节省开发成本。
4、采用库文件格式,可以避免非专业人员对外设驱动进行维护时造成外设驱动功能不稳定问题,同时也可以保护外设驱动程序的版权。
在本申请所提供的几个实施例中,应该理解到,所揭露的微处理器,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多路单元或组件可以结合或者可以集成到另一个微处理器,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多路网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (6)
1.一种外设驱动制作方法,其特征在于,包括:
制作微处理器的目标外设的驱动程序的头文件,其中所述头文件包括供所述微处理器调用的驱动接口模块;
制作所述目标外设的所述驱动程序的库文件,其中所述库文件包括内核驱动模块;
将所述头文件和所述库文件编译成机器码;以及
将所述机器码存入所述微处理器中,以供所述微处理器工作时通过所述驱动接口模块向所述内核驱动模块发送请求指令、由所述内核驱动模块对所述请求指令进行解析并产生控制信息输出至所述目标外设来驱动控制所述目标外设;
其中,所述驱动接口模块包括:
初始化接口单元,用于根据所述目标外设的类型初始化所述目标外设的通信介质和通信协议;
应用接口单元,用于供所述微处理器控制所述目标外设、且为根据所述目标外设的功能设计的接口;以及
时钟节拍接口单元,用于从所述微处理器上获取时钟节拍,为所述目标外设的任务提供自动触发的时间依据;
所述头文件还包括供所述微处理器调用的驱动信息模块,所述驱动信息模块包括:
驱动注册信息单元,用于设定所述目标外设的通信介质和通信协议;
外设信息单元,用于存储所述目标外设的信息;
外设注册信息单元,用于关联所述驱动注册信息单元和所述外设信息单元;以及
驱动接口信息单元,用于管理所述驱动接口模块的传入参数和传出参数;
所述内核驱动模块包括:
应用层单元,用于对所述微处理器发出的所述请求指令进行解析以得到微处理器控制信息;所述应用层单元与所述头文件中的所述驱动接口模块对应,且所述头文件中的所述驱动接口信息单元包括所述应用层单元的参数和信息;
控制层单元,用于将所述微处理器控制信息转换成所述目标外设控制信息;以及
通信层单元,用于将所述目标外设控制信息发送至所述目标外设以实现所述目标外设的功能;
所述库文件还包括供所述内核驱动模块调用的内核信息模块,所述内核信息模块包括:
控制层信息单元,用于申明和定义所述控制层单元的参数和信息;以及
通信层信息单元,用于申明和定义所述通信层单元的参数和信息。
2.根据权利要求1所述的外设驱动制作方法,其特征在于,所述驱动注册信息单元和所述外设注册信息单元为枚举类型数据,所述外设信息单元为结构体类型数据,所述驱动接口信息单元的所述传入参数和所述传出参数为结构体类型数据。
3.根据权利要求2所述的外设驱动制作方法,其特征在于,所述驱动接口信息单元的所述传入参数包括所述目标外设的类型信息和所述目标外设传入所述微处理器的信息,所述驱动接口信息单元的所述传出参数包括所述微处理器输出所述目标外设的信息。
4.根据权利要求1所述的外设驱动制作方法,其特征在于,所述应用层单元、所述控制层单元以及所述通信层单元的函数接口为静态函数接口。
5.一种外设驱动制作装置,其特征在于,包括:
第一制作模块,用于制作微处理器的目标外设的驱动程序的头文件,其中所述头文件包括供所述微处理器调用的驱动接口模块;
第二制作模块,用于制作所述目标外设的所述驱动程序的库文件,其中所述库文件包括内核驱动模块;
编译模块,用于将所述头文件和所述库文件编译成机器码;以及
存储模块,用于将所述机器码存入所述微处理器中,以供所述微处理器工作时通过所述驱动接口模块向所述内核驱动模块发送请求指令、由所述内核驱动模块对所述请求指令进行解析并产生控制信息输出至所述目标外设来驱动控制所述目标外设;
其中,所述驱动接口模块包括:
初始化接口单元,用于根据所述目标外设的类型初始化所述目标外设的通信介质和通信协议;
应用接口单元,用于供所述微处理器控制所述目标外设、且为根据所述目标外设的功能设计的接口;以及
时钟节拍接口单元,用于从所述微处理器上获取时钟节拍,为所述目标外设的任务提供自动触发的时间依据;
所述头文件还包括供所述微处理器调用的驱动信息模块,所述驱动信息模块包括:
驱动注册信息单元,用于设定所述目标外设的通信介质和通信协议;
外设信息单元,用于存储所述目标外设的信息;
外设注册信息单元,用于关联所述驱动注册信息单元和所述外设信息单元;以及
驱动接口信息单元,用于管理所述驱动接口模块的传入参数和传出参数;
所述内核驱动模块包括:
应用层单元,用于对所述微处理器发出的所述请求指令进行解析以得到微处理器控制信息;所述应用层单元与所述头文件中的所述驱动接口模块对应,且所述头文件中的所述驱动接口信息单元包括所述应用层单元的参数和信息;
控制层单元,用于将所述微处理器控制信息转换成所述目标外设控制信息;以及
通信层单元,用于将所述目标外设控制信息发送至所述目标外设以实现所述目标外设的功能;
所述库文件还包括供所述内核驱动模块调用的内核信息模块,所述内核信息模块包括:
控制层信息单元,用于申明和定义所述控制层单元的参数和信息;以及
通信层信息单元,用于申明和定义所述通信层单元的参数和信息。
6.一种具有执行一种方法的计算机可执行指令的计算机可读介质,所述方法为根据权利要求1至4任一项所述的外设驱动制作方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811431353.1A CN111221571B (zh) | 2018-11-26 | 2018-11-26 | 外设驱动制作方法、装置以及计算机可读介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811431353.1A CN111221571B (zh) | 2018-11-26 | 2018-11-26 | 外设驱动制作方法、装置以及计算机可读介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111221571A CN111221571A (zh) | 2020-06-02 |
CN111221571B true CN111221571B (zh) | 2024-03-15 |
Family
ID=70805681
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811431353.1A Active CN111221571B (zh) | 2018-11-26 | 2018-11-26 | 外设驱动制作方法、装置以及计算机可读介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111221571B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114168209A (zh) * | 2021-12-07 | 2022-03-11 | 浙江国利网安科技有限公司 | 硬件操作方法及装置、存储介质及电子设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104679513A (zh) * | 2015-02-12 | 2015-06-03 | 无锡识凌科技有限公司 | 一种智能终端中的设备驱动架构开发方法 |
CN105844146A (zh) * | 2016-03-16 | 2016-08-10 | 北京金山安全软件有限公司 | 一种保护驱动程序的方法、装置及电子设备 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016043040A1 (ja) * | 2014-09-19 | 2016-03-24 | 株式会社aLab | デバイスドライバ登録装置とこれを用いたデバイスドライバの登録方法 |
US9501269B2 (en) * | 2014-09-30 | 2016-11-22 | Advanced Micro Devices, Inc. | Automatic source code generation for accelerated function calls |
-
2018
- 2018-11-26 CN CN201811431353.1A patent/CN111221571B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104679513A (zh) * | 2015-02-12 | 2015-06-03 | 无锡识凌科技有限公司 | 一种智能终端中的设备驱动架构开发方法 |
CN105844146A (zh) * | 2016-03-16 | 2016-08-10 | 北京金山安全软件有限公司 | 一种保护驱动程序的方法、装置及电子设备 |
Non-Patent Citations (2)
Title |
---|
沈剑光 ; .基于Linux的外部设备管理模块分析.科技经济市场.2006,(06),全文. * |
田小刚 ; 蔡启仲 ; 邬军伟 ; .基于嵌入式LINUX下CAN设备驱动程序设计.微计算机信息.2009,(17),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN111221571A (zh) | 2020-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1474753B1 (en) | Component model for real time system control | |
CN102236621B (zh) | 计算机接口信息配置系统及方法 | |
US7810077B2 (en) | Reifying generic types while maintaining migration compatibility | |
US20030233634A1 (en) | Open debugging environment | |
CN106844153B (zh) | 应用程序运行监控方法、装置以及终端 | |
JPH09500466A (ja) | オブジェクト指向ホスト・システム | |
JPH11252209A (ja) | ネットワーク管理システム | |
KR20070116893A (ko) | 복수의 네트워크 엘리먼트 사이의 정보 통신 | |
KR20080016505A (ko) | 플랫폼 관리 능력을 os에 반출하기 위한 efi 기반메커니즘 | |
CN106302442A (zh) | 一种基于Java语言的网络通讯数据包解析方法 | |
CN110300082A (zh) | 一种接口生成方法、装置及存储介质 | |
CN101086785A (zh) | 支持可视化编辑的多模态临床指南知识管理系统 | |
CN111221571B (zh) | 外设驱动制作方法、装置以及计算机可读介质 | |
CN109507991B (zh) | 一种双轴伺服控制平台调试系统及方法 | |
CN113688592A (zh) | 基于驱动中间件的SoC芯片实现系统、方法、介质及设备 | |
CN112464595A (zh) | 跨平台通信中间件可视化建模方法 | |
US7487227B2 (en) | Scripting engine having a sequencer table and a plurality of secondary tables for network communication software | |
CN116701285A (zh) | 远程访问控制装置、方法、设备及计算机可读介质 | |
WO2020073200A1 (zh) | 调试程序的方法和系统 | |
KR20040103497A (ko) | 그래픽 유저 인터페이스 생성 방법 및 장치 | |
CN115328679A (zh) | 异构函数库的自动化集成方法、计算设备及其系统 | |
CN105975257B (zh) | 将MicroBlaze平台的嵌入式代码向Cortex-A9处理器移植的方法 | |
CN109032582A (zh) | 一种生成服务器运维脚本的方法及装置 | |
CN112519704A (zh) | 一种车辆诊断方法、车辆诊断装置、计算机设备和存储介质 | |
Navas et al. | Reconciling run-time evolution and resource-constrained embedded systems through a component-based development framework |
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 |