专利名称:电子设备的动态驱动的配置方法及配置装置的制作方法
技术领域:
本发明涉及一种电子设备的驱动配置方法以及配置装置,特别是涉及一种电子设备的动态驱动的配置方法以及配置装置。
背景技术:
目前,越来越多的电子设备在使用时,都需要安装配套的设备驱动程序,这些驱动程序主要完成对设备的过程控制以及相关的数值计算,有的复杂的设备驱动程序还需要承担如音视频的编解码等复杂的计算工作。这些驱动程序有的是直接嵌入到设备内部,在设备接通电源之后,由硬件直接载入并执行;有的驱动程序可能在另外一个控制目标设备的主设备上,由主设备运行。设备驱动程序的开发是一项较复杂的工作,如果是嵌入到设备内部的驱动,一般来说需要用单片机的开发环境来开发,如果是运行在主控设备上的驱动程序,需要使用主控操作系统的驱动程序开发包来完成。
无论是单片机开发还是使用驱动程序包开发都比一般的软件开发要复杂。另外,驱动程序在调试和测试时没有方便的工具,所以调试和测试耗费时间很长。所以驱动程序开发完成后要尽量避免大量的修改,即使必须修改也要尽量使后期的修改不要影响前期完成的工作,造成不必要的返工。因此在驱动程序设计时一般都要考虑到后期的需求变更,将可能发生变更的部分与其他不经常发生变更的部分在逻辑上尽量分开,降低两部分的耦合度。经常变更的部分又称为需配置部分,当需求变更发生时,开发人员只需要修改需配置部分。
如图1所示为发生需求变更的流程示意图,当提出一变更请求后,例如修改电子设备的一个功能,这里,首先要判断所要修改的功能是否在可配置的范围内,也就是说是否可以仅仅修改配置文件就可以完成修改。若不在可配置范围内,需要由驱动程序开发的人员修改驱动程序,若在可配置范围内,则只需要修改配置文件即可。现有常用实现电子设备驱动的方法主要有两种,一种为参数文件法;另一种为模块修改法。
当电子设备启动时,首先通过驱动程序初始化,读取驱动配置文件,然后从配置文件中提取所需参数数值,通过使用这些参数完成相应的功能。这样在产品发布后,如果需要改变这些参数的时候,不需要修改主驱动程序而只需修改配置文件即可实现。在产品发布的时候,预先要为这些参数提供缺省数值,在产品发布之后,如要想要修改这些参数,只需要修改配置文件中的这些缺省值,不需要重新编译驱动程序。例如,为一USB摄像头配置驱动程序时,可以预先设置亮度(Brightness),对比度(Contrast),曝光(Exposure),电源频率(Flicker),增益(Gain)等若干属性值为缺省参数。当用户需要改变该设备的参数时,只需要修改上述缺省参数值,但是这种方法仅限于在需求变更发生时,对缺省参数的简单修改和替换而不必修改使用这些参数的算法的情况,一旦修改是需要修改参数的算法仅靠修改参数的数值是远远不够的。可见,这种参数文件法是使用简单配置文件保存配置信息,在配置文件中仅提供参数的取值或取值范围,而不能配置动态的计算过程和控制过程。例如,如果用户需要调节USB摄像头的自动曝光时,此种方法将很难达到所需要的理想的效果。因为上面的参数中的Exposure、Flicker和Gain都和USB摄像头的曝光算法或者曝光控制过程有关。而针对不同的USB摄像头的硬件配置(如不同的CMOS传感器),可能要用不同的曝光控制过程才能达到理想效果,而这种需要动态配置过程的工作依靠使用修改配置文件的参数的参数文件法是无法实现的。
另一种实现驱动程序配置的方法为模块修改法,该方法是直接修改驱动程序原代码的方法。如前所述,在驱动程序设计时,针对未来发生变更的可能性大小把驱动程序分成不同的模块。当变更发生时,直接修改驱动程序中经常变更的模块。修改过程和前期开发过程基本相同,测试调试手段也一样。但是这种方法的后期修改成本很大,每次都需要修改驱动程序原有的代码,使配置过程变得复杂,并只能由驱动程序开发人员自己完成。如果变更频繁发生,后期修改成本将远远大于前期开发成本。
发明内容
针对现有的实现驱动配置的方法存在的问题,本发明目的之一是提出一种电子设备动态驱动的配置方法,该方法大大提高了配置文件的灵活配置能力。
该电子设备的驱动动态配置方法主要包括如下步骤框架设计步骤,在架构设计中根据不同的电子设备所需要实现的功能确定电子设备的整体驱动的体系结构,其中主要包含配置多少功能模块以及各个模块之间的接口;确定需要配置步骤,该步骤用于对框构设计步骤中所述的模块进行分析,并确定出有可能发生变更的模块;动态编辑步骤,该步骤根据上述有可能发生变更的模块的功能变化需求,对这些可能发生变更的模块编辑动态驱动的配置文件;翻译步骤,该步骤是相对于动态编辑步骤而设定的,用于将上述已经编辑完成的动态的配置文件翻译成为电子设备可直接运行的文件;集成合并步骤,该步骤用于配置实现对框构设计步骤中的可能发生变更的模块以外的其他模块的功能,然后将上述所有的完成配置功能的模块集成一个驱动配置文件。
其中,该电子设备的驱动动态配置方法还包括一打包和发送步骤,该步骤用于将上述集成合并步骤完成的电子设备的驱动配置文件,根据要求打包,并发送给客户。
其中,在所述的翻译步骤可以使用解释装置对所动态编辑步骤中的配置文件进行解释后,直接运行该配置文件。
所述的翻译步骤还可以使用编译装置对动态编辑步骤中的配置文件进行编译,将其先编译成为可被电子设备可执行的文件,然后再运行该可执行的文件。
其中,所述的编辑配置文件步骤中可以使用现有的编辑语言来完成,例如C,C++等语言。
本发明的另一目的是提供一种电子设备的动态驱动配置装置。
该装置包括设计单元,选择单元,动态驱动装置,集成合并单元。其中,所述的设计单元用于根据不同的电子设备所需要实现的功能对电子设备的整体驱动的体系结构进行设计,并确定出主要包含的功能模块以及各个模块之间的接口,并将设计的结果输入到选择单元。所述的选择单元根据设计单元的输入结果对所有的模块进行筛选,根据模块的功能可能会发生变化的情况而筛选出可能发生变更的模块,并将所筛选出的结果输入到动态驱动装置。所述的动态驱动装置将每一个可能发生变更的模块的所有预计可能变更情况进行动态的编辑,并将编辑的结果翻译成被电子设备可执行的文件。集成合并单元,其用于对所有可能发生变更的模块以外的模块完成功能的编辑后,将动态驱动单元输入的文件与其功能的编辑文件合并为一整体驱动文件。
其中该电子设备的动态驱动配置装置还包括打包发送单元,其用将集成合并单元输入的驱动文件打包成驱动文件包并发送给所需要的客户。
其中所述的动态驱动装置包括动态编辑单元和翻译单元,所述的动态编辑单元用于对可能发生变更的模块的功能变化需求,对这些可能发生变更的模块的变化进行编辑,编制出动态驱动的配置文件。所述的翻译单元用于将动态编辑单元所编制出的动态配置文件进行翻译,将其翻译成为电子设备可执行的文件。
本发明所提出的动态配置方法相对于参数配置法下的通过改变配置文件中参数值改变配置而言,提供了一种可更方便灵活,方便操作且可实现参数配置法所无法实现的驱动文件的动态配置的方法。
为了能够更清楚的说明本发明的内容,现结合以下附图和实施例对本发明做进一步的描述。
图1所示为发生需求变更的流程示意图;图2所示为本发明实施例1中的电子设备的动态驱动的配置方法方框图;图3所示为本发明实施例1中的电子设备的动态驱动的配置装置示图;图4所示为运行本发明的动态驱动配置文件的流程图;图5所示为发明实施例2中的电子设备的动态驱动的配置装置示图;图6所示为本发明实施例3中的电子设备的动态驱动的配置装置示图。
具体实施例方式
实施例1现结合图2和图3对本发明的电子设备的动态驱动配置方法和装置进行详细的描述。图2所示为本发明的电子设备的动态驱动的配置方法的方框图,图3为本发明实施例1的电子设备的动态驱动的配置装置示图。例如,对一USB摄像头进行驱动配置,首先构架设计单元根据USB摄像头所需要实现的功能,诸如在摄像或照相时所需的图像预览、曝光控制、图像捕获、图像处理、图像压缩和图像传输等功能划分出多个功能模块和各个模块的相应的接口。
框架设计单元将所设计的所有功能模块输入选择单元中,选择单元根据这些功能模块中具体的功能有可能发生变化的情况,对这些功能模块进行筛选,筛选出可能发生变更的模块。例如上述的USB摄像头的功能模块中的图像预览,图像捕获和曝光控制等模块均有可能会发生变化,故称这些模块为可能发生变更的模块。因为在USB摄像头中内置的成像传感器如果发生改变,例如更换新的类型的传感器,图像的预览的方式和图像的捕获方式均会相应的发生改变。在不同光线摄像时,用户会根据光线的强弱来选择用闪光或不闪光,也会根据光线的强弱来选择USB摄像头在摄像时的颜色亮度的对比度使得曝光控制也会发生变化,因此与完成上述功能相关的模块是可能根据不同的环境情况而发生变化的。
选择单元将所选择出的可能变更的模块输入到动态驱动装置,所述的动态驱动装置中的动态编辑单元将对每一个可能变更的模块的所有预计可能变更情况进行动态的编辑,例如,对USB摄像头的曝光控制模块进行动态的编辑,由于与该曝光控制模块的在曝光变化时与其相关的有曝光参数(Exposure),电源频率(Flicker)和增益(Gain)三项参数,因此动态编辑单元根据预测的不同环境情况以及各种情况与上述的参数之间大的对应关系,来完成对曝光的动态控制,并编制上述控制的动态配置文件。这里,编制过程一般可利用现有的语言C或C++等编程语言来完成,编制过程也是可以通过一般的编程步骤来实现诸如,先选取基本指令,再设计基本符号的定义和设计语法语义,最后根据不同的需求实现模块的不同功能。
所述的动态驱动装置的翻译单元将动态编辑单元所编制出的动态配置文件进行翻译,将其翻译成为电子设备可直接运行的文件。所述的翻译单元包括解释装置,例如解释器,对所述的动态配置文件进行解释,例如当USB摄像头在执行曝光控制功能的动态配置文件时,可以通过调用解释器对所述的配置文件的解释,再直接运行该动态配置文件。所述的翻译单元也可以包括编译装置,例如编译器,对所述的动态配置文件进行编译,将其先转化为对应的可执行的文件,然后再运行该可执行的文件。例如USB摄像头在执行曝光控制功能的动态配置文件时,编译器将所述的配置文件中的执行指令翻译成可被电子设备所执行代码,USB摄像头通过直接调用这些执行代码来实现执行动态配置文件。
所述的动态驱动装置对每一个可变更的模块实现动态的编辑,并编制成与各个模块相对应的动态的配置文件。
集成合并单元对可变更的模块以外的模块,即驱动配置的主体完成功能的编辑,并将动态驱动装置输入的动态配置文件与上述编辑的主体功能模块集成合并为一整体驱动文件。
最后由打包和发送单元将所述的整体驱动文件打包成驱动文件包并发送给所需的客户。
现参照图4对使用本发明的动态驱动配置文件的运行过程进行一说明。图4为本发明的运行本发明的动态驱动配置文件的流程图,当一具有动态驱动配置的设备开启时,例如启动一USB摄像头时,首先驱动文件对USB摄像头进行初始化设置,当USB摄像头进行曝光控制功能时,其读取驱动文件中的配置文件,并进一步读取动态的驱动配置文件中的曝光控制的配置文件,然后再读取动态驱动装置的翻译单元翻译的配置文件,如果该翻译单元是采用解释器完成的翻译,上述的读取的动态配置文件是先保存到内存中而不立即对其进行解释,当需要使用该配置文件时,再逐一通过解释器对其进行解释并可以直接执行解释过后的文件。如果采用的是编译器完成的翻译,将需要将读取的动态配置文件输入到编译器,通过编译器将该动态配置文件编译成可直接执行的代码并对将该代码保存,当需要使用该配置文件时直接执行上述的可执行代码即可。USB摄像头通过执行该曝光控制的动态配置文件后,可以根据实际情况达到控制曝光的目的。
实施例2由于本发明实施例1给出了一完整电子设备动态配置的方法和装置,由于根据实际情况,实施例1中的一些步骤和装置是可以省略或通过预先设定的,例如打包和发送步骤根据具体的情况有时也是可以省略的。框架设计步骤和确定需要配置步骤也是可以通过开发人员预先设定。图5所示为本发明实施例2给出一种电子设备的动态驱动配置装置,该配置装置包括动态驱动装置和集成合并单元,所述的动态驱动装置对每一个预先确定需要可能发生变更的模块的所有预计可能变更情况进行动态的编辑,并将编辑的结果翻译成被电子设备所运行的文件,该动态驱动装置进一步包括动态编辑单元和翻译单元。由于上述的装置及其功能与实施例1相应装置和功能完全所相同,这里就不再重复。
实施例3本发明实例3所提出的电子设备的动态驱动配置装置的结构和功能与实施例2的中相应的装置大致相同,仅存在细微的差别。如图6所示,所述的电子设备的动态驱动配置装置其包括动态驱动装置和选择集成单元,其中所述的动态驱动装置的结构和功能与实施例1和实施例2中相应的动态驱动装置和功能完全相同,这里不再重复。不同之处在于所有可能发生变更的模块以外的模块,即驱动配置的主体的功能编辑文件不在此单元中实现而由其他编辑单元(图中未示)来实现,所述的选择集成单元直接将其他编辑单元实现的驱动主体功能的编辑文件和动态驱动装置输入的动态配置文件集成合并为一整体驱动文件。
以上的具体实施例的仅是本发明的较佳实施例并不是用来限定本发明,本领域的普通技术人员根据本发明所揭示的内容所作出的相应修改和变更均属于本发明的所保护的范围。
权利要求
1.一种电子设备的动态驱动的配置方法,其包括以下步骤框架设计步骤,该步骤用于根据不同的电子设备所需要实现的功能来确定电子设备的整体驱动的体系结构,其中包括确定模块的功能和数量以及各个模块之间相应的接口;确定需要配置步骤,该步骤用于对框架设计步骤中所述的模块进行分析,并确定出有可能发生变更的模块;动态编辑步骤,该步骤根据上述有可能发生变更的模块的功能变化需求,对这些可能发生变更的模块编辑动态驱动的配置文件;翻译步骤,该步骤是相对于动态编辑步骤而设定的,用于将上述已经编辑完成的动态的配置文件翻译成电子设备可运行的文件;集成合并步骤,该步骤用于配置实现对框架设计步骤中的可能发生变更的模块以外的其他模块的功能,然后将上述所有的完成配置功能的模块集成一个驱动配置文件。
2.如权利要求1所述的电子设备的动态驱动的配置方法,其中还包括一打包和发送步骤,该步骤用于将上述集成合并步骤完成的电子设备的驱动配置文件,根据要求打包,并发送给客户。
3.如权利要求1和2中任一项所述的电子设备的动态驱动的配置方法,其中所述的翻译步骤使用解释装置对所动态编辑步骤中的配置文件进行解释。
4.如权利要求1和2中任一项所述的电子设备的动态驱动的配置方法,其中所述的翻译步骤使用编译装置对动态编辑步骤中的配置文件进行编译,将其编译成为被电子设备可执行的文件。
5.一种电子设备的动态驱动的配置装置,其包括设计单元,该单元用于根据不同的电子设备所需要实现的功能对电子设备的整体驱动的体系结构进行设计,并确定出主要包含功能模块以及各个模块之间相应的接口,并将设计的结果输入到选择单元;选择单元,该单元根据设计单元的输入结果对所有的模块进行筛选,根据模块的功能可能会发生变化的情况而筛选出可能发生变更的模块,并将所筛选出的结果输入到动态驱动装置;动态驱动装置,该装置将每一个可能发生变更的模块的所有预计可能变更情况进行动态的编辑,并将编辑的结果翻译成被电子设备可运行的文件;集成合并单元,该单元用于对可能发生变更的模块以外的模块完成编辑功能后,将动态驱动单元输入的文件与其编辑合并为一整体驱动文件。
6.如权利要求5所述的电子设备的动态驱动的配置装置,其还包括打包发送单元,该单元用将集成合并单元输入的驱动文件打包成驱动文件包并发送给所需要的客户。
7.如权利要求5和6中任一项所述的电子设备的动态驱动的配置装置,其中所述的动态驱动装置进一步包括动态编辑单元,其用于对每一个可能发生变更的模块的功能变化需求,对这些可能发生变更的模块的变化进行编辑,编制出动态驱动的配置文件;翻译单元,其用于将动态编辑单元所编制出的动态配置文件进行翻译,将其翻译成为电子设备可运行的文件。
8.如权利要求7所述的电子设备的动态驱动的配置装置,其中所述的翻译单元包括解释器,对所述的动态配置文件进行解释。
9.如权利要求7所述的电子设备的动态驱动的配置装置,其中所述的翻译单元包括编译器,对所述的动态配置文件编译成被电子设备可执行的文件。
10.一种电子设备的动态驱动的配置装置,其包括动态驱动装置,其对每一个预先确定可能发生变更的模块的所有预计可能变更情况进行动态的编辑,并将编辑的结果翻译成被电子设备可运行的文件;集成合并单元,其用于对可能发生变更的模块以外的模块完成编辑功能后,将动态驱动单元输入的动态配置文件与上述编辑后的文件合并为一整体驱动文件。
11.如权利要求10所述的电子设备的动态驱动的配置装置,其中所述的动态驱动装置包括动态编辑单元,其用于根据可能发生变更的模块的功能变化需求,对这些可能发生变更的模块的变化进行编辑,编制出动态驱动的配置文件;所述的翻译单元,其用于将动态编辑单元所编制出的动态配置文件进行翻译,将其翻译成为电子设备可运行的文件。
12.如权利要求11所述的电子设备的动态驱动的配置装置,其中所述的翻译单元包括解释器,对所述的动态配置文件进行解释。
13.如权利要求11所述的电子设备的动态驱动的配置装置,其中所述的翻译单元包括编译器,对所述的动态配置文件编译成被电子设备可执行的文件。
14.一种电子设备的动态驱动的配置装置,其包括动态驱动装置,其对每一个预先确定可能发生变更的模块的所有预计可能变更情况进行动态的编辑,并将编辑的结果转化成被电子设备所识别的文件;选择集成单元,其直接将动态驱动装置输入的动态配置文件和其他编辑单元实现的驱动主体功能的编辑文件集成合并为一整体驱动文件。
15.如权利要求14所述的电子设备的动态驱动的配置装置,其中所述的动态驱动装置包括动态编辑单元,其用于对可能发生变更的模块的功能变化需求,对这些可能发生变更的模块的变化进行编辑,编制出动态驱动的配置文件;翻译单元,其用于将动态编辑单元所编制出的动态配置文件进行翻译,将其翻译成为电子设备可执行的文件。
16.如权利要求14所述的电子设备的动态驱动的配置装置,其中所述的翻译单元包括解释器,对所述的动态配置文件进行解释。
17.如权利要求14所述的电子设备的动态驱动的配置装置,其中所述的翻译单元包括编译器,对所述的动态配置文件编译成被电子设备可执行的文件。
全文摘要
本发明涉及一种电子设备的动态驱动的配置方法和装置,该方法主要包括框架设计步骤,确定需要配置步骤,动态编辑步骤,翻译步骤,集成合并步骤。实现该配置方法的装置主要包括设计单元,选择单元,动态驱动装置,集成合并单元。通过上述配置方法可以大大提高了配置文件的灵活配置能力,而且可以降低开发电子设备驱动配置的成本,方便操作,可实现驱动文件的动态配置的效果。
文档编号G06F9/44GK1664781SQ20051006634
公开日2005年9月7日 申请日期2005年4月22日 优先权日2005年4月22日
发明者周政军 申请人:北京中星微电子有限公司