Autosar知识:方法论-EUC软件的集成(中)

2023-10-14 13:20

本文主要是介绍Autosar知识:方法论-EUC软件的集成(中),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本章描述了AUTOSAR ECU的集成。在AUTOSAR意义上,ECU是指微控制器加上外围设备和相应的软件/配置。因此,每个微控制器需要自己的ECU配置。

 

Autosar官方文档版权说明

 

 

 

本章共8个部分:

1、 概述

2、 准备ECU配置

3、 配置BSW和RTE

 

4、 更新ECU配置

5、 ECU时序建模

6、 生成BSW和RTE

7、 建立可执行文件

8、 配置类 


 

 

 

4、更新ECU配置

在post-build场景中,有两个最终生成可加载的文件,其中包含应用程序软件,基本软件和预编译和链接时配置的基本软件(称为ECU可执行),另一个只包含post-build时间配置的基本软件(模块配置数据可加载的ECU BSW内存)。这两个可加载文件表示初始配置。这个初始配置可以在构建后通过生成两个新的可加载文件来更新。在这次更新中,ECU可执行文件没有被修改。

 

更新ECU配置活动:

可加载到ECU内存的BSW模块配置数据的更新通常是通过将更新后的包含所需构建后更新的EcuExtract导入ECU配置工具来完成的,该工具已经包含了初始的ECU配置。根据EcuExtract中的这些更新以及初始ECU配置中的其他所有内容,应该创建一个更新后的ECU配置(因此我们在ECU配置值和更新ECU配置活动之间具有输入和输出关系)。ECU配置值与更新ECU配置活动之间的输出关系)。

 

工作流程:

更新ECU配置

 

 


 

 

5、ECU时序建模

ECU时序模型依赖于ECU配置数据(BSW和RTE),但ECU时序模型的结果将有助于优化ECU配置。“配置BSW和RTE”与“ECU时序模型”之间的关系必须被视为迭代工作。

工作流程:

ECU时序建模

 

 

 


 

6、生成BSW和RTE

生成BSW模块,RTE,和OS源文件:

完成ECU配置之后,将生成BSW模块、RTE和OS源文件。

生成是将定制的ECU配置值描述应用于软件模块的过程。这可以以不同的方式执行,取决于为不同模块选择的配置类和实现者的选择。

对于每个BSW模块,生成器将从ECU配置值描述中读取相关参数,并创建实现指定配置的代码。

在这个生成步骤中,ECU配置值描述的抽象参数被转换成与相应软件模块的实现相适应的硬件和具体实现的数据结构。AUTOSAR方法规范没有详细指定生成器工具。

但是,假定生成器执行生成所需的配置部分的错误、一致性和完整性检查。

请注意以下两段的内容(与ARTI = AUTOSAR运行时接口相关)具有草稿特征。

在为特定模块生成代码时,如果配置了ARTI,则生成器还应导出ARTI信息。ARTI导出应该包含调试AUTOSAR模块的信息,并通过ARTI hook宏进行跟踪,这些信息在模块的适当SWS文档中定义。

如果在构建可执行文件之前配置了ARTI跟踪,那么跟踪工具将提供一个附加的ARTI源文件(art .c),并将其包含在构建中。在生成配置数据时,有一些替代方法。

 

工作流程:

生成BSW和RTE整体流程

 

 

生成BSW和RTE(细节1)

 

 

 

生成BSW和RTE(细节2)

 

 


 

 

7、构建可执行

构建ECU可执行:

在生成BSW和RTE之后,将编译和链接所有的源代码以及所有的应用程序、库、目标代码等,以构建ECU可执行文件。

 

工作流程:

生成可执行文件

 

 

 

 


 

 

 

 

这篇关于Autosar知识:方法论-EUC软件的集成(中)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/210782

相关文章

Docker部署Jenkins持续集成(CI)工具的实现

《Docker部署Jenkins持续集成(CI)工具的实现》Jenkins是一个流行的开源自动化工具,广泛应用于持续集成(CI)和持续交付(CD)的环境中,本文介绍了使用Docker部署Jenkins... 目录前言一、准备工作二、设置变量和目录结构三、配置 docker 权限和网络四、启动 Jenkins

Qt 中集成mqtt协议的使用方法

《Qt中集成mqtt协议的使用方法》文章介绍了如何在工程中引入qmqtt库,并通过声明一个单例类来暴露订阅到的主题数据,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧... 目录一,引入qmqtt 库二,使用一,引入qmqtt 库我是将整个头文件/源文件都添加到了工程中进行编译,这样 跨平台

Debezium 与 Apache Kafka 的集成方式步骤详解

《Debezium与ApacheKafka的集成方式步骤详解》本文详细介绍了如何将Debezium与ApacheKafka集成,包括集成概述、步骤、注意事项等,通过KafkaConnect,D... 目录一、集成概述二、集成步骤1. 准备 Kafka 环境2. 配置 Kafka Connect3. 安装 D

Spring AI集成DeepSeek的详细步骤

《SpringAI集成DeepSeek的详细步骤》DeepSeek作为一款卓越的国产AI模型,越来越多的公司考虑在自己的应用中集成,对于Java应用来说,我们可以借助SpringAI集成DeepSe... 目录DeepSeek 介绍Spring AI 是什么?1、环境准备2、构建项目2.1、pom依赖2.2

Java中Springboot集成Kafka实现消息发送和接收功能

《Java中Springboot集成Kafka实现消息发送和接收功能》Kafka是一个高吞吐量的分布式发布-订阅消息系统,主要用于处理大规模数据流,它由生产者、消费者、主题、分区和代理等组件构成,Ka... 目录一、Kafka 简介二、Kafka 功能三、POM依赖四、配置文件五、生产者六、消费者一、Kaf

SpringCloud集成AlloyDB的示例代码

《SpringCloud集成AlloyDB的示例代码》AlloyDB是GoogleCloud提供的一种高度可扩展、强性能的关系型数据库服务,它兼容PostgreSQL,并提供了更快的查询性能... 目录1.AlloyDBjavascript是什么?AlloyDB 的工作原理2.搭建测试环境3.代码工程1.

SpringBoot使用注解集成Redis缓存的示例代码

《SpringBoot使用注解集成Redis缓存的示例代码》:本文主要介绍在SpringBoot中使用注解集成Redis缓存的步骤,包括添加依赖、创建相关配置类、需要缓存数据的类(Tes... 目录一、创建 Caching 配置类二、创建需要缓存数据的类三、测试方法Spring Boot 熟悉后,集成一个外

Docker集成CI/CD的项目实践

《Docker集成CI/CD的项目实践》本文主要介绍了Docker集成CI/CD的项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录一、引言1.1 什么是 CI/CD?1.2 docker 在 CI/CD 中的作用二、Docke

SpringBoot集成SOL链的详细过程

《SpringBoot集成SOL链的详细过程》Solanaj是一个用于与Solana区块链交互的Java库,它为Java开发者提供了一套功能丰富的API,使得在Java环境中可以轻松构建与Solana... 目录一、什么是solanaj?二、Pom依赖三、主要类3.1 RpcClient3.2 Public

SpringBoot3集成swagger文档的使用方法

《SpringBoot3集成swagger文档的使用方法》本文介绍了Swagger的诞生背景、主要功能以及如何在SpringBoot3中集成Swagger文档,Swagger可以帮助自动生成API文档... 目录一、前言1. API 文档自动生成2. 交互式 API 测试3. API 设计和开发协作二、使用