1-4 AUTOSAR方法论

news2024/9/20 22:23:22

总目录——AUTOSAR入门详解AUTOSAR入门详解目录汇总:待续中。。。https://xianfan.blog.csdn.net/article/details/132818463


目录

一、前言

二、方法论

三、单个ECU开发流程


一、前言

        汽车生产供应链上有以下角色:OEM、TIER1、TIER2,其主要区别如下

简称

OEM

TIER1

TIER2

全称

代工厂(整车厂)

一级供应商

二级供应商

企业职能

主要做整车的装配工作

主要给OEM供应ECU、钣金件等

主要给TIER1供应零件,比如ECU上的芯片、MOS管和电路板等

实例

奔驰、宝马等

大陆、博世等

英飞凌、NXP等

        根据上述供应链,TIER1作为OEM的ECU供应商,所生产制造的ECU需要受到OEM一定的规范,才能生产出OEM所需要的ECU设备。

        而AUTOSAR方法论就是指导OEM、TIER1分布式开发的一套工作流程、工作方法,其规定了以下内容:

  • 工作流程:从OEM的开始设计汽车电子架构、到各个TIRE1完成每一个ECU软件设计全套流程。
  • 数据交互方式:arxml文件,AUTSOAR推荐的、供OEM、TIRE1直接交换信息的文件格式。
  • AUTOSAR工具链:MCAL配置EB、BSW配置、SWC工具等,这些工具链可以通过导入、配置、生成arxml文件形式将大部分工作自动化配置,提高开发效率。

二、方法论

        AUTOSAR 方法论(AUTOSAR Methodology)中车用控制器软件的开发涉及系统级、ECU 级的开发。

  • 系统级:主要考虑系统功能需求、硬件资源、系统约束,然后建立系统架构;
    • 输入:SWC描述、ECU资源描述、系统约束描述
    • 输出:系统配置描述文件(包含所有的系统信息、软件组件与ECU的映射关系和通信矩阵)
    • 工作内容:端口数据映射到通信矩阵;SWC映射到ECU
  • ECU级:根据抽象后的信息对ECU进行配置;
    • MCAL硬件配置与驱动集成
    • BSW功能配置与集成
    • RTE中将SWC的Runnable Mapping到具体的Task

        系统级和ECU级设计的同时,伴随着软件组件的开发。上述每个环节都有良好的通信接口,并使用统一的 arxml描述文件,以此构建了AUTOSAR方法论。

总结:

  1. AUTOSAR中定义了XML文件格式,使其能在各个配置环节中进行信息读取及交换。
  2. 开发流程:系统架构设计、软件组件设计、软件组件映射到具体ECU、ECU级开发(RTE\BSW\MCAL)
  3. 一般系统级别的开发工作主要由OEM完成,ECU级别的开发工作下放到TIRE1进行,不过也有部分OEM会将SWC的设计工作下放到tire1实施。

三、单个ECU开发流程

  • 编写系统配置输入描述文件(OEM汽车电子架构设计)
    • 软件组件描述:包含系统中所涉及的软件组件的接口信息,例如数据类型、端口接口、端口等;
    • ECU资源描述:包含系统中每一个ECU所需要的处理器及其外设、传感器、执行器等信息;
    • 系统约束描述:包含总线型号、软件组件间的拓扑结构和一些映射关系等信息;
  • 生成系统配置描述文件:基于系统配置输入描述文件,系统配置根据ECU资源和时序要求,将软件组件映射到对应的ECU上。
    • 系统配置文件:系统通信矩阵
  • ECU信息萃取:将待配置ECU信息抽取出来即可,服务于之后的ECU配置。 (主要是OEM萃取之后作为Tire1 ECU实现的输入材料,文件格式为Arxml)
  • ECU配置:过程主要是对RTE和BSW的配置。
    • 在RTE配置阶段,需要将软件组件的运行实体映射到相应的操作系统任务;
    • 在BSW配置阶段, 需要详细配置BSW层中所需要用到的模块,一般有操作系统、通信服务、ECU抽象层和微控制器抽象层等,这一部分的工作包含了ECU的MCAL配置,目前主流方式为在EB上进行MCAL配置工作。
  • 代码集成:软件组件级实现的应用代码、RTE代码、BSW代码进行代码集成,编译链接,生成MCU可执行文件。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1005717.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

提示msvcr120.dll丢失怎样修复呢?全面分析msvcr120.dll解决方法

在计算机使用过程中,可能会遇到 msvcr120.dll 丢失的问题。msvcr120.dll 是 Microsoft Visual C Redistributable 的一部分,是一个动态链接库文件(DLL),用于支持运行在 Windows 操作系统上使用了 Microsoft Visual C 2…

9.12|day 5|day 44 |完全背包| 518. 零钱兑换 II | 377. 组合总和 Ⅳ

● 完全背包 主要是看清01背包和完全背包的区别 //01背包 for(int i 0;i<weight.size();i){ for(int j bagWeight;j>weight[i];j--){dp[j] Math.max(dp[j],dp[j-weight[i]]value[i]); } } //完全背包 for(int i 0;i<weight.size();i){for(int j weight[i];j<…

数据结构——排序算法——冒泡排序

冒泡排序1 void swap(vector<int> arr, int i, int j) {int temp arr[i];arr[i] arr[j];arr[j] temp;}void bubbleSort1(vector<int> arr) {for (int i 0; i < arr.size() - 1; i){for (int j 0; j < arr.size() - 1 - i; j){if (arr[j] > arr[j 1…

c++ 学习 之 常函数 和 常对象

前言 常函数 成员函数后加 const 我们可以称这个函数为 常函数 常函数内不可以修改成员属性 成员属性声明时加关键字 mutable 后&#xff0c;在常函数中依然可以修改 常对象 常对象 声明对象前加 const 称该对象为常对象 常对象只能调用常函数 正文 常函数 class Person…

《深入分布式追踪:OpenTracing 实践手册》

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f405;&#x1f43e;猫头虎建议程序员必备技术栈一览表&#x1f4d6;&#xff1a; &#x1f6e0;️ 全栈技术 Full Stack: &#x1f4da…

【面试题精讲】你知道MySQL中有哪些隔离级别吗

uuid: 7ae741a0-517a-11ee-93e3-6f2b73edb0c7 title: 【面试题精讲】你知道MySQL中有哪些隔离级别吗 tags: [MySQL, 隔离级别, 脏读, 幻读, 不可重复读] categories: [技术文章, 后端技术, 系列文章, 面试题精讲] abbrlink: 14595062 date: 2023-09-12 22:41:38 有时博客内容会…

Linux CentOS7修改命令行提示符

在CentOS操作系统中&#xff0c;命令和文件是我们与计算机进行交互的重要方式之一。有时候我们可能需要对某些命令、变量或文件进行修改&#xff0c;以满足特定的需求或提高工作效率。 本人在文章《Linux CentOS7命令及命令行》中对命令行提示符的修改作了初步介绍&#xff0c…

抖音中文点选验证码识别方案

最近研究了一下抖音中文点选验证码的识别&#xff0c;居然正确率高达98%。 首先我们来看一下效果 一、识别方法 1、数据集准备 我们需要借助爬虫去下载大量的验证码图片。这些有两种图片&#xff0c;一种是小图&#xff0c;包含需要点选的中文和顺序&#xff0c;还有一种是大…

记录一次部署Hugo主题lotusdocs到Github Pages实践

引言 随着开源项目的越来越复杂&#xff0c;项目文档的重要性日渐突出。一个好的项目要有一个清晰明了的文档来帮助大家使用。最近一直有在找寻一个简洁明了的文档主题来放置项目的各种相关文档。最终找到这次的主角&#xff1a;Lotus Docs 基于Hugo的主题。Lotus Docs的样子&…

【LeetCode题目详解】第九章 动态规划part16 583. 两个字符串的删除操作 ● 72. 编辑距离 ● 编辑距离总结篇 (day56补)

本文章代码以c为例&#xff01; 本文章转自代码随想录 一、力扣第583题&#xff1a;两个字符串的删除操作 题目&#xff1a; 给定两个单词 word1 和 word2 &#xff0c;返回使得 word1 和 word2 相同所需的最小步数。 每步 可以删除任意一个字符串中的一个字符。 示例 1…

[Qt]窗口

文章摘于 爱编程的大丙 文章目录 1. 基础窗口类1.1 QWidget1.1.1 设置父对象1.1.2 窗口位置1.1.3 窗口尺寸1.1.4 窗口标题和图标1.1.5 信号1.1.6 槽函数 1.2 QDialog1.2.1 常用API1.2.2 常用使用方法 1.3 QDialog的子类1.3.1 QMessageBox1.3.1.1 API - 静态函数1.3.1.2 测试代码…

第10章_freeRTOS入门与工程实践之同步互斥与通信

本教程基于韦东山百问网出的 DShanMCU-F103开发板 进行编写&#xff0c;需要的同学可以在这里获取&#xff1a; https://item.taobao.com/item.htm?id724601559592 配套资料获取&#xff1a;https://rtos.100ask.net/zh/freeRTOS/DShanMCU-F103 freeRTOS系列教程之freeRTOS入…

HBASE知识点

HBASE是什么&#xff1f; 高可靠、高性能、面向列、可伸缩、实时读写的分布式数据库。利用HDFS作为其文件存储系统&#xff0c;利用MapReduce来处理HBase中的海量数据。利用Zookeeper作为其分布式协同服务。用于存储非结构化和半结构化的松散数据。 HBase数据模型 RowKey: 唯…

makefile的编写:由浅入深

文章目录 准备文件Makefile版本一Makefile版本二Makefile版本三Makefile版本四Makefile版本五 准备文件 // fun1.c #include <stdio.h> void fun1() {printf("this is fun1\n"); }// fun2.c #include <stdio.h> void fun2() {printf("this is fun2…

Java面试常用函数

1. charAt() 方法用于返回字符串指定索引处的字符。索引范围为从 0 到 length() - 1。 map.getOrDefault(num, 0) :如果map存在num这个key&#xff0c;则返回num对应的value&#xff0c;否则返回0. Arrays.sort(nums); 数组排序 Arrays.asList("a","b",&q…

SpringMVC中的JSR303与拦截器的使用

一&#xff0c;JSR303的概念 JSR303是Java中的一个标准&#xff0c;用于验证和校验JavaBean对象的属性的合法性。它提供了一组用于定义验证规则的注解&#xff0c;如NotNull、Min、Max等。在Spring MVC中&#xff0c;可以使用JSR303注解对请求参数进行校验。 1.2 为什么要使用J…

2023年墨西哥 SP/BMV IPC 研究报告

第一章 指数概况 1.1 指数基本情况 墨西哥 S&P/BMV IPC 指数衡量在墨西哥证券交易所 (Bolsa Mexicana de Valores, BMV)上市&#xff0c;规模最大、流动性最高的股票表现。提供一个覆盖墨西哥股市的广泛、具有代表性且可轻易复制的指数。根据多元化要求&#xff0c;按市值…

Redis哨兵Cluster群集 搭建

Redis群集 Redis群集有三种模式 主从同步/复制哨兵模式Cluster群集 主从同步/复制 概念 主从复制是高可用Redis的基础&#xff0c;哨兵和集群都是在主从复制基础上实现高可用的。主从复制主要实现了数据的多机备份&#xff0c;以及对于读操作的负载均衡和简单的故障恢复缺陷…

ENVI_IDL: 基础语法详解

01 题目 02 代码说明 题目本身很简单&#xff0c;但是我自己加了一些东西进去增加难度。主要包括print函数的封装、格式化字符串&#xff0c;但是不影响代码的阅读。&#xff08;注&#xff1a;对于没有语言基础的人而言相对阅读困难&#xff0c;但是由于IDL是解释型语言&…

文字点选验证码识别(下)-训练一个孪生神经网络模型

声明 本文以教学为基准、本文提供的可操作性不得用于任何商业用途和违法违规场景。 本人对任何原因在使用本人中提供的代码和策略时可能对用户自己或他人造成的任何形式的损失和伤害不承担责任。 如有侵权,请联系我进行删除。 文章中没有代码,只有过程思路,请大家谨慎订阅。…