CN115599382A - 基于AutoSar架构的代码自动生成工具及方法 - Google Patents
基于AutoSar架构的代码自动生成工具及方法 Download PDFInfo
- Publication number
- CN115599382A CN115599382A CN202211309233.0A CN202211309233A CN115599382A CN 115599382 A CN115599382 A CN 115599382A CN 202211309233 A CN202211309233 A CN 202211309233A CN 115599382 A CN115599382 A CN 115599382A
- Authority
- CN
- China
- Prior art keywords
- module
- management module
- configuration unit
- code
- unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了基于AutoSar架构的代码自动生成工具,包括控制器局域网络模块、诊断模块、诊断事件管理模块、网络管理模块、电源管理模块和ADC模块,控制器局域网络模块、诊断模块、诊断事件管理模块、网络管理模块、电源管理模块和ADC模块均与导出excel表格模块连接,控制器局域网络模块包括项目配置单元、模式中的通道配置单元、Com层配置单元、CanIf层配置单元、Driver层配置单元、搜索信号单元、信号关联事件单元和生成控制器局域网络模块代码单元。本发明基于AutoSar架构的代码自动生成工具及方法,通过采用Autosar架构,只需提供dbc文件,并在操作界面上进行配置,即可生成对应的宏、结构体、联合体、数组和函数的C语言代码。
Description
技术领域
本发明涉及计算机软件开发技术领域,具体为基于AutoSar架构的代码自动生成工具及方法。
背景技术
AutoSar架构,全称为Automotive Open System Architecture,即汽车开放系统架构。它是由全球各家汽车制造商,零部件供应商以及各种研究,服务机构共同参与的一种汽车电子系统的合作开发框架,并建立了一个开放的汽车控制器(ECU)标准软件架构。
在使用AutoSar架构的项目开发时,开发人员通常需要对照dbc文件和excel表格上的大量数据编写代码,此过程费时费力,开发质量不易控制,且在进行其他类似系统的开发时,需要重复进行此项开发,非常浪费人力物力。
因此,针对现有技术中的上述缺陷,提供一种AutoSar架构下Can层模块代码自动生成工具及方法,是非常有必要的。
发明内容
本发明的目的在于提供基于AutoSar架构的代码自动生成工具及方法,以解决上述背景技术中提出的在使用AutoSar架构的项目开发时,开发人员通常需要对照dbc文件和excel表格上的大量数据编写代码,此过程费时费力,开发质量不易控制,且在进行其他类似系统的开发时,需要重复进行此项开发,非常浪费人力物力的问题。
为实现上述目的,本发明提供如下技术方案:基于AutoSar架构的代码自动生成工具,包括控制器局域网络模块、诊断模块、诊断事件管理模块、网络管理模块、电源管理模块和ADC模块,所述控制器局域网络模块、诊断模块、诊断事件管理模块、网络管理模块、电源管理模块和ADC模块均与导出excel表格模块连接,所述控制器局域网络模块包括项目配置单元、模式中的通道配置单元、Com层配置单元、CanIf层配置单元、Driver层配置单元、搜索信号单元、信号关联事件单元和生成控制器局域网络模块代码单元,所述诊断模块包括总服务项配置单元、子服务项配置单元、DID配置单元、DTC展示单元和诊断模块代码生成单元,所述诊断事件管理模块包括滤波规则配置单元、事件配置单元和诊断事件管理模块代码生成单元组成,所述网络管理模块由网络配置单元和保存数据并生成网络管理模块的代码单元,所述网络管理模块包括电源配置单元和保存数据并生成网络管理模块的代码单元,所述电源管理模块包括导入ADC相关的excel表格单元、对Channel界面上的属性进行配置单元和保存数据并生成电源管理模块的代码。
优选的,所述项目配置单元为必须配置单元,可在以下4项中进行选择:665Project,234 project,502 Project,510Project。
优选的,所述模式中的通道配置单元为必须配置单元,用户需要勾选可用的通道,并导入dbc文件。
优选的,所述Driver层配置单元可配置的属性有:Enable(通道使能),SamplePoint(采样点),InterrupTx,InterruptRx,InterruptBusOff,Priority(优先级)。
基于AutoSar架构的代码自动生成方法,包括以下步骤:
S1:导入dbc文件,根据需要通过控制器局域网络模块生成控制器局域网络模块代码;
S2:导入表格,根据需要通过诊断模块生成诊断模块代码;
S3:导入表格,根据需要通过诊断事件管理模块生成诊断事件管理模块代码;
S4:根据需要通过网络管理模块生成网络管理模块代码;
S5:根据需要通过电源管理模块生成电源管理模块代码;
S6:导入表格,根据需要通过ADC模块生成ADC模块代码。
与现有技术相比,本发明的有益效果是:
通过采用Autosar架构,根据dbc文件生成相应的C语言代码,并导出到项目中,可直接编译生成网络模块,并对外提供API调用接口,提供可视化操作界面,通用性好、易用性高、易维护,只需提供dbc文件,并在操作界面上进行配置,即可生成对应的宏、结构体、联合体、数组和函数的C语言代码。
附图说明
图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模块生成的文件图。
图中:1、控制器局域网络模块;2、诊断模块;3、诊断事件管理模块;4、网络管理模块;5、电源管理模块;6、ADC模块;7、导出excel表格模块。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图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的代码。
使用时,通过采用Autosar架构,根据dbc文件生成相应的C语言代码,并导出到项目中,可直接编译生成网络模块,并对外提供API调用接口,提供可视化操作界面,通用性好、易用性高、易维护,只需提供dbc文件,并在操作界面上进行配置,即可生成对应的宏、结构体、联合体、数组和函数的C语言代码。
项目配置单元为必须配置单元,可在以下4项中进行选择:665 Project,234project,502 Project,510Project。
模式中的通道配置单元为必须配置单元,用户需要勾选可用的通道,并导入dbc文件。
Driver层配置单元可配置的属性有:Enable(通道使能),SamplePoint(采样点),InterrupTx,InterruptRx,InterruptBusOff,Priority(优先级)。
基于AutoSar架构的代码自动生成方法,包括以下步骤:
S1:导入dbc文件,根据需要通过控制器局域网络模块1生成控制器局域网络模块1代码;
S2:导入表格,根据需要通过诊断模块2生成诊断模块2代码;
S3:导入表格,根据需要通过诊断事件管理模块(3)生成诊断事件管理模块(3)代码;
S4:根据需要通过网络管理模块4生成网络管理模块4代码;
S5:根据需要通过电源管理模块5生成电源管理模块5代码;
S6:导入表格,根据需要通过ADC模块6生成ADC模块6代码。
具体使用时,控制器局域网络模块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”按键生成对应的文件。
诊断模块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,生成对应的代码。
诊断事件管理模块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”生成代码。
导出新excel模块7:
(1)点击右上角X号触发该模块;
(2)选择Yes,进入D盘,命名为SmartCodeConfigData,点击确认;
(3)生成excel文件并退出软件。
尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (5)
1.基于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)的代码。
2.根据权利要求1所述的基于AutoSar架构的代码自动生成工具,其特征在于:所述项目配置单元为必须配置单元,可在以下4项中进行选择:665 Project,234 project,502Project,510Project。
3.根据权利要求1所述的基于AutoSar架构的代码自动生成工具,其特征在于:所述模式中的通道配置单元为必须配置单元,用户需要勾选可用的通道,并导入dbc文件。
4.根据权利要求1所述的基于AutoSar架构的代码自动生成工具,其特征在于:所述Driver层配置单元可配置的属性有:Enable(通道使能),SamplePoint(采样点),InterrupTx,InterruptRx,InterruptBusOff,Priority(优先级)。
5.根据权利要求1所述的基于AutoSar架构的代码自动生成方法,其特征在于:包括以下步骤:
S1:导入dbc文件,根据需要通过控制器局域网络模块(1)生成控制器局域网络模块(1)代码;
S2:导入表格,根据需要通过诊断模块(2)生成诊断模块(2)代码;
S3:导入表格,根据需要通过诊断事件管理模块(3)生成诊断事件管理模块(3)代码;
S4:根据需要通过网络管理模块(4)生成网络管理模块(4)代码;
S5:根据需要通过电源管理模块(5)生成电源管理模块(5)代码;
S6:导入表格,根据需要通过ADC模块(6)生成ADC模块(6)代码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211309233.0A CN115599382A (zh) | 2022-10-25 | 2022-10-25 | 基于AutoSar架构的代码自动生成工具及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211309233.0A CN115599382A (zh) | 2022-10-25 | 2022-10-25 | 基于AutoSar架构的代码自动生成工具及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115599382A true CN115599382A (zh) | 2023-01-13 |
Family
ID=84849575
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211309233.0A Pending CN115599382A (zh) | 2022-10-25 | 2022-10-25 | 基于AutoSar架构的代码自动生成工具及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115599382A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116521143A (zh) * | 2023-07-04 | 2023-08-01 | 上海鉴智其迹科技有限公司 | 一种故障诊断did读写服务处理方法及装置 |
CN116820798A (zh) * | 2023-05-23 | 2023-09-29 | 广州汽车集团股份有限公司 | 数据处理方法、装置以及车辆 |
-
2022
- 2022-10-25 CN CN202211309233.0A patent/CN115599382A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116820798A (zh) * | 2023-05-23 | 2023-09-29 | 广州汽车集团股份有限公司 | 数据处理方法、装置以及车辆 |
CN116521143A (zh) * | 2023-07-04 | 2023-08-01 | 上海鉴智其迹科技有限公司 | 一种故障诊断did读写服务处理方法及装置 |
CN116521143B (zh) * | 2023-07-04 | 2023-09-29 | 上海鉴智其迹科技有限公司 | 一种故障诊断did读写服务处理方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115599382A (zh) | 基于AutoSar架构的代码自动生成工具及方法 | |
US8086955B2 (en) | Methods and apparatus for modifying process control data | |
CN106649225A (zh) | 一种基于json自定义的报表生成系统及方法 | |
CN100481001C (zh) | 界面自动生成方法和界面自动生成系统 | |
US7533347B2 (en) | Creating a graphical user interface for selected parameters of a graphical program | |
US20090076878A1 (en) | Efficient project staffing | |
CN101651576B (zh) | 告警信息处理方法和系统 | |
CN104123227A (zh) | 一种自动生成测试用例的方法 | |
CN101291253B (zh) | 一种网管客户端基于图形界面的人机命令交互方法 | |
CN103646104A (zh) | 一种强实时故障诊断方法及系统 | |
CN103577568A (zh) | 一种跨平台的移动安全综合信息聚合系统及其方法 | |
CN102222278A (zh) | 一种运维流程定制的方法及装置 | |
JP2002259643A (ja) | ビジネスプロセス制御プログラム | |
US20060123019A1 (en) | Management of component members using tag attributes | |
CN102567022B (zh) | 一种频谱分析仪类仪器系统的框架式设计方法 | |
CN106371869B (zh) | 一种智能变电站间隔层设备的iec61850配置软件实现方法 | |
CN102023859B (zh) | 面向数字化研制环境的可靠性维修性保障性软件集成方法 | |
CN106528156A (zh) | 一种页面数据处理方法和装置 | |
CN101706823B (zh) | 定制化数据库查询系统及查询方法 | |
CN103593188B (zh) | 一种用于仪器所见即所得菜单的管理系统及管理方法 | |
US8126961B2 (en) | Integration of client and server development environments | |
CN114238081A (zh) | 一种适用于小卫星批量测试的方法及系统 | |
US8495104B2 (en) | Database child object wizard | |
CN112596711A (zh) | 一种基于Web系统的个性化权限管理设置方法及系统 | |
CN101562633B (zh) | 可视化服务网络用户交互系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |