CAN配置文件和代码生成方法、装置、设备及介质与流程

文档序号:38546430发布日期:2024-07-05 11:17阅读:36来源:国知局
CAN配置文件和代码生成方法、装置、设备及介质与流程

本技术涉及汽车电子控制,特别涉及一种can配置文件和代码生成方法、装置、设备及介质。


背景技术:

1、随着汽车电动化和智能化的快速发展,整车各个模块ecu(electronic controlunit,电子控制单元)之间通信的要求也逐渐提高,can(controller area network,控制器局域网总线)是新能源汽车当前使用最普遍的一种通信方式,尤其是网关控制器中,会有大量的信号和报文经过网关控制器传输到各个模块的控制器中。目前,can模块的代码的生成方式主要有2种方式,一种是基于手写的代码,效率低且易出错;一种是基于芯片供应商的开发工具进行配置,是目前主流的can模块代码开发方法,可以提升代码的准确度,但此类开发工具操作较繁琐,尤其是涉及到报文较多的网关控制器,整体开发效率较低。

2、相关技术中,如专利cn201610893475.7《自动生成can通讯协议代码的方法和装置》中,通过获取预设模板表格上填写的整车can通讯协议内容,根据预设的函数生成对应的can通讯协议代码,通过获取模板表格上的填写的协议内容,然后自动生成对应的can通讯协议代码。该方法可提高代码生成的效率,但基于目前主流的基于供应商工具开发can模块代码的方法不适用。

3、相关技术中,如专利cn201710050527.9《can信号接口软件的自动生成方法、系统及车辆》,通过调用excel接口,从can矩阵表中读取can矩阵信息,生成调用基础软件层接收的can报文接口函数的接收模型,生成为接收模型的输入进行赋值的赋值模型,生成can报文的解包模型,生成数据正确性的检查模型,在接收模型接收到can报文时,根据赋值模型、解包模型以及检查模型对can报文进行解包和校验,开发效率高,减轻开发人员的负担。然而,其主要是由excel直接生成代码,且包含了can上层协议栈开发的内容,无法匹配现有供应商提高的开发工具及产业化软件的快速开发。

4、因此,相关技术中的can模块通信程序的自动生成方法存在以下问题:can模块代码的自动生成方法多是基于之前手写代码进行的相应提升方法,未基于现有主流产业化软件快速开发的方法进行适配,缺少基于汽车开放系统架构autosar(automotive opensystem architecture,汽车开放系统体系结构)和芯片供应商开发工具的can模块代码自动生成方法,亟待解决。


技术实现思路

1、本技术提供一种can配置文件和代码生成方法、装置、设备及介质,以解决相关技术中,can模块代码生成效率低且易出错,未基于现有主流产业化软件快速开发的方法进行适配等问题,实现了基于现有汽车开放系统架构autosar和芯片供应商开发工具的can模块代码自动生成方法,有效提高软件开发效率,降低人力开发成本,满足现有产业化软件快速开发的思路。

2、本技术第一方面实施例提供一种can配置文件和代码生成方法,包括以下步骤:

3、接收控制器局域网总线can配置指令;根据所述can配置指令,读取can协议的多个待配置参数和预设的微控制器抽象层mcal模板文件;基于所述多个待配置数据和所述预设的微控制器抽象层mcal模板文件,利用预设的参数映射模型得到目标mcal配置文件和目标代码。

4、根据上述技术手段,本技术实施例可以通过读取can协议上的can报文参数信息,以及预设的mcal模板文件的参数信息,利用预设的参数映射模型处理can报文参数信息和预设的mcal模板文件的参数信息,进而,本技术可以直接利用预设的参数映射模型自动生成符合davinci软件的目标mcal配置文件和目标代码,大大提高软件开发效率,准确率高,减轻开发人员和测试人员的负担,并且所生成的配置文件和代码满足现有产业化软件快速开发的思路,适配于现有汽车开放系统架构autosar和其他芯片供应商开发工具,实用性较强。

5、可选地,在一些实施例中,所述基于所述多个待配置数据和所述预设的微控制器抽象层mcal模板文件,利用预设的参数映射模型得到目标mcal配置文件和目标代码,包括:

6、读取can协议模板,得到多个第一参数信息和每个第一参数信息的关键字,并读取所述预设的mcal模板文件,得到多个第二参数信息和每个第二参数信息的位置;

7、确定所述多个第二参数信息中的固定参数,并将所述多个第二参数信息的固定参数写入所述目标mcal配置文件。

8、根据上述技术手段,本技术实施例提供建立预设的参数映射模型的方法,即根据can协议模板的参数信息及其关键字,以及预设的mcal模板文件的参数信息及其位置,通过参数固化操作,实现产业化软件开发过程中部分参数的固定。由此,本技术实施例通过固化部分参数,大大提高了代码的复用性,有效地提高软件开发效率,减轻开发人员和测试人员的负担。

9、可选地,在一些实施例中,在基于所述多个待配置数据和所述预设的微控制器抽象层mcal模板文件,利用所述预设的参数映射模型得到所述目标mcal配置文件和所述目标代码之前,还包括:

10、利用预设的映射规则,基于所述多个第一参数信息、所述每个第一参数信息的关键字、所述多个第二参数信息和所述每个第二参数信息的位置,生成所述预设的参数映射模型。

11、根据上述技术手段,本技术实施例提供建立预设的参数映射模型的方法,即在完成部分参数固化操作之后,通过can协议中参数的关键字定位其在mcal配置文件中的位置,制定参数映射规则,从而得到can模块参数映射模型,即本技术实施例预设的参数映射模型。由此,本技术可以利用该预设的参数映射模型,基于获取得到的can协议的多个待配置参数和预设的微控制器抽象层mcal模板文件,直接生成目标mcal配置文件和目标代码,实现了基于现有汽车开放系统架构autosar和芯片供应商开发工具的can模块代码自动生成方法,有效提高软件开发效率,减少人力开发成本。

12、可选地,在一些实施例中,所述基于所述多个待配置数据和所述预设的微控制器抽象层mcal模板文件,利用预设的参数映射模型得到目标mcal配置文件和目标代码,还包括:

13、基于所述can配置指令确定所述多个待配置参数中多个指定待配置参数;

14、根据所述多个指定待配置参数和所述预设的微控制器抽象层mcal模板文件,利用预设的动态组合策略生成所述目标代码。

15、根据上述技术手段,本技术实施例在代码生成的过程中,可以指定部分参数、部分模块、部分通道、部分信息量的动态组合,最终生成相应符合davinci软件的can配置信息和代码。由此,本技术实施例的can配置文件和代码生成方法满足现有产业化软件快速开发的思路,适配性较强,实用性较高,代码自动生成功能的实现更加灵活多样。

16、可选地,在一些实施例中,所述预设的映射规则,包括:

17、所述can协议模板的协议子网段与所述预设的mcal模板文件的硬件对象关联控制器的第一映射关系,所述can协议模板的节点与所述预设的mcal模板文件的硬件对象类型的第二映射关系,所述can协议模板的can id(controller area network identity,控制器局域网总线的识别号)与所述预设的mcal模板文件的硬件对象名称的第三映射关系。

18、根据上述技术手段,本技术实施例声明了几组can协议模板与预设的mcal模板文件之间的映射关系,在多次对比更新的mcal配置文件之后,将保持不变和呈规律性变动的参数进行固定操作,其余参数可以根据多组映射关系进行匹配,最终得到参数映射规则。由此,本技术可以基于预设的映射规则,自动对can协议配置数据和mcal配置文件进行匹配,提高软件开发效率和准确率,并且减轻开发人员和测试人员的负担。

19、本技术第二方面实施例提供一种can配置文件和代码生成装置,包括:

20、接收模块,用于接收控制器局域网总线can配置指令;

21、读取模块,用于根据所述can配置指令,读取can协议的多个待配置参数和预设的微控制器抽象层mcal模板文件;

22、生成模块,用于基于所述多个待配置数据和所述预设的微控制器抽象层mcal模板文件,利用预设的参数映射模型得到目标mcal配置文件和目标代码。

23、可选地,在一些实施例中,所述生成模块,具体用于:

24、读取can协议模板,得到多个第一参数信息和每个第一参数信息的关键字,并读取所述预设的mcal模板文件,得到多个第二参数信息和每个第二参数信息的位置;

25、确定所述多个第二参数信息中的固定参数,并将所述多个第二参数信息的固定参数写入所述目标mcal配置文件。

26、可选地,在一些实施例中,在基于所述多个待配置数据和所述预设的微控制器抽象层mcal模板文件,利用所述预设的参数映射模型得到所述目标mcal配置文件和所述目标代码之前,所述生成模块,还用于:

27、利用预设的映射规则,基于所述多个第一参数信息、所述每个第一参数信息的关键字、所述多个第二参数信息和所述每个第二参数信息的位置,生成所述预设的参数映射模型。

28、可选地,在一些实施例中,所述生成模块,还用于:

29、基于所述can配置指令确定所述多个待配置参数中多个指定待配置参数;

30、根据所述多个指定待配置参数和所述预设的微控制器抽象层mcal模板文件,利用预设的动态组合策略生成所述目标代码。

31、可选地,在一些实施例中,所述预设的映射规则,包括:

32、所述can协议模板的协议子网段与所述预设的mcal模板文件的硬件对象关联控制器的第一映射关系,所述can协议模板的节点与所述预设的mcal模板文件的硬件对象类型的第二映射关系,所述can协议模板的can id与所述预设的mcal模板文件的硬件对象名称的第三映射关系。

33、本技术第三方面实施例提供一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序,以实现如上述实施例所述的can配置文件和代码生成方法。

34、本技术第四方面实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储计算机程序,该程序被处理器执行时实现如上的can配置文件和代码生成方法。

35、本技术的有益效果:

36、(1)本技术可以快速且准确地实现can协议到mcal配置文件及代码的转化;

37、(2)本技术实现了基于现有汽车开放系统架构autosar和芯片供应商开发工具的can模块代码自动生成方法,有效提高软件开发效率,降低人力开发成本;

38、(3)本技术的can配置文件和代码生成方法匹配现有芯片供应商提供的开发工具davinci软件,具备较强的灵活性和实用性。

39、本技术附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本技术的实践了解到。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1