当前位置: 首页 > news >正文

1-4 AUTOSAR方法论


总目录——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.lryc.cn/news/165191.html

相关文章:

  • MFC C++ 数据结构及相互转化 CString char * char[] byte PCSTR DWORE unsigned
  • 多版本CUDA安装切换
  • sqlserver union和union all 的区别
  • Matlab 如何计算正弦信号的幅值和初始相角
  • 华为hcie认证培训报班培训好?还是自学好
  • ASP.NET+sqlserver通用电子病历管理系统
  • wireshark通常无法抓取交换机所有端口报文
  • 猫头虎的技术笔记:Spring Boot启动报错解决方案
  • Istio网关流量转发
  • 阿里云acp云计算认证考试科目有哪些?
  • 8、Spring security配置放过的请求又被拦截了
  • 4.后端·新建子模块与开发(传统模式)
  • .netcore 连接 apache doris
  • 【C语言】探讨常见自定义类型的存储形式
  • NLP(六十九)智能文档问答助手升级
  • 如何使用SQL系列 之 如何在MySQL中使用索引
  • 数字孪生相关政策梳理,重点对各行业版块的指导和引领
  • nios里面打开eclipse遇到Unresolved inclusion: “system.h“等问题
  • C#,数值计算——伽马微分(Gammadev)的计算方法与源程序
  • 【UE5 智慧城市系列】5-通过鼠标键盘控制摄像机
  • 工作纪实38-ES分页数据问题
  • 设计模式之访问器模式(Visitor)的C++实现
  • Python之OS模块
  • vue 使用canvas 详细教程
  • Git 基本操作【本地仓库与远程仓库的推送、克隆和拉取】
  • FPGA开发
  • js手撕代码
  • typecho反序列化
  • php程序设计的基本原则
  • python execute() 使用%s 拼接sql 避免sql注入攻击 好于.format