【汽车操作系统】Autosar和商用OS

news2024/10/7 0:50:42

目录

什么是AUTOSAR?

CP AUTOSAR架构

CAN通信

AP AUTOSAR

背景

CP&AP

开发方面的不同:

WRLinux介绍

QNX介绍


什么是AUTOSAR?

        随着汽车功能越来越多,导致ECU的数量越来越多。1993年的时候,奥迪A8才只有5个ECU现在典型的现代汽车上有超过50个ECU,有的车甚至有150个ECU。但是ECU可能是不同的供应商提供的,各厂家的标准、软件架构可能不同,OEM车厂要让这些ECU之间正常通信,是一件复杂和困难的事。供应商软件开发的工作量也很大,版本众多维护起来非常困难。在ECU中添加新功能,或者把ECU-A的功能移植到ECU-B中也不是一件简单的事。

        AUTOSAR,全称Automotive Open SystemArchitecture,中文是“汽车开放系统架构”但它首先是一个组织,注意AUTOSAR不能写作AutoSAR,否则Open的含义就没有了,标志也用红色圆圈强调了开放的理念。

        2003年,9家公司成立了AUTOSAR。截至2023年11月,已有350多家公司、机构加入,包括汽车制造商、部件供应商、电子和软件公司等。

CP AUTOSAR架构

        传统ECU开发就相当于一个人,既要吃饭(软件)又要做饭(硬件),可能还要洗碗(硬件,释放内存),效率就比较低。而AUTOSAR像是一个食堂,硬件层就是食堂做菜师傅、锅碗瓢盆和食材,应用层相当于要吃饭的学生,中间的RTE层就相当于打菜的阿姨。学生(软件开发者)不需要关注食材(硬件,数据)是怎么洗净切好,怎么放到锅碗瓢盆(硬件,存储)中做熟,只需要和打菜阿姨(RTE上接口)说一下(通信)要什么菜(数据包),阿姨就会打给你(提供数据),如果没有菜了,阿姨就会喊(通过RTE下接口)做菜的师傅(硬件),判断还有没有菜(提供相关数据),如果没有就要赶紧做菜(执行某个操作),或者告诉学生没有菜了(硬件报错,硬件损坏,兼容性问题等)

应用层:AppL或ASWL-ApplicationSoftware Layer,实现具体应用功能一个App包含多个软件组件(SWC,Software Component)。

Service服务层:给应用层提供后台服务,如存储管理、网络管理等。

ECU抽象层:ECUAL-ECUAbstraction Layer,标准化硬件的基础功能和接口,控制网关报文转发、存储器读写等。

硬件抽象层:MCAL-MicrocontrollerAbstraction Layer,硬件相关的驱动软件。

复杂驱动:CDD-ComplexDevice Driver,承接复杂的驱动,接口直接暴露给RTE。

硬件层:也称微控制器层,即控制器的硬件部分

官方CP AUTOSAR架构图

最下层

可以通过配置生成

,无需写代码,减少出现低级错误。

静态配置与代码生成

配置工具与静态代码生成:AUTOSAR工具链允许开发者通过图形化或XML配置文件来定义软件组件、ECU资源、通信接口等,随后自动生成对应的C代码。这确保了软件结构的标准化和代码的一致性,同时使得整个系统的行为在编译前即可被完全预测。

静态内存分配:所有任务、缓冲区、消息队列等所需的内存均在系统启动前静态分配完毕,避免了运行时的动态内存分配,提高了系统的确定性和效率。

任务管理与调度

周期性任务与优先级:每个任务根据其功能重要性和时间约束被赋予固定的执行周期和优先级。RTOS保证高优先级任务能够优先执行,并通过时间触发或事件触发机制确保周期性任务按时执行,如每5ms执行一次的控制循环。

任务栈:为每个任务独立分配栈空间,防止栈溢出导致的系统崩溃,同时确保任务间的数据隔离。

中断管理

CAN硬件中断:通过RTOS,CAN总线的硬件中断被高效地管理,确保数据的实时传输和处理。中断服务例程(ISR)快速响应中断,完成数据读取或发送的初步处理,随后快速返回,减少中断延迟。

CPU管理与抢占:RTOS监控CPU状态,管理任务上下文切换。快速中断(FIQ,Fast Interrupt Request)用于处理需要更快速响应的事件,相比普通中断(IRQ),FIQ享有更高的优先级和更快的处理路径。

核心工作与机制

核心功能:RTOS的核心工作包括但不限于任务调度、中断处理、同步与通信机制(如信号量、互斥锁)、内存管理和错误处理。这些机制共同确保了系统的实时性、稳定性和安全性。

功能隔离与模块化:通过AUTOSAR的分层架构和接口定义,不同的软件组件在逻辑上被隔离,促进模块化开发和测试,同时也便于软件复用和升级。

CAN通信

收集所有的CAN,分析优先级,由PDUR进行筛选,筛选之后发给CAN interface

LIN总线本质是一个串口

AP AUTOSAR

背景

为适应汽车的发展趋势(如辅助驾驶、V2X、OTA、远程诊断、动态部署等),应对汽车E/E系统开发面临的新的挑战(高性能处理器的应用,实现ADAS,高带宽通信,E架构演变等),AUTOSAR组织推出了AUTOSARAdaptive Platform(AP)。简单说,AP就是为高性能计算提出的解决方案

AP AUTOSAR架构

部署于linux系统上,本质还是属于中间件。

在Classic中虚拟功能总线VFB为RTE层,在Adaptive中VFB为ARA层,AUTOSARRuntime for Adaptive applications。 ARA层提供通讯管理、执行管理和日志跟踪等功能组件,并给App层提供API接口。AP构建在POSIXOS上,由不同功能模块组成,这些模块属于服务模块Service和基础模块Foundation。模块的通信是面向服务(SOA)的,并使用以太网与其它ECU通信。

AP:发展阶段,大部分都是C++代码,注重运算结果,高性能平台。

CP:应用层面,信号转服务,注重实时性。

CP&AP

开发方面的不同:

Classic Platform

Adaptive Platform

基于C语言 面向过程开发

基于C++语言 面向对象开发

FOA架构(function-oriented architecture )

SOA架构(service-oriented architecture

基于信号的静态配置通信方式

基于服务的SOA动态通信方式(SOME/IP、DDS)

硬件资源的连接关系局限于线束的连接

硬件资源的连接关系虚拟化,不局限于通信线束的连接关系(互联网)服务可根据应用需求动态加载,可通过配置文件动态加载,并进行单独更新公

静态的服务模块,模块和配置在发布前进行静态编译连接

应用加载到RAM执行

从ROM执行代码

每个应用都有直接的虚拟地址空间(支撑MMU)

基于OSEK操作系统

基于POSIX OS(Linux\QNX...)操作系统

WRLinux介绍

风河系统公司(Wind River Systems)开发和支持的一个商业版本的Linux操作系统

yocto,偏向于编译环境,代码在云端,做板级的适配,不需要安装工具链,一键编译。

不便利:微类核架构

QNX介绍

QNX是一款高性能、高可靠性的实时操作系统(RTOS),专为嵌入式系统设计,由QNX Software Systems(现为黑莓公司的子公司)开发,微内核架构

1)足够小的内核

微内核不是一个完整的OS,他拥有操作系统中最基本的部分,保证操作系统的内核做到足够。

1、实现与硬件紧密相关的处理

2、实现一些较基本的功能

3、负责客服端和服务器之间的通信

(2)基于 C/S 模式

将操作系统中最基本的部分放入内核中,把操作系统的绝大部分功能放在微内核外面的一组服务器(进程)中实现。

这些服务器运行在用户态,客户与服务器之间借助微内核提供的消息传递机制来实现通信。如:

1.用于对进程(线程)进行管理的进程(线程)服务器

2.提供虚拟存储器管理功能的存储器服务器

3.提供I/O设备管理的I/O设备管理服务器"机制与策略分离"原理

3)机制:指实现某一功能的具体执行机构策略:在机制的基础上,借助某些参数和算法来实现该功能的优化,或者达到不同的功能目标。在传统的OS中,机制通常放在OS的内核较低层,策略放在内核的较高层。而在微内核的OS中,通常将机制放在OS的微内核中。这样微内核才能够做的更小。

(4)采用面向对象技术

内核OS实现了更高层次的抽象和模块化,增强了系统的可维护性、可扩展性和适应未来变化的能力。


 

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

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

相关文章

SSRF服务端请求伪造漏洞原理与修复及靶场实践

SSRF服务端请求伪造漏洞原理与修复及靶场实践 SSRF漏洞原理与检测 SSRF(Server-Side Request Forgery,服务器端请求伪造)漏洞是一种因为服务端提供了远程访问服务,而并未对请求目标进行限制或限制不严格而引起的安全漏洞&#x…

C语言/数据结构——每日一题(有效的括号)

一.前言 如果想要使用C语言来解决这道题——有效的括号:https://leetcode.cn/problems/valid-parentheses/description/我们必须要借用上一篇我们所讲的内容——栈的实现:https://blog.csdn.net/yiqingaa/article/details/138923750?spm1001.2014.3001.…

leetcode124 二叉树中的最大路径和-dp

题目 二叉树中的 路径 被定义为一条节点序列,序列中每对相邻节点之间都存在一条边。同一个节点在一条路径序列中 至多出现一次 。该路径 至少包含一个 节点,且不一定经过根节点。 路径和 是路径中各节点值的总和。 给你一个二叉树的根节点 root &…

SpringCloud微服务04-Elasticsearch-DSL查询-聚合

一、Elasticsearch 搜索引擎,响应速度非常快,特别是对大数据量的情况 1.初始elasticsearch 如果只需要商品搜索,百度这种搜索网站,只需要第二个就够了 docker部署:day08-Elasticsearch - 飞书云文档 (feishu.cn) e…

我爱我家:租赁下位替代买房,能行吗?

我爱我家,凭什么五天四板? 上周五的楼市组合拳出台后,地产板块迎来高潮。 这其中最火的不是我们常说的“招宝万金”,而是——我爱我家。 五天四板,一个月不到,股价轻松翻翻。 公司有什么变化吗&#xff1…

蓝桥杯嵌入式国赛笔记(2):拓展板按键程序设计

目录 1、前言 2、电路原理 3、代码编写 3.1 读取Btn电压 3.2 检索按键 3.3 main文件编写 3.3.1 进行变量定义 3.3.2 AD_Key函数 3.3.3 LCD函数 3.3.4 main函数 3.3.5 完整代码 4、测试 5、总结 1、前言 本文进行拓展板按键程序设计,拓展板的按键是通…

分布式事务解决方案(强一致性)

强一致性事务概述 分布式事务领域,最早采用的是符合CAP理论的强一致性事务方案来解决分布式事务问题,强一致性分布式事务要求在任意时刻查询参与全局事务的各个节点的数据都是一致的 典型案例: 包括DTP模型(全局事务模型&#x…

【Crypto】MD5

文章目录 MD5解题感悟 MD5 提示的很明显MD5 小小flag,拿下! 解题感悟 没啥感悟…

LLM 大模型学习必知必会系列(十一):大模型自动评估理论和实战以及大模型评估框架详解

LLM 大模型学习必知必会系列(十一):大模型自动评估理论和实战以及大模型评估框架详解 0.前言 大语言模型(LLM)评测是LLM开发和应用中的关键环节。目前评测方法可以分为人工评测和自动评测,其中,自动评测技术相比人工…

android14上使用frida,

由于之前使用frida已经是2年前了,后来一直没有研究两年以后 首先手机得root才可以, 我使用的是一加9pro, root方法参考一加全能盒子、一加全能工具箱官方网站——大侠阿木 (daxiaamu.com)​编辑https://optool.daxiaamu.com/index.php 由于之前使用的是frida 15.1.1在and…

Amesim示例篇-案例1:空间中的铝块散热

前言 本文将通过一个案例继续对Thermal库的元件进一步讲解。 案例1:一个300mm*300mm*1000mm(长*宽*高)的铝板初始温度为45℃,竖直在环境为25℃的空间内静置60min。对流换热系数设置为5W/m2K。本文将通过两种建模方法对铝块的温度…

微软刚发布的Copilot+PC为什么让Intel和AMD尴尬?2024 AI PC元年——产业布局及前景展望

美国东部时间5月20日在微软位于华盛顿的新园区举行的发布会上,宣布将旗下AI助手Copilot全面融入Windows系统,能够在不调用云数据中心的情况下处理更多人工智能任务。 “将世界作为一个提示词就从Windows系统开始”。微软的新PC将是“CopilotPC”&#xf…

树洞陪聊系统源码/陪聊/陪玩/树洞/陪陪/公众号开发/源码交付/树洞系统源码

独立版本源码交付,自研UI和前后端代码 平台自带店员,无需自主招募,搭建直接运营 支持三方登录,官方支付、虎皮椒、易支付/码支付 支持首单体验、盲盒订单、指定下单等多个模式 支持钱包预充值、店员收藏、订单评价等功能 支持…

You must call removeView() on the child‘s parent first.异常分析及解决

问题描述 对试图组件快速的左右滑动过程,发现某一张图片没加载出来,偶现crash 问题分析 view在上次已经是某个ParentView的child,然而现在又把它做为另外一个view的child,于是出现一个view有两个parent。所以就产生了这个错误。…

深入了解Python代码中的缩进与逻辑结构

新书上架~👇全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我👆,收藏下次不迷路┗|`O′|┛ 嗷~~ 目录 一、认识缩进在代码中的重要性 代码示例:天气与打球决策 二、缩进与逻辑嵌套 …

uniapp使用内置的switch组件的问题

说明 开关选择器 属性说明 属性名类型默认值说明平台差异说明checkedBooleanfalse是否选中disabledBooleanfalse是否禁用不支持:抖音小程序、飞书小程序typeStringswitch 样式 有效值:switch、checkbox colorColorswitch的颜色,通css的co…

Tensorflow入门实战 P01-实现手写数字识别mnist

目录 1、背景:MNIST手写数字识别 2、完整代码(Tensorflow): 3、运行过程及结果: 4、小结(还是很清晰的) 5、 展望 🍨 本文为🔗365天深度学习训练营 中的学习记录博客…

摔到脑袋,没有骨折,没有脱位,脊髓怎么会损伤?

在一个周末的午后,小明在公园的足球场上不慎摔倒,头部重重撞到草地。虽然很快恢复了意识,但回家后却感到颈部僵硬,四肢无力。家人急忙带他前往医院就医做了相关检查。 经过医生的仔细检查,结果显示小明的头部没有骨折或…

《暮色将尽》跨越世纪的历程,慢慢走向并完善自我

《暮色将尽》跨越世纪的历程,慢慢走向并完善自我 戴安娜阿西尔(1917-2019),英国知名文学编辑、作家。著有《暮色将尽》《昨日清晨》《未经删节》《长书当诉》等。 曾嵘 译 文章目录 《暮色将尽》跨越世纪的历程,慢慢走…

FastGPT私有化部署+OneAPI配置大模型

介绍 FastGPT 是一个基于 LLM 大语言模型的知识库问答系统,提供开箱即用的数据处理、模型调用等能力。同时可以通过 Flow 可视化进行工作流编排,从而实现复杂的问答场景! 官网地址 https://doc.fastai.site/docs/intro/ 部署 FastGPT提供…