一种代码自动生成的方法、系统、设备及存储介质技术方案

技术编号:34927069 阅读:17 留言:0更新日期:2022-09-15 07:21
本发明专利技术公开了一种代码自动生成的方法、系统、设备及存储介质,方法包括对DBC文件进行解析,获取报文信号信息;分别获取ECU抽象层中的CAN通道配置文件、服务层中各模块的arxml文件;根据报文信号信息和各层次文件进行Autosar模块的功能配置;生成各层次的目标代码文件。通过对客户的DBC文件进行解析,获取报文信号信息,分别结合Autosar架构中的ECU抽象层、服务层以及RTE层中的实际需求,自动生成各个层次的目标代码文件,将原本需要通过人工大量进行配置和构建的基础代码,实现自动生成,提高了基础软件的开发和集成速度,有效的降低了软件的开发周期或者变更周期。了软件的开发周期或者变更周期。了软件的开发周期或者变更周期。

【技术实现步骤摘要】
一种代码自动生成的方法、系统、设备及存储介质


[0001]本专利技术属于Autosar
,涉及一种代码自动生成的方法、系统、设备及存储介质。

技术介绍

[0002]Autosar架构拥有层次化、模块化、配置化、接口标准化的优点,目前越来越多的控制器采用Autosar架构进行控制器软件框架的构建。从结构流程简单的原开发模式升级为Autosar架构,对其输入和输出的文件内容要求不变,增强了软件的可移植性,但同时也增加了软件框架的复杂度。需要软件工程师投入更多的人力和时间进行软件的架构和功能开发。在进行基础软件的ECU抽象层、服务层以及RTE层开发时,软件工程师常常需要自行根据DBC文件等信息文件手动进行上千条模块选项的配置、调用接口的搭建、接口函数封装以及模型搭建等工作,不仅需要的软件开发或变更周期长,要求的技术门槛极高,而且由于工作量极大且存在机械性重复的操作,存在一定的开发失误的风险。

技术实现思路

[0003]本专利技术的目的在于解决现有技术中需要手动进行上千条模块选项的配置、调用接口的搭建和接口函数封装等工作,使软件的开发或者变更周期长的问题,提供一种代码自动生成的方法、系统、设备及存储介质。
[0004]为达到上述目的,本专利技术采用以下技术方案予以实现:
[0005]一种代码自动生成的方法,包括以下步骤:
[0006]对DBC文件进行解析,获取报文信号信息;
[0007]分别获取ECU抽象层中的CAN通道配置文件、服务层中各模块的arxml文件;
[0008]根据报文信号信息和各层次文件进行Autosar模块的功能配置;
[0009]分别生成ECU抽象层、服务层和RTE层的目标代码文件。
[0010]本专利技术的进一步改进在于:
[0011]所述ECU抽象层中目标代码文件为目标配置文件,目标配置文件的生成包括以下步骤:
[0012]获取并解析CANIF模块的CAN通道配置文件;
[0013]获取CAN通道配置文件格式要求;
[0014]根据CAN通道配置文件格式要求匹配报文信号信息与CAN通道配置文件;
[0015]生成目标配置文件,实现CAN通道的自动配置。
[0016]所述服务层中的目标代码文件为回调函数实体文件和目标arxml文件,具体包括以下步骤:
[0017]获取arxml文件格式结构;
[0018]获取arxml文件中回调函数实体的函数名信息;
[0019]配置函数体返回类型和参数等选项;
[0020]创建回调函数实体文件;
[0021]对服务层中各模块的功能进行配置或更改;
[0022]根据arxml文件格式结构和各模块功能配置或更改的内容生成目标arxml文件。
[0023]所述目标arxml文件和回调函数实体文件是基于Autosar工具生成的基础软件实现的。
[0024]所述RTE层中的目标代码文件为接口函数文件,接口函数文件的生成包括以下步骤:
[0025]获取基础软件层变量;
[0026]根据报文信号信息,声明RTE层信号变量;
[0027]对报文信号信息进行处理,实现基础软件层变量与RTE层信号变量的数据转换;
[0028]创建接口函数文件。
[0029]所述报文信号信息包括报文ID、报文信号名称、信号长度、位置、系数、偏移量和周期。
[0030]所述目标模型的生成采用MATLAB实现。
[0031]一种代码自动生成的系统,包括:
[0032]数据解析模块,所述数据解析模块用于对DBC文件进行解析,获取报文信号信息;
[0033]数据获取模块,所述数据获取模块用于分别获取ECU抽象层中的CAN通道配置文件、服务层中各模块的arxml文件;
[0034]数据配置模块,所述数据配置模块用于根据报文信号信息和各层次文件进行Autosar模块的功能配置;
[0035]目标代码生成模块,所述目标代码生成模块用于分别生成ECU抽象层、服务层和RTE层的目标代码文件。
[0036]一种设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如前项任一项所述方法的步骤。
[0037]一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如前项任一项所述方法的步骤。
[0038]与现有技术相比,本专利技术具有以下有益效果:
[0039]通过对客户的DBC文件进行解析,获取报文信号信息,分别结合Autosar架构中的ECU抽象层、服务层以及RTE层中的实际需求,自动生成各个层次的目标代码文件,将原本需要通过人工大量进行配置和构建的基础代码,实现自动生成,提高了基础软件的开发和集成速度,有效的降低了软件的开发周期或者变更周期。
附图说明
[0040]为了更清楚的说明本专利技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本专利技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
[0041]图1为本专利技术的代码自动生成的方法流程示意图;
[0042]图2为本专利技术的ECU抽象层目标代码文件生成示意图;
[0043]图3为本专利技术的服务层目标代码文件生成示意图;
[0044]图4为本专利技术的RTE层目标代码文件生成示意图;
[0045]图5为本专利技术中一种代码自动生成的系统示意图。
具体实施方式
[0046]为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本专利技术实施例的组件可以以各种不同的配置来布置和设计。
[0047]因此,以下对在附图中提供的本专利技术的实施例的详细描述并非旨在限制要求保护的本专利技术的范围,而是仅仅表示本专利技术的选定实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0048]应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
[0049]在本专利技术实施例的描述中,需要说明的是,若出现术语“上”、“下”、“水平”、“内”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该专利技术产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本专利技术和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本专利技术的限制。此外,术语“第一”、“第二”等仅用于区分描述,而不能理解为本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种代码自动生成的方法,其特征在于,包括以下步骤:对DBC文件进行解析,获取报文信号信息;分别获取ECU抽象层中的CAN通道配置文件、服务层中各模块的arxml文件;根据报文信号信息和各层次文件进行Autosar模块的功能配置;分别生成ECU抽象层、服务层和RTE层的目标代码文件。2.如权利要求1所述的一种代码自动生成的方法,其特征在于,所述ECU抽象层中目标代码文件为目标配置文件,目标配置文件的生成包括以下步骤:获取并解析CANIF模块的CAN通道配置文件;获取CAN通道配置文件格式要求;根据CAN通道配置文件格式要求匹配报文信号信息与CAN通道配置文件;生成目标配置文件,实现CAN通道的自动配置。3.如权利要求1所述的一种代码自动生成的方法,其特征在于,所述服务层中的目标代码文件为回调函数实体文件和目标arxml文件,具体包括以下步骤:获取arxml文件格式结构;获取arxml文件中回调函数实体的函数名信息;配置函数体返回类型和参数等选项;创建回调函数实体文件;对服务层中各模块的功能进行配置或更改;根据arxml文件格式结构和各模块功能配置或更改的内容生成目标arxml文件。4.如权利要求3所述的一种代码自动生成的方法,其特征在于,所述目标arxml文件和回调函数实体文件是基于Autosar工具生成的基础软件实现的。5.如权利要求1所述的一种代码自动生成的方法,其特征在于,所述RTE层中的目标代码文件为接口函数文件,接...

【专利技术属性】
技术研发人员:张航严鉴铂刘义张宇李睿
申请(专利权)人:陕西法士特齿轮有限责任公司
类型:发明
国别省市:

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

1