一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于AutoSar架构的代码自动生成工具及方法与流程

2023-01-15 11:13:01 来源:中国专利 TAG:

基于autosar架构的代码自动生成工具及方法
技术领域
1.本发明涉及计算机软件开发技术领域,具体为基于autosar架构的代码自动生成工具及方法。


背景技术:

2.autosar架构,全称为automotive open system architecture,即汽车开放系统架构。它是由全球各家汽车制造商,零部件供应商以及各种研究,服务机构共同参与的一种汽车电子系统的合作开发框架,并建立了一个开放的汽车控制器(ecu)标准软件架构。
3.在使用autosar架构的项目开发时,开发人员通常需要对照dbc文件和excel表格上的大量数据编写代码,此过程费时费力,开发质量不易控制,且在进行其他类似系统的开发时,需要重复进行此项开发,非常浪费人力物力。
4.因此,针对现有技术中的上述缺陷,提供一种autosar架构下can层模块代码自动生成工具及方法,是非常有必要的。


技术实现要素:

5.本发明的目的在于提供基于autosar架构的代码自动生成工具及方法,以解决上述背景技术中提出的在使用autosar架构的项目开发时,开发人员通常需要对照dbc文件和excel表格上的大量数据编写代码,此过程费时费力,开发质量不易控制,且在进行其他类似系统的开发时,需要重复进行此项开发,非常浪费人力物力的问题。
6.为实现上述目的,本发明提供如下技术方案:基于autosar架构的代码自动生成工具,包括控制器局域网络模块、诊断模块、诊断事件管理模块、网络管理模块、电源管理模块和adc模块,所述控制器局域网络模块、诊断模块、诊断事件管理模块、网络管理模块、电源管理模块和adc模块均与导出excel表格模块连接,所述控制器局域网络模块包括项目配置单元、模式中的通道配置单元、com层配置单元、canif层配置单元、driver层配置单元、搜索信号单元、信号关联事件单元和生成控制器局域网络模块代码单元,所述诊断模块包括总服务项配置单元、子服务项配置单元、did配置单元、dtc展示单元和诊断模块代码生成单元,所述诊断事件管理模块包括滤波规则配置单元、事件配置单元和诊断事件管理模块代码生成单元组成,所述网络管理模块由网络配置单元和保存数据并生成网络管理模块的代码单元,所述网络管理模块包括电源配置单元和保存数据并生成网络管理模块的代码单元,所述电源管理模块包括导入adc相关的excel表格单元、对channel界面上的属性进行配置单元和保存数据并生成电源管理模块的代码。
7.优选的,所述项目配置单元为必须配置单元,可在以下4项中进行选择:665 project,234 project,502 project,510project。
8.优选的,所述模式中的通道配置单元为必须配置单元,用户需要勾选可用的通道,并导入dbc文件。
9.优选的,所述driver层配置单元可配置的属性有:enable(通道使能),
samplepoint(采样点),interruptx,interruptrx,interruptbusoff,priority(优先级)。
10.基于autosar架构的代码自动生成方法,包括以下步骤:s1:导入dbc文件,根据需要通过控制器局域网络模块生成控制器局域网络模块代码;s2:导入表格,根据需要通过诊断模块生成诊断模块代码;s3:导入表格,根据需要通过诊断事件管理模块生成诊断事件管理模块代码;s4:根据需要通过网络管理模块生成网络管理模块代码;s5:根据需要通过电源管理模块生成电源管理模块代码;s6:导入表格,根据需要通过adc模块生成adc模块代码。
11.与现有技术相比,本发明的有益效果是:通过采用autosar架构,根据dbc文件生成相应的c语言代码,并导出到项目中,可直接编译生成网络模块,并对外提供api调用接口,提供可视化操作界面,通用性好、易用性高、易维护,只需提供dbc文件,并在操作界面上进行配置,即可生成对应的宏、结构体、联合体、数组和函数的c语言代码。
附图说明
12.图1:本发明软件的操作流程图;图2:本发明控制器局域网络模块的用户操作界面;图3:本发明诊断模块用户操作界面;图4:本发明诊断事件管理模块用户操作界面;图5:本发明网络管理模块用户操作界面;图6:本发明电源管理模块用户操作界面;图7:本发明adc模块用户操作界面;图8:本发明导出新excel表格模块用户操作界面;图9:本发明控制器局域网络模块full version生成的文件图;图10:本发明控制器局域网络模块full version中canif层生成的文件图;图11:本发明控制器局域网络模块full version中com层生成的文件图;图12:本发明控制器局域网络模块full version中driver层生成的文件图;图13:本发明控制器局域网络模块lite version简易版本中生成的文件;图14:本发明诊断事件管理模块生成的文件图;图15:本发明诊断模块生成的文件图;图16:本发明网络管理模块生成的文件图;图17:本发明电源管理模块生成的文件图;图18:本发明adc模块生成的文件图图19:本发明导出新excel模块生成的文件图。
13.图中:1、控制器局域网络模块;2、诊断模块;3、诊断事件管理模块;4、网络管理模块;5、电源管理模块;6、adc模块;7、导出excel表格模块。
具体实施方式
14.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
15.请参阅图1-19,本发明提供了基于autosar架构的代码自动生成工具,包括控制器局域网络模块1、诊断模块2、诊断事件管理模块3、网络管理模块4、电源管理模块5和adc模块6,控制器局域网络模块1、诊断模块2、诊断事件管理模块3、网络管理模块4、电源管理模块5和adc模块6均与导出excel表格模块7连接,控制器局域网络模块1包括项目配置单元、模式中的通道配置单元、com层配置单元、canif层配置单元、driver层配置单元、搜索信号单元、信号关联事件单元和生成控制器局域网络模块1代码单元,诊断模块2包括总服务项配置单元、子服务项配置单元、did配置单元、dtc展示单元和诊断模块2代码生成单元,诊断事件管理模块3包括滤波规则配置单元、事件配置单元和诊断事件管理模块3代码生成单元组成,网络管理模块4由网络配置单元和保存数据并生成网络管理模块4的代码单元,网络管理模块4包括电源配置单元和保存数据并生成网络管理模块4的代码单元,电源管理模块5包括导入adc相关的excel表格单元、对channel界面上的属性进行配置单元和保存数据并生成电源管理模块5的代码。
16.使用时,通过采用autosar架构,根据dbc文件生成相应的c语言代码,并导出到项目中,可直接编译生成网络模块,并对外提供api调用接口,提供可视化操作界面,通用性好、易用性高、易维护,只需提供dbc文件,并在操作界面上进行配置,即可生成对应的宏、结构体、联合体、数组和函数的c语言代码。
17.项目配置单元为必须配置单元,可在以下4项中进行选择:665 project,234 project,502 project,510project。
18.模式中的通道配置单元为必须配置单元,用户需要勾选可用的通道,并导入dbc文件。
19.driver层配置单元可配置的属性有:enable(通道使能),samplepoint(采样点),interruptx,interruptrx,interruptbusoff,priority(优先级)。
20.基于autosar架构的代码自动生成方法,包括以下步骤:s1:导入dbc文件,根据需要通过控制器局域网络模块1生成控制器局域网络模块1代码;s2:导入表格,根据需要通过诊断模块2生成诊断模块2代码;s3:导入表格,根据需要通过诊断事件管理模块(3)生成诊断事件管理模块(3)代码;s4:根据需要通过网络管理模块4生成网络管理模块4代码;s5:根据需要通过电源管理模块5生成电源管理模块5代码;s6:导入表格,根据需要通过adc模块6生成adc模块6代码。
21.具体使用时,控制器局域网络模块1代码的生成:(1)右键控制器局域网络模块1,选择“665 project”;(2)勾选“channel0(can/canfd)”;
(3)右键“add new dbc file”,导入hycan g05 ifc cmxv8.02.dbc文件;(4)展开bcs节点,勾选bcs_10_a消息和ebb_1_a消息;(5)选中bcs_10_a消息,分别配置driver,canif和com的属性,点击“save”保存,其中带“*”为必填项;(6)点击config,可以自由选择生成的文件。full version基于autosar架构,包括driver file,canif file和com file,这三个层次的文件也可单独生成。而lite version为非autosar架构。本次实例为点击full version和lite version;(7)点击config页面中的“generate”按键生成对应的文件。
22.诊断模块2代码的生成:(1)右键诊断模块2,选择“add new diag excel”,导入diag.xlsx文件;(2)诊断模块2会显示文件名字,并分dia,did和dtc三个子项;(3)dia会显示当前的主服务id和子服务id,展开主服务0x10,可以看到其子服务id。配置主服务和子服务的回调函数。dcmdsdsidtabfnc_0x10 和 dcmdsdsubservicefnc_0x02,点击save保存;(4)did模块显示id,勾选0x0110的回调函数did_0x0110_cbkfnc,点击save保存;(5)dtc模块仅显示表格的dtc属性,不可配置;(6)点击config页面,三个选项对应不同功能的文件,勾选三个选项;(7)点击config页面中的generate,生成对应的代码。
23.诊断事件管理模块3代码生成:(1)右键诊断事件管理模块3,点击“add event excel”,导入dem_modify.xlsx文件;(2)诊断事件管理模块3显示表格中所有的event;(3)点击ruleset界面,配置新的滤波规则rule2,点击“add”添加,点击eventset界面,给mcuapplicationcompleteandcompatible选择rule2滤波规则;(4)点击ruleset中的“generate”按键生成诊断事件管理模块3的代码;网络管理模块4代码生成:(1)直接在网络管理模块4的config界面进行配置,点击save保存;(2)点击generate生成代码电源管理模块5代码生成:(1)右键电源管理模块5,点击“add case”,添加1个case1;(2)在case页面进行配置。设置casename为wakeup,pmtime为10,pmfunction为wakeupcbk;(3)点击“save”保存,点击“generate”生成代码adc模块6代码生成:(1)右键adc模块6,点击“add adc excel”,导入adc.xlsx表格;(2)adc模块6显示5个通道,点击channel1;(3)diagstate设为enable,diagmaxval设为20,diagminval设为1,点击“save”保存;
(4)将channelset中的freervalue设为5000,freervol设为3.5f,sampnum设为15,点击“save”保存;(5)点击channel页面的“generate”生成代码。
24.导出新excel模块7:(1)点击右上角x号触发该模块;(2)选择yes,进入d盘,命名为smartcodeconfigdata,点击确认;(3)生成excel文件并退出软件。
25.尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献