一种嵌入式软件模块化生成方法和装置制造方法及图纸

技术编号:18349857 阅读:35 留言:0更新日期:2018-07-01 22:41
本发明专利技术公开了一种嵌入式软件模块化生成方法和装置。该方法包括:在确定各个软件模块的功能、配置选项以及基本API接口集后,对各个软件模块的功能以及基本API接口集进行功能细化处理,从而得到多个子功能,以及多个子功能对应的API接口。再根据各个子功能的实现过程,对该软件模块进行编码调试,以实现该软件模块的所有功能,并生成该软件模块对应的二进制执行文件。进一步的,完成各个软件模块的联合调试,并根据调试结果更新各个软件模块对应的二进制执行文件。本发明专利技术还公开了一种嵌入式软件模块化生成装置,可以防止生成的软件的代码泄漏,并实现对软件的模块化处理。

【技术实现步骤摘要】
一种嵌入式软件模块化生成方法和装置
本专利技术涉及嵌入式软件设计领域,更具体地说,涉及一种嵌入式软件模块化生成方法和装置。
技术介绍
在当今汽车领域中,电子控制单元(ECU,ElectronicControlUnit)的软件开发已经实现了代码模块化划分。软件开发中会使用到多个软件模块,这些模块大多通过源代码或静态库的形式发布,为实现将各个软件模块功能整合于ECU固件中,需针对这些软件模块设计相应的逻辑连接,然后将各个软件模块集成在一起编译、链接和调试,生成最终的ECU固件。在现有技术中,采用源代码或静态库的方式发布软件模块存在泄漏的风险,另外由于各个软件模块集成在一起,当软件模块需要变更,如解决BUG(软件缺陷),性能更新升级等时,ECU固件的逻辑连接关系需要重新作出调整,并重新执行编译、链接、调试和再发布的过程,不利于ECU固件的更新及维护。
技术实现思路
有鉴于此,本专利技术提供一种嵌入式软件模块化生成方法和装置,以二进制执行文件的形式发布软件,防止软件代码泄漏,同时通过在各个软件模块中添加模块头,以实现对软件的模块化处理,实现软件模块之间的调用。为了实现上述目的,现提出的方案如下:一种嵌入式软件模块化生成方法,包括:步骤A:确定各个软件模块的功能、配置选项以及基本API接口集;步骤B:对每个软件模块的功能以及基本API接口集进行划分处理,以确定该软件模块的多个子功能,以及每个子功能对应的API接口,并确定每个子功能的实现过程;步骤C:根据每个软件模块的每个子功能的实现过程、每个子功能对应的API接口以及所述配置选项,对该软件模块进行编码调试,生成该软件模块对应的二进制执行文件;所述二进制执行文件中包括该软件模块的执行编码以及需要对外部开放的模块头;步骤D:对各个软件模块进行联合调试,并根据调试结果更新所述二进制执行文件。优选的,步骤B之后还包括:评估所述软件模块自身的资源消耗情况,以确定所述软件模块的资源占用大小。优选的,所述执行编码为二进制机器码,所述模块头包括:模块说明信息、模块初始化向量、API向量表、回调函数向量以及模块配置信息。优选的,步骤C之后还包括:生成所述软件模块对应的模块使用说明文档、API接口定义文档以及模板工程,以方便对所述软件模块进行操作。优选的,还包括:判断每个所述软件模块是否进行功能升级;若是,则重复执行所述B至所述步骤D,以对所述二进制执行文件中的二进制机器码以及模块头进行更新。优选的,还包括:判断所述软件模块是否进行bug修复;若是,则重复执行所述B至所述步骤D,以对所述二进制执行文件中二进制机器码及所述模块头中的模块说明信息进行更新。一种嵌入式软件模块化生成装置,包括:信息采集模块,用于确定各个软件模块的功能、配置选项以及基本API接口集;功能以及API接口划分模块,用于对每个软件模块的功能以及基本API接口集进行细化处理,以确定该软件模块的多个子功能,以及每个子功能对应的API接口,并确定每个子功能的实现过程;编码调试模块,用于根据每个软件模块的每个子功能的实现过程、每个子功能对应的API接口以及所述配置选项,对该软件模块进行编码调试,生成该软件模块对应的二进制执行文件;所述二进制执行文件中包括该软件模块的执行编码以及需要对外部开放的模块头;验证模块,用于对各个软件模块进行联合调试,并根据调试结果更新所述二进制执行文件。优选的,所述执行编码为二进制机器码,所述模块头包括:模块说明信息、模块初始化向量、API向量表、回调函数向量以及模块配置信息。优选的,还包括:第一判断单元,用于判断所述软件模块是否进行功能升级。优选的,还包括:第二判断单元,用于判断所述软件模块是否进行bug修复。经由上述技术方案可知,本专利技术公开一种嵌入式软件模块化生成方法和装置。在确定各个软件模块的功能、配置选项以及基本API接口集后,对各个软件模块的功能以及基本API接口集进行功能细化处理,从而得到多个子功能,以及多个子功能对应的API接口。进而,根据各个子功能的实现过程,对该软件模块进行编码调试,以实现该软件模块的所有功能,并生成该软件模块对应的二进制执行文件。进一步,完成各个软件模块的联合调试,并根据调试结果更新各个软件模块对应的二进制执行文件。与现有技术相比,本专利技术以二进制执行文件的形式发布软件,防止软件代码泄漏,同时通过在各个软件模块中添加模块头,以实现对软件的模块化处理,实现软件模块之间的调用。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1示出了本专利技术一个实施例公开的一种嵌入式软件模块化生成方法的流程示意图;图2示出了本专利技术一个实施例公开的软件模块交互图;图3示出了本专利技术另一个实施例公开的一种嵌入式软件模块化生成方法的流程示意图;图4示出了本专利技术另一个实施例公开的一种嵌入式软件模块化生成装置的结构示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。参见图1示出了本专利技术一个实施例公开的一种嵌入式软件模块化生成方法的流程示意图。步骤A:确定各个软件模块的功能、配置选项以及基本API接口集。明确各个软件模块的功能,规划各软件模块的配置选项以及明确各个软件模块基本API接口集。其中不同的软件模块对应不同的API接口集。步骤B:对每个软件模块的功能以及基本API接口集进行划分处理,以确定该软件模块的多个子功能,以及每个子功能对应的API接口,并确定每个子功能的实现过程。对于每个软件模块而言,该软件模块所实现的功能可基于多个子功能联合实现。在本专利技术中,为了详细了解该软件模块的执行过程,需要对该软件模块的功能进行细化处理,得到该软件模块的多个子功能,并确定各个子功能对应的API接口,以及各个子功能的实现过程。需要说明的是,在各个子功能的执行过程中,每个子功能与API接口并不一定是一一对应的关系,一个子功能至少对应一个API接口。步骤C:根据每个软件模块的每个子功能的实现过程、每个子功能对应的API接口以及配置选项对该软件模块进行编码调试,生成该软件模块对应的二进制执行文件。二进制执行文件中包括该软件模块的执行编码以及需要对外部开放的模块头。在明确该软件模块各个子功能的实现过程以及实现该子功能对外部提供的API接口后,即可基于根据软件模块的配置选项对该软件模块进行编码调试,以实现该软件模块的所有功能,同时生成该软件模块对应的二进制执行文件。该二进制执行文件中包括该软件模块的执行编码,即二进制机器码,以及需要对外部提供的模块头。其中,API接口以API向量表的格式存储于模块头中。模块头由以下几个部分组成:1、Module_Info:模块说明信息,包括但不限于模块MagicNumber(幻数,它可以用来标记文件或者协议的格式)、软件版本号、发布日期、版权声明等。本文档来自技高网...
一种嵌入式软件模块化生成方法和装置

【技术保护点】
1.一种嵌入式软件模块化生成方法,其特征在于,包括:步骤A:确定各个软件模块的功能、配置选项以及基本API接口集;步骤B:对每个软件模块的功能以及基本API接口集进行划分处理,以确定该软件模块的多个子功能,以及每个子功能对应的API接口,并确定每个子功能的实现过程;步骤C:根据每个软件模块的每个子功能的实现过程、每个子功能对应的API接口以及所述配置选项,对该软件模块进行编码调试,生成该软件模块对应的二进制执行文件;所述二进制执行文件中包括该软件模块的执行编码以及需要对外部开放的模块头;步骤D:对各个软件模块进行联合调试,并根据调试结果更新所述二进制执行文件。

【技术特征摘要】
1.一种嵌入式软件模块化生成方法,其特征在于,包括:步骤A:确定各个软件模块的功能、配置选项以及基本API接口集;步骤B:对每个软件模块的功能以及基本API接口集进行划分处理,以确定该软件模块的多个子功能,以及每个子功能对应的API接口,并确定每个子功能的实现过程;步骤C:根据每个软件模块的每个子功能的实现过程、每个子功能对应的API接口以及所述配置选项,对该软件模块进行编码调试,生成该软件模块对应的二进制执行文件;所述二进制执行文件中包括该软件模块的执行编码以及需要对外部开放的模块头;步骤D:对各个软件模块进行联合调试,并根据调试结果更新所述二进制执行文件。2.根据权利要求1所述的方法,其特征在于,步骤B之后还包括:评估所述软件模块自身的资源消耗情况,以确定所述软件模块的资源占用大小。3.根据权利要求1所述的方法,其特征在于,所述执行编码为二进制机器码,所述模块头包括:模块说明信息、模块初始化向量、API向量表、回调函数向量以及模块配置信息。4.根据权利要求1所述的方法,其特征在于,步骤C之后还包括:生成所述软件模块对应的模块使用说明文档、API接口定义文档以及模板工程,以方便对所述软件模块进行操作。5.根据权利要求3所述的方法,其特征在于,还包括:判断每个所述软件模块是否进行功能升级;若是,则重复执行所述B至所述步骤D,以对所述二进制执行文件中的二进制机器码以及模块头...

【专利技术属性】
技术研发人员:李海龙
申请(专利权)人:北京经纬恒润科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1