CN112162743A - 驱动程序生成方法、装置、计算机设备和存储介质 - Google Patents

驱动程序生成方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN112162743A
CN112162743A CN202010855395.9A CN202010855395A CN112162743A CN 112162743 A CN112162743 A CN 112162743A CN 202010855395 A CN202010855395 A CN 202010855395A CN 112162743 A CN112162743 A CN 112162743A
Authority
CN
China
Prior art keywords
driver
code
generated
driving
program
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.)
Pending
Application number
CN202010855395.9A
Other languages
English (en)
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.)
Xian Fibocom Wireless Software Inc
Original Assignee
Xian Fibocom Wireless Software Inc
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 Xian Fibocom Wireless Software Inc filed Critical Xian Fibocom Wireless Software Inc
Priority to CN202010855395.9A priority Critical patent/CN112162743A/zh
Publication of CN112162743A publication Critical patent/CN112162743A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/35Creation or generation of source code model driven
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

本申请涉及一种驱动程序生成方法、装置、计算机设备和存储介质。所述方法包括:确定待生成的驱动程序的类型;基于所述待生成的驱动程序的类型获取所述待生成的驱动程序的框架;确定所述待生成的驱动程序的驱动对象,并获取配置的所述驱动对象的属性值;获取所述属性值对应的所述驱动对象的第一代码;根据所述待生成的驱动程序的框架和所述第一代码生成驱动程序。采用本方法能够提高生成驱动程序的效率。

Description

驱动程序生成方法、装置、计算机设备和存储介质
技术领域
本申请涉及计算机技术领域,特别是涉及一种驱动程序生成方法、装置、计算机设备和存储介质。
背景技术
随着计算机技术的发展,出现了驱动程序。驱动程序指的是设备驱动程序(DeviceDriver),是一种可以使计算机和设备进行相互通信的特殊程序。
不同的平台或者系统,所对应的驱动程序也不同。而当平台或者系统的驱动框架进行更新,并且一般是基于之前的驱动框架将对象进行封装,软件开发人员通常需要重新学习和认识更新之前的平台或者系统的驱动框架,再手动编辑出驱动程序,浪费了大量的人力物力及时间成本,存在驱动程序生成的效率低的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够节约人力物力及时间成本,提高生成效率的驱动程序生成方法、装置、计算机设备和存储介质。
一种驱动程序生成方法,所述方法包括:
确定待生成的驱动程序的类型;
基于所述待生成的驱动程序的类型获取所述待生成的驱动程序的框架;
确定所述待生成的驱动程序的驱动对象,并获取配置的所述驱动对象的属性值;
获取所述属性值对应的所述驱动对象的第一代码;
根据所述待生成的驱动程序的框架和所述第一代码生成驱动程序。
一种驱动程序生成装置,所述装置包括:
驱动程序的类型确定模块,用于确定待生成的驱动程序的类型;
驱动程序的框架确定模块,用于基于所述待生成的驱动程序的类型获取所述待生成的驱动程序的框架;
属性值获取模块,用于确定所述待生成的驱动程序的驱动对象,并获取配置的所述驱动对象的属性值;
第一代码获取模块,用于获取所述属性值对应的所述驱动对象的第一代码;
驱动程序生成模块,用于根据所述待生成的驱动程序的框架和所述第一代码生成驱动程序。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述的方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法的步骤。
上述驱动程序生成方法、装置、计算机设备和存储介质,确定待生成的驱动程序的类型,基于待生成的驱动程序的类型获取待生成的驱动程序的框架;确定待生成的驱动程序的驱动对象,并获取配置的驱动对象的属性值,可以获取属性值对应的驱动对象的第一代码;则根据待生成的驱动程序的框架和第一代码可以快速生成驱动程序,避免了软件开发人员手动编辑驱动程序的代码,节约了人力物力及时间成本,提高了生成驱动程序的效率。
附图说明
图1为一个实施例中驱动程序生成方法的流程示意图;
图2为另一个实施例中驱动程序生成方法的流程示意图;
图3为另一个实施例中驱动程序生成方法的流程示意图;
图4为另一个实施例中驱动程序生成方法的流程示意图;
图5为另一个实施例中根据待生成的驱动程序的框架和第一代码生成驱动程序步骤的流程示意图;
图6为另一个实施例中驱动程序生成方法的流程示意图;
图7为一个实施例中驱动程序生成装置的结构框图;
图8为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在一个实施例中,如图1所示,提供了一种驱动程序生成方法,本实施例以该方法应用于计算机设备,也可以应用于包括终端和服务器的系统,并通过终端和服务器的交互实现。其中,计算机设备可以是终端,也可以是服务器。终端可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
本实施例可以应用于计算机设备中的目标应用程序,该目标应用程序是用于生成驱动程序的工具应用,该方法包括以下步骤:
步骤102,确定待生成的驱动程序的类型。
驱动程序指的是设备驱动程序(Device Driver),是一种可以使计算机和设备进行相互通信的特殊程序。驱动程序相当于硬件的接口,操作系统只有通过这个接口,才能控制硬件设备的工作。其中,操作系统可以是Windows操作系统、即Windows平台,也可以是Android操作系统、还可以是iOS(iPhone Operation System,苹果移动设备操作系统),不限于此。
计算机设备获取目标应用程序的启动指令,打开目标应用程序。目标应用程序将各种待生成的驱动程序的类型标识展示在显示界面中;响应于对各种类型标识中的其中一种类型标识的触发操作,确定待生成的驱动程序的类型。
类型标识指的是待生成的驱动程序的类型的标识。该标识可以是图片、文字等形式进行展示。当用户对显示界面中的一种类型标识进行触发操作时,目标应用程序响应于该触发操作,确定带生成的驱动程序的类型。其中,触发操作可以是对屏幕中展示的类型标识进行单击、双击、滑动、长按等,也可以是输入预设语音、输入预设指令,还可以是按压预设的物理按键等,不限于此。
例如,在Windows平台中,驱动程序的类型可以是KMDF(Kernel-Mode DriverFramework,核心模式驱动程序架构),UMDF(User-Mode Driver Framework,用户模式驱动程序架构),驱动程序的类型也可以为:是否过滤驱动,不限于此。
步骤104,基于待生成的驱动程序的类型获取待生成的驱动程序的框架。
待生成的驱动程序的框架指的是待生成的驱动程序的基本架构。例如,该待生成的驱动程序的框架中可以包括头文件、初始化函数、以及其他的基本信息等。
可以理解的是,不同类型的驱动程序的框架不同,则基于所确定的待生成的驱动程序的类型,可以从数据库中查找到该待生成的驱动程序的类型对应的框架。其中,数据库中预先存储各种类型的驱动程序的框架的代码。
步骤106,确定待生成的驱动程序的驱动对象,并获取配置的驱动对象的属性值。
驱动对象指的是驱动程序所驱动的对象。驱动对象可以是设备对象、队列对象、请求对象等。其中,设备对象可以是芯片、键盘、鼠标等设备。队列对象可以是请求数据队列的对象。请求对象可以是发送请求的对象,接收请求的对象等。确定待生成的驱动程序的驱动对象的数量可以是一个,也可以是至少两个。
针对每一个驱动对象,可以配置不同的属性值。配置不同属性值的驱动对象,可以在驱动程序执行过程中实现不同的功能。
目标应用程序将待生成的驱动程序的类型所包括的各种驱动对象的标识展示在展示界面中,响应于对各种驱动对象的标识的触发操作,确定待生成的驱动程序的驱动对象,并获取配置的驱动对象的属性值。
驱动对象的标识可以是图片、文字等。用户对展示界面中的各种驱动对象的标识进行触发操作,目标应用程序响应于对各种驱动对象的标识的触发操作,确定待生成的驱动程序的驱动对象。其中,触发操作可以是对屏幕中展示的类型标识进行单击、双击、滑动、长按等,也可以是输入预设语音、输入预设指令,还可以是按压预设的物理按键等,不限于此。用户输入驱动对象的属性值,目标应用程序获取输入的属性值并将该属性值对该驱动对象的属性进行配置。
步骤108,获取属性值对应的驱动对象的第一代码。
第一代码指的是属性值对应的驱动对象的代码。不同属性值对应的驱动对象的代码不同,驱动程序在执行过程中所实现的功能也不同。
目标应用程序预先在数据库中存储驱动对象的代码,从数据库中确定驱动对象的代码,并将属性值输入该驱动对象的代码中,可以得到属性值对应的驱动对象的第一代码。
步骤110,根据待生成的驱动程序的框架和第一代码生成驱动程序。
目标应用程序将待生成的驱动程序的框架,以及各个配置属性值的驱动对象的第一代码进行融合,即将各个配置属性值的驱动对象的第一代码分别添加至待生成的驱动程序的对应位置中,生成驱动程序。
在本实施例中,确定待生成的驱动程序的类型,基于待生成的驱动程序的类型获取待生成的驱动程序的框架;确定待生成的驱动程序的驱动对象,并获取配置的驱动对象的属性值,可以获取属性值对应的驱动对象的第一代码;则根据待生成的驱动程序的框架和第一代码可以快速生成驱动程序,避免了软件开发人员手动编辑驱动程序的代码,节约了人力物力及时间成本,提高了生成驱动程序的效率。
在上述驱动程序生成方法中,将驱动开发的框架和流程固定,获取现有的PNP(Plug-and-Play,即插即用)相关接口函数,则可以在其基础上对驱动各个对象或者模块进行封装,通过对不同驱动对象进行属性值的配置和流程连接,能够快速生成驱动程序。
在另一个实施例中,可以将待生成的驱动程序的框架和第一代码存储在数据库中,通过编译工具对待生成的驱动程序的框架和第一代码进行编译,生成驱动程序。其中,编译(compilation,compile)是把高级语言变成计算机可以识别的2进制语言的过程。计算机只认识1和0,编译是把人们熟悉的语言换成2进制的。编译工具可以是Microsoft VisualStudio。
在一个实施例中,如图2所示,获取属性值对应的驱动对象的第一代码之前,还包括:
步骤202,预先存储驱动对象的模板代码。
模板代码指的是未配置属性值的驱动对象的代码。
获取属性值对应的驱动对象的第一代码,包括:
步骤204,查找驱动对象的模板代码。
目标应用程序确定待生成的驱动程序的驱动对象之后,获取驱动对象的标识,将驱动对象的标识分别与数据库中预存的各个对象的标识进行匹配,当匹配成功时,将与驱动对象的标识相匹配的对象所对应的代码作为模板代码。驱动对象的标识可以是图片、文字等,可以唯一表示该驱动对象。
步骤206,将属性值输入模板代码中,得到驱动对象的第一代码。
具体地,模板代码包括驱动对象的属性参数。目标应用程序将属性值替换模板代码中的属性参数,得到驱动对象的第一代码。
例如,在模板代码中包括的属性参数为X,当获取配置的驱动对象的属性值为01,则将模板代码中的属性参数X替换为01,得到驱动对象的第一代码。
在本实施例中,预先存储驱动对象的模板代码,查找驱动对象的模板代码;将属性值输入模板代码中,可以准确得到驱动对象的第一代码。
在一个实施例中,如图3所示,获取属性值对应的驱动对象的第一代码之后,还包括:
步骤302,获取输入的驱动对象的第二代码。
第二代码是软件开发人员输入的针对驱动对象的代码。第二代码可以是对驱动对象的第一代码进行添加的代码。例如,第二代码可以是驱动对象的业务逻辑的代码。业务逻辑可以是调取芯片中的某个参数,也可以是计算两个参数的和,不限于此。
目标应用程序可以在显示界面中显示代码编辑框IDE(Integrated DevelopmentEnvironment,集成开发环境),软件开发人员可以在代码编辑框IDE中输入驱动对象的第二代码。
根据待生成的驱动程序的框架和第一代码生成驱动程序,包括:
步骤304,根据待生成的驱动程序的框架、第一代码和第二代码生成驱动程序。
目标应用程序将待生成的驱动程序的框架,第一代码和第二代码进行融合,即将各个配置属性值的驱动对象的第一代码,以及输入的驱动对象的第二代码分别添加至待生成的驱动程序的对应位置中,生成驱动程序。
在本实施例中,获取输入的驱动对象的第二代码,可以在第一代码的基础上添加更多的代码如业务逻辑,从而根据待生成的驱动程序的框架、第一代码和第二代码生成更准确的驱动程序。
在一个实施例中,上述方法还包括:对属性值对应的驱动对象的第一代码进行修改,得到第三代码;根据待生成的驱动程序的框架、第一代码和第二代码生成驱动程序,包括:根据待生成的驱动程序的框架、第三代码和第二代码生成驱动程序。
第三代码指的是对第一代码进行修改得到的代码。
目标应用程序确定第一代码中需要进行修改的部分,获取对第一代码进行修改的修改内容,将修改内容替换第一代码中需要进行修改的部分,得到第三代码。
目标应用程序将待生成的驱动程序的框架,第三代码和第二代码进行融合,即将第三代码,以及输入的驱动对象的第二代码分别添加至待生成的驱动程序的对应位置中,生成驱动程序。
在本实施例中,对属性值对应的驱动对象的第一代码进行修改,得到第三代码,可以得到更准确的驱动对象的代码,从而根据待生成的驱动程序的框架、第三代码和第二代码生成更准确的驱动程序。
在一个实施例中,如图4所示,获取输入的驱动对象的第二代码之后,还包括:
步骤402,对第二代码进行校验。
可以理解的是,目标应用程序获取输入的驱动对象的第二代码之后,第二代码为软件开发人员编辑输入的,则第二代码中可能存在各种错误,如逻辑错误、形式错误等,则对第二代码进行校验,可以得到更准确的第二代码。
目标应用程序对第二代码进行校验,可以校验第二代码的逻辑、第二代码的形式等。
步骤404,当校验通过时,执行根据待生成的驱动程序的框架、第一代码和第二代码生成驱动程序步骤。
当校验通过时,表示第二代码为准确的代码,目标应用程序可以根据待生成的驱动程序的框架、第一代码和第二代码生成准确的驱动程序。
当校验不通过时,目标应用程序可以生成提示信息,以提示软件开发人员对第二代码进行修改,而得到校验通过的第二代码。其中,提示信息可以是对第二代码中校验不通过的部分生成预设标记。预设标记可以是预设颜色、预设图标等,不限于此。
在本实施例中,对输入的第二代码进行校验,当校验通过时,可以根据待生成的驱动程序的框架、第一代码和校验通过的第二代码生成更准确的驱动程序。
在一个实施例中,如图5所示,根据待生成的驱动程序的框架和第一代码生成驱动程序,包括:
步骤502,根据待生成的驱动程序的框架和第一代码预生成参照程序。
参照程序指的是根据待生成的驱动程序的框架和第一代码预生成的程序。可以理解的是,该参照程序为预生成的程序,并不是最终得到的驱动程序。目标应用程序可以在显示界面中展示该预生成的参照程序,以用于软件开发人员对参照程序进行修改或者编辑处理。
步骤504,当获取到对参照程序的修改指令时,基于对参照程序的修改指令修改参照程序,得到驱动程序。
当目标应用程序获取到对参照程序的修改指令时,确定参照程序中需要进行修改的部分,获取对参照程序进行修改的修改内容,将修改内容替换参照程序中需要进行修改的部分,得到驱动程序。
在本实施例中,根据待生成的驱动程序的框架和第一代码预生成参照程序,当获取到对参照程序的修改指令时,基于对参照程序的修改指令修改参照程序,得到驱动程序。预生成参照程序,可以对参照程序进行编辑或者修改,避免了生成的驱动程序存在错误而无法执行的问题,从而可以生成准确的驱动程序。
在另一个实施例中,根据待生成的驱动程序的框架和第一代码预生成参照程序之后,还包括:当目标应用程序接收到对参照程序的生成指令时,基于参照程序生成驱动程序。
当目标应用程序接收到对参照程序的生成指令时,表示该预生成的参照程序无需修改或者编辑,则基于参照程序生成驱动程序,可以直接将参照程序作为驱动程序,并将驱动程序存储在数据库中。
在一个实施例中,如图6所示,执行步骤602,启动目标应用程序。目标应用程序执行步骤604,确定待生成的驱动程序的类型,则基于待生成的驱动程序的类型获取待生成的驱动程序的框架。目标应用程序执行步骤606,确定待生成的驱动程序的驱动对象;执行步骤608,获取配置的驱动对象的属性值,则可以获取属性值对应的驱动对象的第一代码。目标应用程序执行步骤610,获取输入的驱动对象的第二代码,并执行步骤612。步骤612,判断第二代码是否需要修改,若是,则返回执行步骤610;若否,则执行步骤614。目标应用程序还可以将修改后的第二代码存储在数据库中。步骤614,通过编译工具对框架、第一代码和第二代码进行编译,生成驱动程序。其中,编译工具可以是Microsoft Visual Studio。通过Microsoft Visual Studio编译工具对数据库中的框架、第一代码和第二代码进行编译,生成驱动程序。
应该理解的是,虽然图2至图5的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2至图5中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图7所示,提供了一种驱动程序生成装置700,包括:驱动程序的类型确定模块702、驱动程序的框架确定模块704、属性值获取模块706、第一代码获取模块708和驱动程序生成模块710,其中:
驱动程序的类型确定模块702,用于确定待生成的驱动程序的类型。
驱动程序的框架确定模块704,用于基于待生成的驱动程序的类型获取待生成的驱动程序的框架。
属性值获取模块706,用于确定待生成的驱动程序的驱动对象,并获取配置的驱动对象的属性值。
第一代码获取模块708,用于获取属性值对应的驱动对象的第一代码。
驱动程序生成模块710,用于根据待生成的驱动程序的框架和第一代码生成驱动程序。
上述驱动程序生成装置,确定待生成的驱动程序的类型,基于待生成的驱动程序的类型获取待生成的驱动程序的框架;确定待生成的驱动程序的驱动对象,并获取配置的驱动对象的属性值,可以获取属性值对应的驱动对象的第一代码;则根据待生成的驱动程序的框架和第一代码可以快速生成驱动程序,避免了软件开发人员手动编辑驱动程序的代码,节约了人力物力及时间成本,提高了生成驱动程序的效率。
在一个实施例中,上述驱动程序生成装置还包括存储模块,用于预先存储驱动对象的模板代码;上述第一代码获取模块708还用于查找驱动对象的模板代码;将属性值输入模板代码中,得到驱动对象的第一代码。
在一个实施例中,模板代码包括驱动对象的属性参数;上述第一代码获取模块708还用于将属性值替换模板代码中的属性参数,得到驱动对象的第一代码。
在一个实施例中,上述驱动程序生成装置还包括第二代码获取模块,用于获取输入的驱动对象的第二代码;上述驱动程序生成模块710还用于根据待生成的驱动程序的框架、第一代码和第二代码生成驱动程序。
在一个实施例中,上述驱动程序生成装置还包括修改模块,用于对属性值对应的驱动对象的第一代码进行修改,得到第三代码;上述驱动程序生成模块710还用于根据待生成的驱动程序的框架、第三代码和第二代码生成驱动程序。
在一个实施例中,上述驱动程序生成装置还包括校验模块,用于对第二代码进行校验;当校验通过时,通过驱动程序生成模块710执行根据待生成的驱动程序的框架、第一代码和第二代码生成驱动程序步骤。
在一个实施例中,上述驱动程序生成模块710还用于根据待生成的驱动程序的框架和第一代码预生成参照程序;当获取到对参照程序的修改指令时,基于对参照程序的修改指令修改参照程序,得到驱动程序。
关于驱动程序生成装置的具体限定可以参见上文中对于驱动程序生成方法的限定,在此不再赘述。上述驱动程序生成装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种驱动程序生成方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:确定待生成的驱动程序的类型;基于待生成的驱动程序的类型获取待生成的驱动程序的框架;确定待生成的驱动程序的驱动对象,并获取配置的驱动对象的属性值;获取属性值对应的驱动对象的第一代码;根据待生成的驱动程序的框架和第一代码生成驱动程序。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:预先存储驱动对象的模板代码;查找驱动对象的模板代码;将属性值输入模板代码中,得到驱动对象的第一代码。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:模板代码包括驱动对象的属性参数;将属性值替换模板代码中的属性参数,得到驱动对象的第一代码。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取输入的驱动对象的第二代码;根据待生成的驱动程序的框架、第一代码和第二代码生成驱动程序。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:对属性值对应的驱动对象的第一代码进行修改,得到第三代码;根据待生成的驱动程序的框架、第三代码和第二代码生成驱动程序。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:对第二代码进行校验;当校验通过时,执行根据待生成的驱动程序的框架、第一代码和第二代码生成驱动程序步骤。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据待生成的驱动程序的框架和第一代码预生成参照程序;当获取到对参照程序的修改指令时,基于对参照程序的修改指令修改参照程序,得到驱动程序。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:确定待生成的驱动程序的类型;基于待生成的驱动程序的类型获取待生成的驱动程序的框架;确定待生成的驱动程序的驱动对象,并获取配置的驱动对象的属性值;获取属性值对应的驱动对象的第一代码;根据待生成的驱动程序的框架和第一代码生成驱动程序。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:预先存储驱动对象的模板代码;查找驱动对象的模板代码;将属性值输入模板代码中,得到驱动对象的第一代码。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:模板代码包括驱动对象的属性参数;将属性值替换模板代码中的属性参数,得到驱动对象的第一代码。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取输入的驱动对象的第二代码;根据待生成的驱动程序的框架、第一代码和第二代码生成驱动程序。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:对属性值对应的驱动对象的第一代码进行修改,得到第三代码;根据待生成的驱动程序的框架、第三代码和第二代码生成驱动程序。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:对第二代码进行校验;当校验通过时,执行根据待生成的驱动程序的框架、第一代码和第二代码生成驱动程序步骤。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:根据待生成的驱动程序的框架和第一代码预生成参照程序;当获取到对参照程序的修改指令时,基于对参照程序的修改指令修改参照程序,得到驱动程序。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种驱动程序生成方法,其特征在于,所述方法包括:
确定待生成的驱动程序的类型;
基于所述待生成的驱动程序的类型获取所述待生成的驱动程序的框架;
确定所述待生成的驱动程序的驱动对象,并获取配置的所述驱动对象的属性值;
获取所述属性值对应的所述驱动对象的第一代码;
根据所述待生成的驱动程序的框架和所述第一代码生成驱动程序。
2.根据权利要求1所述的方法,其特征在于,所述获取所述属性值对应的所述驱动对象的第一代码之前,还包括:
预先存储所述驱动对象的模板代码;
所述获取所述属性值对应的所述驱动对象的第一代码,包括:
查找所述驱动对象的模板代码;
将所述属性值输入所述模板代码中,得到所述驱动对象的第一代码。
3.根据权利要求2所述的方法,其特征在于,所述模板代码包括所述驱动对象的属性参数;
所述将所述属性值输入所述模板代码中,得到所述驱动对象的第一代码,包括:
将所述属性值替换所述模板代码中的属性参数,得到所述驱动对象的第一代码。
4.根据权利要求1所述的方法,其特征在于,所述获取所述属性值对应的所述驱动对象的第一代码之后,还包括:
获取输入的所述驱动对象的第二代码;
所述根据所述待生成的驱动程序的框架和所述第一代码生成驱动程序,包括:
根据所述待生成的驱动程序的框架、所述第一代码和所述第二代码生成驱动程序。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
对所述属性值对应的所述驱动对象的第一代码进行修改,得到第三代码;
所述根据所述待生成的驱动程序的框架、所述第一代码和所述第二代码生成驱动程序,包括:
根据所述待生成的驱动程序的框架、所述第三代码和所述第二代码生成驱动程序。
6.根据权利要求4所述的方法,其特征在于,所述获取输入的所述驱动对象的第二代码之后,还包括:
对所述第二代码进行校验;
当校验通过时,执行根据所述待生成的驱动程序的框架、所述第一代码和所述第二代码生成驱动程序步骤。
7.根据权利要求1所述的方法,其特征在于,所述根据所述待生成的驱动程序的框架和所述第一代码生成驱动程序,包括:
根据所述待生成的驱动程序的框架和所述第一代码预生成参照程序;
当获取到对所述参照程序的修改指令时,基于对所述参照程序的修改指令修改所述参照程序,得到驱动程序。
8.一种驱动程序生成装置,其特征在于,所述装置包括:
驱动程序的类型确定模块,用于确定待生成的驱动程序的类型;
驱动程序的框架确定模块,用于基于所述待生成的驱动程序的类型获取所述待生成的驱动程序的框架;
属性值获取模块,用于确定所述待生成的驱动程序的驱动对象,并获取配置的所述驱动对象的属性值;
第一代码获取模块,用于获取所述属性值对应的所述驱动对象的第一代码;
驱动程序生成模块,用于根据所述待生成的驱动程序的框架和所述第一代码生成驱动程序。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
CN202010855395.9A 2020-08-24 2020-08-24 驱动程序生成方法、装置、计算机设备和存储介质 Pending CN112162743A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010855395.9A CN112162743A (zh) 2020-08-24 2020-08-24 驱动程序生成方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010855395.9A CN112162743A (zh) 2020-08-24 2020-08-24 驱动程序生成方法、装置、计算机设备和存储介质

Publications (1)

Publication Number Publication Date
CN112162743A true CN112162743A (zh) 2021-01-01

Family

ID=73859734

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010855395.9A Pending CN112162743A (zh) 2020-08-24 2020-08-24 驱动程序生成方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN112162743A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113050998A (zh) * 2021-03-30 2021-06-29 联想(北京)有限公司 电子设备及控制方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090064196A1 (en) * 2007-08-31 2009-03-05 Microsoft Corporation Model based device driver code generation
US20150089515A1 (en) * 2013-09-21 2015-03-26 Vayavya Labs Private. Limited System and method for generating a device driver using an archive of template code
CN106874014A (zh) * 2017-03-06 2017-06-20 北京领航里程碑软件技术有限公司 基于模型和框架的三层代码生成方法
CN107992304A (zh) * 2017-12-29 2018-05-04 北京远特科技股份有限公司 一种生成显示界面的方法和装置
CN108829395A (zh) * 2018-06-19 2018-11-16 中国电子科技集团公司第四十研究所 一种面向信号驱动程序代码自动生成方法及装置
CN109634584A (zh) * 2018-11-22 2019-04-16 南京航空航天大学 一种基于代码生成的驱动封装和通信机制
CN110955418A (zh) * 2019-12-13 2020-04-03 中国南方电网有限责任公司 代码生成方法、装置、计算机设备和存储介质
CN111538488A (zh) * 2020-04-17 2020-08-14 荏原冷热系统(中国)有限公司 一种单片机驱动程序生成方法及装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090064196A1 (en) * 2007-08-31 2009-03-05 Microsoft Corporation Model based device driver code generation
US20150089515A1 (en) * 2013-09-21 2015-03-26 Vayavya Labs Private. Limited System and method for generating a device driver using an archive of template code
CN106874014A (zh) * 2017-03-06 2017-06-20 北京领航里程碑软件技术有限公司 基于模型和框架的三层代码生成方法
CN107992304A (zh) * 2017-12-29 2018-05-04 北京远特科技股份有限公司 一种生成显示界面的方法和装置
CN108829395A (zh) * 2018-06-19 2018-11-16 中国电子科技集团公司第四十研究所 一种面向信号驱动程序代码自动生成方法及装置
CN109634584A (zh) * 2018-11-22 2019-04-16 南京航空航天大学 一种基于代码生成的驱动封装和通信机制
CN110955418A (zh) * 2019-12-13 2020-04-03 中国南方电网有限责任公司 代码生成方法、装置、计算机设备和存储介质
CN111538488A (zh) * 2020-04-17 2020-08-14 荏原冷热系统(中国)有限公司 一种单片机驱动程序生成方法及装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113050998A (zh) * 2021-03-30 2021-06-29 联想(北京)有限公司 电子设备及控制方法
CN113050998B (zh) * 2021-03-30 2022-08-19 联想(北京)有限公司 电子设备及控制方法

Similar Documents

Publication Publication Date Title
CN109901834B (zh) 文档页面生成方法、装置、计算机设备和存储介质
CN108829477B (zh) 界面跳转方法、装置、计算机设备和存储介质
CN109814854B (zh) 项目框架生成方法、装置、计算机设备和存储介质
CN111522552B (zh) 子应用生成方法、装置、计算机设备和存储介质
CN106415480B (zh) 用于安装在移动设备上的用于允许对该移动设备进行远程配置的高速应用
CN110032519B (zh) 云函数调试方法、装置、计算机设备及存储介质
CN111563220A (zh) 业务网站项目构建方法、装置、计算机设备和存储介质
CN111068328A (zh) 游戏广告配置表格的生成方法、终端设备及介质
CN110399159A (zh) 操作系统的部署方法、装置、计算机设备和存储介质
CN111008132B (zh) Android系统的应用调试方法、装置、计算机设备和存储介质
CN111061475A (zh) 软件代码生成方法、装置、计算机设备和存储介质
CN111666740A (zh) 流程图生成方法、装置、计算机设备和存储介质
CN111475390A (zh) 日志采集系统部署方法、装置、设备及存储介质
CN112416318A (zh) 微服务开发方法、装置、存储介质及电子设备
CN114371841A (zh) 前端项目代码生成方法、装置、计算机设备和存储介质
CN112650487A (zh) 混合应用程序开发方法、系统、计算机设备和存储介质
CN111949262A (zh) 前端项目的构建方法、装置、计算机设备和存储介质
CN111045707B (zh) 小程序的更新方法、装置、计算机设备和存储介质
CN111111201B (zh) 一种基于游戏的技能创建方法、装置、服务器及介质
CN112882769B (zh) 技能包数据处理方法、装置、计算机设备和存储介质
CN112162743A (zh) 驱动程序生成方法、装置、计算机设备和存储介质
CN110806891B (zh) 嵌入式设备软件版本的生成方法及装置
CN112486492A (zh) 页面生成方法、装置、存储介质及电子设备
CN112083925A (zh) 基于h5页面开发的数据获取方法、装置、设备及存储介质
CN110597552A (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