CN115809076A - Ecu软件自动化集成方法及*** - Google Patents
Ecu软件自动化集成方法及*** Download PDFInfo
- Publication number
- CN115809076A CN115809076A CN202211558219.4A CN202211558219A CN115809076A CN 115809076 A CN115809076 A CN 115809076A CN 202211558219 A CN202211558219 A CN 202211558219A CN 115809076 A CN115809076 A CN 115809076A
- Authority
- CN
- China
- Prior art keywords
- interface
- code
- application layer
- interface file
- file
- 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
Landscapes
- Stored Programmes (AREA)
Abstract
本发明提供了一种ECU软件自动化集成方法及***,包括:获取应用层代码及其对应的第一接口文件;对所述应用层代码的第一接口文件进行解析;从所述第一接口文件中获取接口信息,并根据所述接口信息进行接口变更校验;导入需要更新的接口文件,将所述应用层代码和底层代码的接口自动连接,并生成相应的RTE和OS代码;通过脚本进行代码集成编译,以实现软件自动化集成。本发明通过上述方式,实现软件自动化集成,可以降低人为操作带来错误的可能性以及提升代码集成的效率,减少ECU软件开发周期。
Description
技术领域
本发明涉及软件开发技术领域,特别涉及一种ECU软件自动化集成方法及***。
背景技术
AUTOSAR(AUTOmotive Open System Architecture)方法论在汽车行业ECU(Electronic Control Unit)软件开发中有着巨大优势,其规范提供了统一的标准化的软件架构以及软件接口,得益于此,软件的可移植性和可扩展性有了很大的提升,使得不同项目的ECU软件应用层(ASW)代码和底层(BSW)代码能够实现复用,大大缩短了ECU软件的开发周期。
目前,ECU软件整个开发过程中,应用层代码和底层代码都是根据AUTOSAR标准区分出了很多不同的功能模块,它们之间的交互由各种不同类型的PORT去完成。对于应用层与应用层之间以及底层模块之间的接口连接,很多工作都是手动连接完成的,这样整个软件开发过程中会浪费很多时间和资源,同时手动连接也存在出错的风险,进一步降低了产品的开发效率。
因此,本发明提出了一种ECU软件自动化集成方法及***来解决上述问题。
发明内容
本发明解决的技术问题在于,提供了一种ECU软件自动化集成方法及***,能够解决在ECU软件的开发过程中,手动集成软件带来的效率低下的问题。
本发明解决其技术问题是采用以下的技术方案来实现的:
一种ECU软件自动化集成方法,包括:获取应用层代码及其对应的第一接口文件;对所述应用层代码的第一接口文件进行解析;从所述第一接口文件中获取接口信息,并根据所述接口信息进行接口变更校验;导入需要更新的接口文件,将所述应用层代码和底层代码的接口自动连接,并生成相应的RTE代码和OS代码;通过脚本进行代码集成编译,以实现软件自动化集成。
在本发明的较佳实施例中,上述获取应用层代码及对应的第一接口文件的步骤,包括:获取所述应用层代码、所述第一接口文件、底层代码及其对应的第二接口文件;将所述应用层代码、所述第一接口文件、所述底层代码和所述第二接口文件导入到集成环境中。
在本发明的较佳实施例中,上述获取应用层代码及其对应的第一接口文件的步骤之后,包括:指定应用层的第一接口文件和底层的第二接口文件的路径。
在本发明的较佳实施例中,上述对所述应用层代码的第一接口文件进行解析的步骤,包括:通过脚本辅助工具,检索指定路径的所述第一接口文件和所述第二接口文件,并提取所述第一接口文件和所述第二接口文件中的接口信息及其变更项。
在本发明的较佳实施例中,上述从所述第一接口文件中获取接口信息,并根据所述接口信息进行接口变更校验的步骤,包括:将所述接口信息及其变更项与当前工程中的接口文件进行对比;对各SWC组件进行校验,以检测所述SWC组件中的PORT口是否存在变更。
在本发明的较佳实施例中,上述对各SWC组件进行校验,以检测所述SWC组件中的PORT口是否存在变更的步骤之后,包括:针对所述第一接口文件和第二接口文件,分别输出相应的接口校验结果。
在本发明的较佳实施例中,上述导入需要更新的接口文件,将所述应用层代码和底层代码的接口自动连接,并生成相应的RTE代码和OS代码的步骤,包括:通过脚本工具将指定路径的所述第一接口文件和/或所述第二接口文件导入到当前工程中,并完成所述应用层代码和所述底层代码的接口自动连接;根据所述各SWC组件中PORT口的变更信息,生成相应的RTE和OS代码文件。
在本发明的较佳实施例中,上述第一接口文件包括:应用层和应用层之间以及应用层和底层之间的接口描述。
本发明还提供一种ECU软件自动化集成***,包括:存储器、处理器,其中,所述存储器上存储有ECU软件自动化集成程序,所述ECU软件自动化集成程序被所述处理器执行时实现如上述中任一项所述的ECU软件自动化集成方法的步骤。
本发明还提供一种计算机存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述方法的步骤。
本发明采用上述技术方案达到的技术效果是:通过对应用层(ASW)代码的接口文件(ARXML)进行解析,提取出里面的接口信息并进行接口变更校验,并导入需要更新的ARXML文件,将应用层(ASW)和底层(BSW)的接口自动连接上,生成相应的RTE代码及OS代码,最后通过脚本编译工程代码,从而实现软件自动化集成,可以降低人为操作带来错误的可能性以及提升代码集成的效率,减少了ECU软件开发周期。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其他目的、特征和优点能够更明显易懂,以下特举较佳实施例,并配合附图,详细说明。
附图说明
图1为本发明示出的一种ECU软件自动化集成方法的流程图;
图2为本发明示出的另一种ECU软件自动化集成方法的流程图。
具体实施方式
为更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明的实施例保护的范围。通过具体实施方式的说明,当可对本发明为达成预定目的所采取的技术手段及功效得以更加深入且具体的了解,而且所附图式仅是提供参考与说明之用,并非用来对本发明加以限制。
AUTOSAR(AUTOmotive Open System Architecture)方法论在汽车行业ECU(Electronic Control Unit)软件开发中有着巨大优势,其规范提供了统一的标准化的软件架构以及软件接口,得益于此,软件的可移植性和可扩展性有了很大的提升,使得不同项目的ECU软件应用层(ASW)代码和底层(BSW)代码能够实现复用,大大缩短了ECU软件的开发周期。
本发明实施例提供的ECU软件自动化集成方法,主要适用于对应用层代码和底层代码的接口进行自动连接的情况。
图1为本发明示出的一种ECU软件自动化集成方法的流程图。
如图1所示,本发明示出的一种ECU软件自动化集成方法,包括以下步骤:
S11:获取应用层代码及其对应的第一接口文件。
软件开发分为应用层开发和底层开发;应用层(ASW,application software)代码包括:.c和.h文件;第一接口文件即ARXML文件为:AUTOSAR定义的接口描述性文件。
可选地,第一接口文件包括:应用层和应用层之间以及应用层和底层之间的接口描述。
示例性地,在对应用层代码进行复用时,获取ASW代码及ARXML接口文件。通过从复用的应用层代码中的ARXML接口文件中提取出接口信息,以将复用的应用层代码的接口信息与当前工程中的接口信息进行比对,从而判断是否需要对复用的应用层代码的ARXML接口文件进行修改,或重新编写应用层代码的ARXML接口文件。
可选地,获取应用层代码及对应的第一接口文件的步骤,包括:
获取所述应用层代码、所述第一接口文件、底层代码及其对应的第二接口文件;将所述应用层代码、所述第一接口文件、所述底层代码和所述第二接口文件导入到集成环境中。
底层/基础软件层(BSW,Basic Software),顾名思义,该层主要是为应用层提供基础服务。一般意义上,底层指的是驱动和***,应用就是上层应用。
集成环境(IDE,Integrated Development Environment)是用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面等工具。集成了代码编写功能、分析功能、编译功能、调试功能等一体化的开发软件服务套。所有具备这一特性的软件或者软件套(组)都可以叫集成环境。
示例性地,在对应用层代码和底层代码进行复用时,需要获取ASW代码及ARXML接口文件和BSW代码及ARXML接口文件。具体说明请参见上述复用应用层代码的实施方式。
S12:对应用层代码的第一接口文件进行解析。
可选地,获取应用层代码及其对应的第一接口文件的步骤之后,包括:指定应用层的第一接口文件和底层的第二接口文件的路径。
示例性地,指定应用层ARXML文件以及底层ARXML文件的路径,然后通过指定路径获取应用层和底层的ARXML文件。
可选地,对所述应用层代码的第一接口文件进行解析的步骤,包括:通过脚本辅助工具,检索指定路径的所述第一接口文件和所述第二接口文件,并提取所述第一接口文件和所述第二接口文件中的接口信息及其变更项。
其中,脚本辅助工具可以为:Python脚本辅助工具。
S13:从第一接口文件中获取接口信息,并根据所述接口信息进行接口变更校验。
可选地,从所述第一接口文件中获取接口信息,并根据所述接口信息进行接口变更校验的步骤,包括:将所述接口信息及其变更项与当前工程中的接口文件进行对比;对各SWC组件进行校验,以检测所述SWC组件中的PORT口是否存在变更。
其中,在开发应用层和底层代码前,需要进行接口定义,当接口定义完成后底层代码和应用层代码可以按照这套接口来同时开发,这样加快了项目的开发进度。
其中,SWC主要包括的是:端口(Port),RTE事件(RTE Event),可运行实体(Runnable Entity),其中后两者包含在IB(内部行为)配置项里。
AUTOSAR RTE(Run Time Environment)实现了AUTOSAR***中的虚拟功能总线(VFB),提供了SWC(Software Component)之间的访问接口和SWC对于BSW资源的访问接口。RTE为SWC中的Runnable提供与其他SWC或者BSW模块通信的接口,RTE将Runnable映射到OSTask中,并且管理Runnable的触发机制。
可选地,对各SWC组件进行校验,以检测所述SWC组件中的PORT口是否存在变更的步骤之后,包括:针对所述第一接口文件和第二接口文件,分别输出相应的接口校验结果。
示例性地,针对不同的ARXML文件,输出其变更项的校验结果。
S14:导入需要更新的接口文件,将应用层代码和底层代码的接口自动连接,并生成相应的RTE和OS代码。
AUTOSAR软件架构,主要有三部分组成:ASW、RTE、BSW。示例性地,ASW可以理解为手机里的APP;RTE就是一个强大的转接器,用来连接ASW和BSW的;BSW可以理解为手机里的安卓操作***。
可选地,导入需要更新的接口文件,将所述应用层代码和底层代码的接口自动连接,并生成相应的RTE代码和OS代码的步骤,包括:通过脚本工具将指定路径的所述第一接口文件和/或所述第二接口文件导入到当前工程中,并完成所述应用层代码和所述底层代码的接口自动连接;根据所述各SWC组件中PORT口的变更信息,生成相应的RTE和OS代码文件。
AUTOSAR架构是分层设计的,并且其理念是将软件与硬件解耦,使得软件可以重分配和复用,这些都要依赖RTE来实现。但是RTE是不可复用的,因为RTE是匹配应用需求的,所以如果应用修改了RTE也就需要修改。除了高度依赖ECU硬件的传感器/执行器类型SWC,其他所有SWC都是方便移植和复用的。RTE是在SWC集成之后生成的,因此RTE服务确保SWC之间,SWC与BSW之间的通信,从而确保***按照预期工作,而不管SWC部署在哪里。RTE既支持源码类型SWC也支持目标代码SWC。RTE不支持运行时的重新配置,所有通信在配置生成后都是静态的。
S15:通过脚本进行代码集成编译,以实现软件自动化集成。
示例性地,通过.bat脚本编译工程代码。
如图2所示,本发明一实施方式通过下述步骤将软件进行集成:
1.ASW代码及ARXML接口文件:应用层代码(.c和.h文件)和ARXML文件(AUTOSAR定义的接口描述性文件),需将其导入到集成环境里面。
2.路径配置:指定应用层ARXML文件以及底层ARXML文件的路径。
3.解析ARXML文件:通过Python脚本辅助工具,检索指定路径的ARXML文件,并提取ARXML文件中的接口信息及其变更项,与当前工程中的ARXML文件进行对比。
4.校验接口变更:ASW和ASW之间以及ASW和BSW之间的接口变更主要是各(软件组件)SWC之间的PORT口的变更,此处会校验PORT口的新增或减少、PORT口传递数据是否有更新。
5.校验日志输出:针对不同的ARXML文件,输出其变更项的校验结果。
6.ARXML文件导入:通过脚本工具,将指定路径的ARXML文件导入到现有工程中,并完成接口的自动连接。
7.代码生成:根据SWC的变更,生成相应的RTE和OS代码文件。
8.代码集成编译:通过.bat脚本编译工程代码。
本发明提供的ECU软件自动化集成方法,通过辅助脚本工具把ASW代码的ARXML接口文件进行解析,提取出里面的接口信息并进行接口变更校验,并导入需要更新的ARXML文件,将ASW和BSW的接口自动连接上,生成相应的RTE代码及OS代码,最后通过.bat脚本编译工程代码,从而实现软件自动化集成,可以降低人为操作带来错误的可能性以及提升代码集成的效率,大大减少ECU软件开发周期。
本发明提出了一种ECU开发过程中软件自动化集成的策略,通过对应用层和底层的ARXML文件的解析,提取出里面的接口信息,实现接口的自动连接,从而做到了软件的自动化集成,可以大大提高软件集成的效率,并尽可能避免手动连接接口带来的出错风险。
本发明还提供了一种ECU软件自动化集成***,包括:存储器、处理器,其中,所述存储器上存储有ECU软件自动化集成程序,所述ECU软件自动化集成程序被所述处理器执行时实现如上述中任一项所述的ECU软件自动化集成方法的步骤。
具体地描述可参阅上述实施方式,在此不再进行过多叙述。
本发明还提供一种计算机可读存储介质,计算机可读存储介质上存储有ECU软件自动化集成程序,ECU软件自动化集成程序被处理器执行时实现上述任一实施例中的ECU软件自动化集成方法的步骤。
在本发明提供的计算机可读存储介质的实施例中,可以包含任一上述ECU软件自动化集成方法实施例的全部技术特征,说明书拓展和解释内容与上述方法的各实施例基本相同,在此不再做赘述。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明实施例可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或网络设备等)执行本发明实施例各个实施场景所述的方法。
以上结合附图详细描述了本发明的优选实施方式,但是本发明并不限于上述实施方式中的具体细节,上述实施例及附图是示例性的,附图中的模块或流程并不一定是实施本发明实施例所必须的,不能理解为对本发明的限制,在本发明的技术构思范围内,可以对本发明的技术方案进行多种简单变型和组合,这些简单变型和组合均属于本发明的保护范围。
Claims (10)
1.一种ECU软件自动化集成方法,其特征在于,包括:
获取应用层代码及其对应的第一接口文件;
对所述应用层代码的第一接口文件进行解析;
从所述第一接口文件中获取接口信息,并根据所述接口信息进行接口变更校验;
导入需要更新的接口文件,将所述应用层代码和底层代码的接口自动连接,并生成相应的RTE和OS代码;
通过脚本进行代码集成编译,以实现软件自动化集成。
2.如权利要求1所述的ECU软件自动化集成方法,其特征在于,获取应用层代码及对应的第一接口文件的步骤,包括:
获取所述应用层代码、所述第一接口文件、底层代码及其对应的第二接口文件;
将所述应用层代码、所述第一接口文件、所述底层代码和所述第二接口文件导入到集成环境中。
3.如权利要求2所述的ECU软件自动化集成方法,其特征在于,获取应用层代码及其对应的第一接口文件的步骤之后,包括:
指定应用层的第一接口文件和底层的第二接口文件的路径。
4.如权利要求3所述的ECU软件自动化集成方法,其特征在于,对所述应用层代码的第一接口文件进行解析的步骤,包括:
通过脚本辅助工具,检索指定路径的所述第一接口文件和所述第二接口文件,并提取所述第一接口文件和所述第二接口文件中的接口信息及其变更项。
5.如权利要求4所述的ECU软件自动化集成方法,其特征在于,从所述第一接口文件中获取接口信息,并根据所述接口信息进行接口变更校验的步骤,包括:
将所述接口信息及其变更项与当前工程中的接口文件进行对比;
对各SWC组件进行校验,以检测所述SWC组件中的PORT口是否存在变更。
6.如权利要求5所述的ECU软件自动化集成方法,其特征在于,对各SWC组件进行校验,以检测所述SWC组件中的PORT口是否存在变更的步骤之后,包括:
针对所述第一接口文件和第二接口文件,分别输出相应的接口校验结果。
7.如权利要求6所述的ECU软件自动化集成方法,其特征在于,导入需要更新的接口文件,将所述应用层代码和底层代码的接口自动连接,并生成相应的RTE代码和OS代码的步骤,包括:
通过脚本工具将指定路径的所述第一接口文件和/或所述第二接口文件导入到当前工程中,并完成所述应用层代码和所述底层代码的接口自动连接;
根据所述各SWC组件中PORT口的变更信息,生成相应的RTE和OS代码文件。
8.如权利要求6所述的ECU软件自动化集成方法,其特征在于,所述第一接口文件包括:应用层和应用层之间以及应用层和底层之间的接口描述。
9.一种ECU软件自动化集成***,其特征在于,包括:存储器、处理器,其中,所述存储器上存储有ECU软件自动化集成程序,所述ECU软件自动化集成程序被所述处理器执行时实现如权利要求1至8中任一项所述的ECU软件自动化集成方法的步骤。
10.一种可读存储介质,其特征在于,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至8中任一项所述的ECU软件自动化集成方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211558219.4A CN115809076A (zh) | 2022-12-06 | 2022-12-06 | Ecu软件自动化集成方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211558219.4A CN115809076A (zh) | 2022-12-06 | 2022-12-06 | Ecu软件自动化集成方法及*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115809076A true CN115809076A (zh) | 2023-03-17 |
Family
ID=85485308
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211558219.4A Pending CN115809076A (zh) | 2022-12-06 | 2022-12-06 | Ecu软件自动化集成方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115809076A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116881174A (zh) * | 2023-09-08 | 2023-10-13 | 富钛字节车载软件(长春)有限公司 | 一种ecu应用软件闭环测试方法、装置、设备及存储介质 |
-
2022
- 2022-12-06 CN CN202211558219.4A patent/CN115809076A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116881174A (zh) * | 2023-09-08 | 2023-10-13 | 富钛字节车载软件(长春)有限公司 | 一种ecu应用软件闭环测试方法、装置、设备及存储介质 |
CN116881174B (zh) * | 2023-09-08 | 2023-11-14 | 富钛字节车载软件(长春)有限公司 | 一种ecu应用软件闭环测试方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6898784B1 (en) | Method and system for forming skeletons for generating verification systems | |
KR101132560B1 (ko) | 로봇 소프트웨어 컴포넌트를 위한 시뮬레이션 기반 인터페이스 테스팅 자동화 시스템 및 그 방법 | |
US7069474B2 (en) | System and method for assessing compatibility risk | |
CN106325970A (zh) | 编译方法和编译*** | |
CN103793326A (zh) | 组件测试方法及装置 | |
US20110126179A1 (en) | Method and System for Dynamic Patching Software Using Source Code | |
US10133871B1 (en) | Method and system for identifying functional attributes that change the intended operation of a compiled binary extracted from a target system | |
CN110727581B (zh) | 崩溃定位方法与电子设备 | |
CN111061489B (zh) | 一种多平台编译检测方法、装置、设备及介质 | |
CN109614107B (zh) | 一种软件开发工具包的集成方法和装置 | |
JP2015011372A (ja) | デバッグ支援システム、方法、プログラム及び記録媒体 | |
CN102968371A (zh) | 测试java api单元组件的方法及装置 | |
CN115629971A (zh) | 一种应用的开发***和开发方法 | |
CN113407362A (zh) | 基于车载Android***SOA架构SOMEIP通信中间层实现方法及*** | |
CN115809076A (zh) | Ecu软件自动化集成方法及*** | |
CN111897711A (zh) | 代码中bug的定位方法、装置、电子设备及可读存储介质 | |
CN114924737A (zh) | 一种电池管理***源代码集成测试方法、测试装置及电子设备 | |
CN111597115A (zh) | 一种嵌入式操作***自动化闭环测试***及测试方法 | |
JP2004139458A (ja) | プログラム開発支援装置、プログラム実行装置、コンパイル方法およびデバッグ方法 | |
CN111880803B (zh) | 一种应用于多平台的软件构建方法及装置 | |
JP2008140263A (ja) | 単体試験支援装置 | |
CN113986263A (zh) | 代码自动化测试方法、装置、电子设备、存储介质 | |
CN101251824B (zh) | 测试公共对象请求代理结构的方法和测试工具 | |
CN111752823A (zh) | 一种车载电源应用软件的测试方法、装置及设备 | |
CN113608996B (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 |