一种加载驱动程序的方法及嵌入式设备的制作方法

文档序号:6545478阅读:268来源:国知局
一种加载驱动程序的方法及嵌入式设备的制作方法【专利摘要】本发明涉及计算机【
技术领域
】,公开了一种加载驱动程序的方法及设备,该方法包括:确定嵌入式设备包含的器件对应的型号标识,查找与该器件对应的型号标识相关联的驱动程序;将查找到的驱动程序加载至嵌入式设备的内存,并控制加载至所述嵌入式设备的内存的驱动程序对所述器件进行驱动;在该方案中,为待加载驱动程序的器件加载驱动程序时,根据该待加载驱动程序的器件的型号标识去查找相关联的驱动程序,进而将该相关联的驱动程序进行加载即可,不需要去多个器件的驱动程序组合中去查找,也不需要生成多个器件的驱动程序对应的标识的组合,因此,降低了所消耗的时间,提高了加载效率。【专利说明】一种加载驱动程序的方法及嵌入式设备【
技术领域
】[0001]本发明涉及计算机【
技术领域
】,特别涉及一种加载驱动程序的方法及嵌入式设备。【
背景技术
】[0002]随着通信技术的迅速发展,计算机领域经历了PC(PersonalComputer,个人电脑)时代,经历了网络时代,进而面向所谓的后PC时代,嵌入式设备作为PC时代及后网络时代的新秀,重要性日益凸显。[0003]目前,智能手机、穿戴设备等嵌入式设备上支持的器件越来越多,而每一个器件必须要有对应的驱动程序加载后才能运行,同一型号的嵌入式设备中的同一器件往往由不同厂家提供的,而不同厂家提供的同一器件对应的驱动程序也是不同的。在实际应用中,每一个嵌入式设备在出厂前,要将该嵌入式设备上的每一个器件的驱动程序加载完毕,以便持有嵌入式设备的用户可以直接使用。[0004]现有技术中,在加载驱动程序之前,要先将各个器件会使用到的驱动程序的标识进行组合,得到驱动程序标识组合,并将多个驱动程序标识组合添加到注册表中,嵌入式设备在加载驱动程序时,去注册表中进行查找,确定本嵌入式设备对应的驱动程序标识组合,然后根据该驱动程序标识组合中包括的各个器件的驱动程序的标识去查找对应的驱动程序,进而进行加载。[0005]例如,嵌入式设备有两个器件:陀螺仪、重力传感器,陀螺仪由两个厂家提供,厂家I提供的陀螺仪的驱动程序I对应的标识为标识1、厂家2提供的陀螺仪的驱动程序2对应的标识为标识2;重力传感器也由两个厂家提供,厂家3提供的重力传感器的驱动程序3对应的标识为标识3、厂家4提供的重力传感器的驱动程序4对应的标识为标识4,那么要生成四种驱动程序标识组合:驱动程序标识组合1:标识I和标识3;驱动程序标识组合2:标识I和标识4;驱动程序标识组合3:标识2和标识3;驱动程序标识组合4:标识2和标识4;每一批次的嵌入式设备都与一种驱动程序标识组合相对应,且在生产完成后对应的驱动程序标识组合也已经确定,因此,该嵌入式设备要加载驱动程序时,要先去注册表中查找驱动程序标识组合1、驱动程序标识组合2、驱动程序标识组合3、驱动程序标识组合4四种驱动程序标识组合中与该批次的嵌入式设备对应的驱动程序标识组合,然后,根据该驱动程序标识组合中包括的驱动程序的标识去查找驱动程序,进而去加载。[0006]嵌入式设备加载驱动程序时,该嵌入式设备与一个驱动程序标识组合相对应,然后,找到对应的驱动程序标识组合中包括的各个器件的驱动程序的标识,去加载与驱动程序的标识对应的驱动程序,随着嵌入式设备中的器件的增加,及每一个器件的生产厂商的多样化,驱动程序标识组合也越来越多,因此,存在耗时较长、加载效率较低的缺陷。【
发明内容】[0007]本发明实施例提供一种加载驱动程序的方法及装置,用以解决现有技术中存在的耗时较长、加载效率较低的问题。[0008]本发明实施例提供的具体技术方案如下:[0009]第一方面,提供一种加载驱动程序的方法,包括:[0010]确定嵌入式设备包含的器件对应的型号标识;所述器件为待加载驱动程序的器件;[0011]查找与所述器件对应的型号标识相关联的驱动程序;[0012]将查找到的驱动程序加载至所述嵌入式设备的内存,并控制加载至所述嵌入式设备的内存的驱动程序对所述器件进行驱动。[0013]结合第一方面,在第一种可能的实现方式中,查找与所述器件对应的型号标识相关联的驱动程序,具体包括:[0014]通过所述嵌入式设备的最小运行系统镜像查找与所述器件对应的型号标识相关联的驱动程序,其中,所述最小运行系统镜像用于所述嵌入式设备的启动、业务功能的运行,及所述嵌入式设备所包含的器件的驱动程序的加载。[0015]结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,在查找与所述器件对应的型号标识相关联的驱动程序之前,还包括:[0016]生成所述嵌入式设备的最小运行系统镜像。[0017]结合第一方面的第二种可能的实现方式,在第三种可能的实现方式中,生成所述嵌入式设备的最小运行系统镜像,包括:[0018]将基于所述嵌入式设备的业务功能开发的原始代码编译生成初始最小运行系统镜像,所述初始最小运行系统镜像包括可执行文件及可执行连接格式的文件;所述原始代码是用于实现所述嵌入式设备的业务功能;[0019]从所述初始最小运行系统镜像所包括的可执行连接格式的文件中抽取符号表;[0020]根据所述符号表生成C文件,并将生成的C文件添加至所述原始代码;[0021]将添加所述C文件后的所述原始代码进行编译,得到所述嵌入式设备的最小运行系统镜像。[0022]结合第一方面,或者第一方面的第一至第三种可能的实现方式,在第四种可能的实现方式中,在查找与所述器件对应的型号标识相关联的驱动程序之前,还包括:[0023]确定与所述器件同类型的器件分别的型号标识,以及所述同类型的器件分别对应的驱动程序;其中,所述同类型的器件为与所述器件具有相同属性或功能的器件;[0024]存储确定出的每一个与所述器件同类型的器件的型号标识与该同类型器件的驱动程序的关联关系。[0025]结合第一方面的第四种可能的实现方式,在第五种可能的实现方式中,存储确定出的每一个与所述器件同类型的器件的型号标识与该同类型器件的驱动程序的关联关系,具体包括:[0026]将每一个所述同类型器件的驱动程序编译为预设格式的文件,所述预设格式的文件具有重定位的属性;[0027]将所述预设格式的文件,按照预设规则进行存储,并获取存储所述预设格式的文件的逻辑地址;[0028]存储所述任意一型号标识与获取得到的逻辑地址的对应关系。[0029]结合第一方面的第五种可能的实现方式,在第六种可能的实现方式中,所述预设格式的文件的地址字段为初始预设值;在将所述预设格式的文件,按照预设规则进行存储之后,所述方法还包括:[0030]将所述预设格式的文件的地址字段中的所述初始预设值更改为所述逻辑地址。[0031]结合第一方面的第五或第六种可能的实现方式,在第七种可能的实现方式中,查找与所述器件对应的型号标识相关联的驱动程序,具体包括:[0032]从存储的关联关系中确定与所述器件对应的型号标识对应的逻辑地址;[0033]将确定的逻辑地址中存储的预设格式的文件,作为与所述器件对应的型号标识相关联的驱动程序。[0034]结合第一方面的第六或第七种可能的实现方式,在第八种可能的实现方式中,将查找到的驱动程序加载至所述嵌入式设备的内存,具体包括:[0035]确定所述驱动程序加载至所述嵌入式设备的内存后的物理地址;[0036]将所述驱动程序中的地址字段从逻辑地址修改为所述物理地址。[0037]结合第一方面的第一至第八种可能的实现方式,在第九种可能的实现方式中,将查找到的驱动程序加载至所述嵌入式设备的内存,包括:[0038]采用动态加载的方式通过所述最小运行系统镜像将查找到的驱动程序加载至所述嵌入式设备的内存。[0039]结合第一方面的第九种可能的实现方式,在第十种可能的实现方式中,采用动态加载的方式通过所述最小运行系统镜像将查找到的驱动程序加载至所述嵌入式设备的内存,具体包括:[0040]利用所述最小运行系统镜像中的函数和全局变量,将查找的驱动程序拷贝至所述嵌入式设备的内存;[0041]基于所述最小运行系统镜像采用函数指针的形式,调用所述查找到的驱动程序中的接口函数,将拷贝至所述嵌入式设备的内存的驱动程序进行链接。[0042]第二方面,提供一种加载驱动程序的嵌入式设备,包括:[0043]确定单元,用于确定嵌入式设备包含的器件对应的型号标识;所述器件为待加载驱动程序的器件;[0044]查找单元,用于查找与所述器件对应的型号标识相关联的驱动程序;[0045]加载单元,用于将查找到的驱动程序加载至所述嵌入式设备的内存,并控制加载至所述嵌入式设备的内存的驱动程序对所述器件进行驱动。[0046]结合第二方面,在第一种可能的实现方式中,所述查找单元具体用于:[0047]通过所述嵌入式设备的最小运行系统镜像查找与所述器件对应的型号标识相关联的驱动程序,其中,所述最小运行系统镜像用于所述嵌入式设备的启动、业务功能的运行,及所述嵌入式设备所包含的器件的驱动程序的加载。[0048]结合第二方面的第一种可能的实现方式,在第二种可能的实现方式中,还包括生成单元,所述生成单元用于生成所述嵌入式设备的最小运行系统镜像。[0049]结合第二方面的第二种可能的实现方式,在第三种可能的实现方式中,所述生成单元包括:[0050]编译模块,用于将基于所述嵌入式设备的业务功能开发的原始代码编译生成初始最小运行系统镜像,所述初始最小运行系统镜像包括可执行文件及可执行连接格式的文件;所述原始代码是用于实现所述嵌入式设备的业务功能;[0051]抽取模块,用于从所述初始最小运行系统镜像所包括的可执行连接格式的文件中抽取符号表;根据所述符号表生成C文件,并将生成的C文件添加至所述原始代码;[0052]所述编译模块还用于,将添加所述C文件后的所述原始代码进行编译,得到所述嵌入式设备的最小运行系统镜像。[0053]结合第二方面,或者第二方面的第一至第三种可能的实现方式,在第四种可能的实现方式中,还包括存储单元,所述存储单元具体用于:[0054]确定与所述器件同类型的器件分别的型号标识,以及所述同类型的器件分别对应的驱动程序;其中,所述同类型的器件为与所述器件具有相同属性或功能的器件;[0055]存储确定出的每一个与所述器件同类型的器件的型号标识与该同类型器件的驱动程序的关联关系。[0056]结合第二方面的第四种可能的实现方式,在第五种可能的实现方式中,所述存储单元具体用于:[0057]将每一个所述同类型器件的驱动程序编译为预设格式的文件,所述预设格式的文件具有重定位的属性;将所述预设格式的文件,按照预设规则进行存储,并获取存储所述预设格式的文件的逻辑地址;存储所述任意一型号标识与获取得到的逻辑地址的对应关系。[0058]结合第二方面的第五种可能的实现方式,在第六种可能的实现方式中,所述预设格式的文件的地址字段为初始预设值,所述存储单元还用于:[0059]在将所述预设格式的文件,按照预设规则进行存储之后,将所述预设格式的文件的地址字段中的所述初始预设值更改为所述逻辑地址。[0060]结合第二方面的第五或第六种可能的实现方式,在第七种可能的实现方式中,所述查找单元具体用于:[0061]从存储的关联关系中确定与所述器件对应的型号标识对应的逻辑地址;[0062]将确定的逻辑地址中存储的预设格式的文件,作为与所述器件对应的型号标识相关联的驱动程序。[0063]结合第二方面的第六或第七种可能的实现方式,在第八种可能的实现方式中,所述加载单元具体用于:[0064]确定所述驱动程序加载至所述嵌入式设备的内存后的物理地址;[0065]将所述驱动程序中的地址字段从逻辑地址修改为所述物理地址。[0066]结合第二方面的第一至第八种可能的实现方式,在第九种可能的实现方式中,所述加载单元具体用于:[0067]利用所述最小运行系统镜像中的函数和全局变量,将查找的驱动程序拷贝至所述嵌入式设备的内存;[0068]基于所述最小运行系统镜像采用函数指针的形式,调用所述查找到的驱动程序中的接口函数,将拷贝至所述嵌入式设备的内存的驱动程序进行链接。[0069]本发明有益效果如下:[0070]现有技术中,嵌入式设备在加载驱动程序时,去注册表中查找与本嵌入式设备对应的驱动程序标识组合,然后,根据驱动程序标识组合中包括的驱动程序的标识,去查找每一个驱动程序的标识对应的驱动程序,由于驱动程序标识组合也越来越多,因此,存在耗时较长、加载效率较低的缺陷,本发明实施例中,确定嵌入式设备包含的器件当前对应的型号标识;器件为待加载驱动程序的器件;查找与器件对应的型号标识相关联的驱动程序;将查找到的驱动程序加载至嵌入式设备的内存,控制链接至嵌入式设备的内存的驱动程序对器件进行驱动,在该方案中,为待加载驱动程序的器件加载驱动程序时,根据该待加载驱动程序的器件的型号标识去查找相关联的驱动程序,进而将该相关联的驱动程序进行加载即可,不需要生成多个驱动程序标识组合,不需要去多个驱动程序标识组合中去查找,也因此,降低了所消耗的时间,提高了加载效率。【专利附图】【附图说明】[0071]图1A为本发明实施例中加载驱动程序的流程图;[0072]图1B为本发明实施例中生成最小运行系统镜像的示意图;[0073]图1C为本发明实施例中驱动程序编译为预设格式的文件的示意图;[0074]图1D为本发明实施例中加载的实现示意图;[0075]图2为本发明实施例中加载驱动程序的实施例;[0076]图3为本发明实施例中嵌入式设备的功能结构示意图;[0077]图4为本发明实施例中嵌入式设备的实体装置结构示意图。【具体实施方式】[0078]使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。[0079]本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另夕卜,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。[0080]在实际应用中,一个嵌入式设备通常包括多个器件,比如显示器、传感器、处理器、摄像头等等,每一个器件在运行之前,都需要加载驱动程序,因此,本发明实施例中,提供一种加载驱动程序的方法,该方法中:确定嵌入式设备包含的器件对应的型号标识;器件为待加载驱动程序的器件;查找与器件对应的型号标识相关联的驱动程序;将查找到的驱动程序加载至嵌入式设备的内存,并控制加载至嵌入式设备的内存的驱动程序对器件进行驱动,在该方案中,为待加载驱动程序的器件加载驱动程序时,根据该待加载驱动程序的器件的型号标识去查找相关联的驱动程序,进而将该相关联的驱动程序进行加载即可,不需要去多个器件的驱动程序的组合中去查找,也不需要生成多个器件的驱动程序对应的标识的组合,因此,降低了所消耗的时间,提高了加载效率。[0081]下面结合附图对本发明优选的实施方式进行详细说明。[0082]参阅图1A所示,本发明实施例中提供一种加载驱动程序的方法,该方法的具体过程如下:[0083]步骤100:确定嵌入式设备包含的器件对应的型号标识;器件为待加载驱动程序的器件;[0084]步骤110:查找与器件对应的型号标识相关联的驱动程序;[0085]步骤120:将查找到的驱动程序加载至嵌入式设备的内存,并控制加载至嵌入式设备的内存的驱动程序对器件进行驱动。[0086]本发明实施例中,步骤100-步骤120的方案的触发条件有多种,例如,在接收到加载驱动程序的指示时,开始执行步骤100-步骤120,当然,在实际应用中,还有其他触发条件,在此不再进行详述。[0087]本发明实施例中,接收到的加载驱动程序的指示有多种,例如,嵌入式设备初始化的指示可以作为加载驱动程序的指示,还例如,检测到嵌入式设备插入外围设备时,可以将检测信息作为加载驱动程序的指示,当然,在实际应用中,还有多种其他形式,在此不再进行详述。[0088]本发明实施例中,型号标识用于唯一标识由某一厂家生产的同一种器件,不同厂家生产同类型器件由不同的型号标识来区分,即型号标识用于表征某一器件由某一厂家生产,例如,型号标识1:A10376BZH,用于表征陀螺仪由XX厂家生产;型号标识2:B10376ASD,用于表征重力传感器由LLL厂家生产,一般地,型号标识的前两位用于标识器件,型号标识的后三位用于表示厂家,型号标识的其他位可以标识器件的生产批次等,可以随着应用场景的不同而进行变化,在此不再进行详述,同理,型号标识也可以随着应用场景的不同而进行变化,在此不再进行详述。[0089]本发明实施例中,查找与器件对应的型号标识相关联的驱动程序的方式有多种,可选的,可以采用如下形式:[0090]通过嵌入式设备的最小运行系统镜像查找与器件对应的型号标识相关联的驱动程序,其中,最小运行系统镜像用于嵌入式设备的启动、业务功能的运行,及嵌入式设备所包含的器件的驱动程序的加载,最小运行系统镜像只包括BSP(BoardSupportPackage,板级支持包)、操作系统与应用层软件。[0091]需要说明的是,现在技术中的操作系统镜像通常包括BSP、操作系统与应用层软件,除此之外还包括器件的驱动程序,因此,现有技术中,对器件的驱动程序的加载仅仅指的是将驱动程序的初始化,而本发明实施例中,最小运行系统镜像只包括BSP、操作系统与应用层软件,因此,要先将驱动程序加载至嵌入式设备的内存,然后,再对驱动程序的初始化,因此,本发明实施例中的最小运行系统镜像的功能与现在技术中的操作系统镜像的功能相比,多了驱动程序加载的功能。[0092]当然,在实际应用中,还可以通过其他方式实现查找与器件对应的型号标识相关联的驱动程序,在此不再进行一一详述。[0093]此时,在查找与器件对应的型号标识相关联的驱动程序之前,还包括如下操作:[0094]生成嵌入式设备的最小运行系统镜像。[0095]本发明实施例中,在生成嵌入式设备的最小运行系统镜像时,要通过二次编译来实现,具体可以采用如下方式,如图1B所示:[0096]将基于嵌入式设备的业务功能开发的原始代码编译生成初始最小运行系统镜像,初始最小运行系统镜像包括可执行文件及可执行连接格式的文件;原始代码是用于实现嵌入式设备的业务功能;[0097]从初始最小运行系统镜像所包括的可执行连接格式的文件中抽取符号表;[0098]将符号表生成C文件,并将生成的C文件添加至原始代码;[0099]将添加C文件后的原始代码进行编译,得到嵌入式设备的最小运行系统镜像。[0100]本发明实施例中,为了使第二次编译后得到的最小运行系统镜像中包括的函数和全局变量的执行地址,与第一次编译生成的最小运行系统镜像中的符号表地址完全匹配,在第二次编译过程中,在链接脚本段划分的尾部新增两个段空间,用来存放符号表中生成的data和字符串。[0101]在实际应用中,查找与器件对应的型号标识相关联的驱动程序之前,应该先存储与待加载驱动程序的器件对应的型号标识相关联的驱动程序,因此,本发明实施例中,在查找与器件对应的型号标识相关联的驱动程序之前之前,还包括如下操作:[0102]确定与器件同类型的器件分别的型号标识,以及同类型的器件分别对应的驱动程序;其中,同类型的器件为与器件具有相同属性或功能的器件;[0103]存储确定出的每一个与器件同类型的器件的型号标识与该同类型器件的驱动程序的关联关系。[0104]本发明实施例中,同类型的器件可以有多种形式,例如,可以是由不同厂家生产的具有相同功能或属性的器件,比如由A、B、C厂家分别生产的显示屏,这三个厂家分别生产的显示屏为同类型的器件,或者,由A、B、C厂家分别生产的重力传感器,这三个厂家分别生产的重力传感器为同类型的器件;又例如,也可以是同一厂家生产的不同批次或版本的具有相同功能或属性器件,比如由A厂家生产的500W像素的摄像头、800W像素的摄像头,这两类摄像头也为同类型的器件。[0105]例如:显示屏S由三个生产厂家,其中,来自于厂家A的显示屏S对应的型号标识为型号标识1,对应驱动程序I;来自于厂家B的显示屏S对应的型号标识为型号标识2,对应驱动程序2;来自于厂家C的显示屏S对应的型号标识为型号标识3,对应驱动程序3,那么,显示屏S对应于三个型号标识,且每一个型号标识对应于一个驱动程序,那么针对于显不屏S,记录二条关联关系:第一条关联关系:型号标识I与驱动程序I的关联关系、第二条关联关系:型号标识2与驱动程序2的关联关系、第三条关联关系:型号标识3与驱动程序3的关联关系。[0106]本发明实施例中,存储确定出的每一个与器件同类型的器件的型号标识与该同类型器件的驱动程序的关联关系的方式有多种,可选的,可以采用如下方式:[0107]将每一个同类型器件的驱动程序编译为预设格式的文件,预设格式的文件具有重定位的属性;[0108]将预设格式的文件,按照预设规则进行存储,并获取存储预设格式的文件的逻辑地址;[0109]存储任意一型号标识与获取得到的逻辑地址的对应关系。[0110]本发明实施例中,预设格式的文件有多种,可选的,可以为ELF(ExecutableandLinkableFormat,可执行连接格式)的文件,此时,预设格式的文件的后缀为.0,当然,在实际应用中,随着应用场景的不同,预设格式的文件还可以为其他形式,在此不再进行详述。[0111]本发明实施例中,将每一个同类型器件的驱动程序编译为预设格式的文件的方式有多种,将驱动程序中包括的每一个后缀为.C的文件通过编译命令编译成预设格式的文件,再将编译出的各个预设格式的文件,通过链接命令,链接成一个预设格式的文件,其中,该预设格式的文件可以为ELF文件。[0112]如图1C所示,一个驱动程序中包括η个文件,在存储之前每一个文件的后缀为.C,先通过编译命令将驱动程序中的每一个后缀为.c的文件编译成后缀为.ο的文件,再将编译出的各个后缀为.0的文件,通过链接命令,链接成一个后缀为.0的为ELF文件格式,该ELF文件格式的文件具有重定位的属性。[0113]本发明实施例中,可以通过如下方式将预设格式的文件,按照预设规则进行存储,例如,通过打包工具imagebuild将驱动程序、和布局描述打包生成一个大镜像,进而将生成的大镜像烧入Flash,当然,还可以将最小运行系统镜像、驱动程序、和布局描述打包生成一个大镜像,此时,包括最小运行系统镜像、驱动程序、和布局描述的大镜像的数据存储结构描述格式如表1所不:[0114]表1大镜像的数据存储结构描述[0115]【权利要求】1.一种加载驱动程序的方法,其特征在于,包括:确定嵌入式设备包含的器件对应的型号标识;所述器件为待加载驱动程序的器件;查找与所述器件对应的型号标识相关联的驱动程序;将查找到的驱动程序加载至所述嵌入式设备的内存,并控制加载至所述嵌入式设备的内存的驱动程序对所述器件进行驱动。2.如权利要求1所述的方法,其特征在于,查找与所述器件对应的型号标识相关联的驱动程序,具体包括:通过所述嵌入式设备的最小运行系统镜像查找与所述器件对应的型号标识相关联的驱动程序,其中,所述最小运行系统镜像用于所述嵌入式设备的启动、业务功能的运行,及所述嵌入式设备所包含的器件的驱动程序的加载。3.如权利要求2所述的方法,其特征在于,在查找与所述器件对应的型号标识相关联的驱动程序之前,还包括:生成所述嵌入式设备的最小运行系统镜像。4.如权利要求3所述的方法,其特征在于,生成所述嵌入式设备的最小运行系统镜像,包括:将基于所述嵌入式设备的业务功能开发的原始代码编译生成初始最小运行系统镜像,所述初始最小运行系统镜像包括可执行文件及可执行连接格式的文件;所述原始代码是用于实现所述嵌入式设备的业务功能;从所述初始最小运行系统镜像所包括的可执行连接格式的文件中抽取符号表;根据所述符号表生成C文件,并将生成的C文件添加至所述原始代码;将添加所述C文件后的所述原始代码进行编译,得到所述嵌入式设备的最小运行系统镜像。5.如权利要求1-4任一项所述的方法,其特征在于,在查找与所述器件对应的型号标识相关联的驱动程序之前,还包括:确定与所述器件同类型的器件分别的型号标识,以及所述同类型的器件分别对应的驱动程序;其中,所述同类型的器件为与所述器件具有相同属性或功能的器件;存储确定出的每一个与所述器件同类型的器件的型号标识与该同类型器件的驱动程序的关联关系。6.如权利要求5所述的方法,其特征在于,存储确定出的每一个与所述器件同类型的器件的型号标识与该同类型器件的驱动程序的关联关系,具体包括:将每一个所述同类型器件的驱动程序编译为预设格式的文件,所述预设格式的文件具有重定位的属性;将所述预设格式的文件,按照预设规则进行存储,并获取存储所述预设格式的文件的逻辑地址;存储所述任意一型号标识与获取得到的逻辑地址的对应关系。7.如权利要求6所述的方法,其特征在于,所述预设格式的文件的地址字段为初始预设值;在将所述预设格式的文件,按照预设规则进行存储之后,所述方法还包括:将所述预设格式的文件的地址字段中的所述初始预设值更改为所述逻辑地址。8.如权利要求6或7所述的方法,其特征在于,查找与所述器件对应的型号标识相关联的驱动程序,具体包括:从存储的关联关系中确定与所述器件对应的型号标识对应的逻辑地址;将确定的逻辑地址中存储的预设格式的文件,作为与所述器件对应的型号标识相关联的驱动程序。9.如权利要求7或8所述的方法,其特征在于,将查找到的驱动程序加载至所述嵌入式设备的内存,具体包括:确定所述驱动程序加载至所述嵌入式设备的内存后的物理地址;将所述驱动程序中的地址字段从逻辑地址修改为所述物理地址。10.如权利要求2-任一项所述的方法,其特征在于,将查找到的驱动程序加载至所述嵌入式设备的内存,包括:采用动态加载的方式通过所述最小运行系统镜像将查找到的驱动程序加载至所述嵌入式设备的内存。11.如权利要求10所述的方法,其特征在于,采用动态加载的方式通过所述最小运行系统镜像将查找到的驱动程序加载至所述嵌入式设备的内存,具体包括:利用所述最小运行系统镜像中的函数和全局变量,将查找的驱动程序拷贝至所述嵌入式设备的内存;基于所述最小运行系统镜像采用函数指针的形式,调用所述查找到的驱动程序中的接口函数,将拷贝至所述嵌入式设备的内存的驱动程序进行链接。12.—种加载驱动程序的嵌入式设备,其特征在于,包括:确定单元,用于确定嵌入式设备包含的器件对应的型号标识;所述器件为待加载驱动程序的器件;查找单元,用于查找与所述器件对应的型号标识相关联的驱动程序;加载单元,用于将查找到的驱动程序加载至所述嵌入式设备的内存,并控制加载至所述嵌入式设备的内存的驱动程序对所述器件进行驱动。13.如权利要求12所述的嵌入式设备,其特征在于,所述查找单元具体用于:通过所述嵌入式设备的最小运行系统镜像查找与所述器件对应的型号标识相关联的驱动程序,其中,所述最小运行系统镜像用于所述嵌入式设备的启动、业务功能的运行,及所述嵌入式设备所包含的器件的驱动程序的加载。14.如权利要求13所述的嵌入式设备,其特征在于,还包括生成单元,所述生成单元用于生成所述嵌入式设备的最小运行系统镜像。15.如权利要求14所述的嵌入式设备,其特征在于,所述生成单元包括:编译模块,用于将基于所述嵌入式设备的业务功能开发的原始代码编译生成初始最小运行系统镜像,所述初始最小运行系统镜像包括可执行文件及可执行连接格式的文件;所述原始代码是用于实现所述嵌入式设备的业务功能;抽取模块,用于从所述初始最小运行系统镜像所包括的可执行连接格式的文件中抽取符号表;根据所述符号表生成C文件,并将生成的C文件添加至所述原始代码;所述编译模块还用于,将添加所述C文件后的所述原始代码进行编译,得到所述嵌入式设备的最小运行系统镜像。16.如权利要求12-15任一项所述的嵌入式设备,其特征在于,还包括存储单元,所述存储单元具体用于:确定与所述器件同类型的器件分别的型号标识,以及所述同类型的器件分别对应的驱动程序;其中,所述同类型的器件为与所述器件具有相同属性或功能的器件;存储确定出的每一个与所述器件同类型的器件的型号标识与该同类型器件的驱动程序的关联关系。17.如权利要求16所述的嵌入式设备,其特征在于,所述存储单元具体用于:将每一个所述同类型器件的驱动程序编译为预设格式的文件,所述预设格式的文件具有重定位的属性;将所述预设格式的文件,按照预设规则进行存储,并获取存储所述预设格式的文件的逻辑地址;存储所述任意一型号标识与获取得到的逻辑地址的对应关系。18.如权利要求17所述的嵌入式设备,其特征在于,所述预设格式的文件的地址字段为初始预设值,所述存储单元还用于:在将所述预设格式的文件,按照预设规则进行存储之后,将所述预设格式的文件的地址字段中的所述初始预设值更改为所述逻辑地址。19.如权利要求17或18所述的嵌入式设备,其特征在于,所述查找单元具体用于:从存储的关联关系中确定与所述器件对应的型号标识对应的逻辑地址;并将确定的逻辑地址中存储的预设格式的文件,作为与所述器件对应的型号标识相关联的驱动程序。20.如权利要求18或19所述的嵌入式设备,其特征在于,所述加载单元具体用于:确定所述驱动程序加载至所述嵌入式设备的内存后的物理地址,并将所述驱动程序中的地址字段从逻辑地址修改为所述物理地址。21.如权利要求13-20任一项所述的嵌入式设备,其特征在于,所述加载单元具体用于:利用所述最小运行系统镜像中的函数和全局变量,将查找的驱动程序拷贝至所述嵌入式设备的内存;基于所述最小运行系统镜像采用函数指针的形式,调用所述查找到的驱动程序中的接口函数,将拷贝至所述嵌入式设备的内存的驱动程序进行链接。【文档编号】G06F9/445GK103942078SQ201410182979【公开日】2014年7月23日申请日期:2014年4月30日优先权日:2014年4月30日【发明者】王大能,钟光华,袁方申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1