汽车ECU的虚拟化技术初探(二)

目录

1.概述

2.U2A虚拟化方案概述

3.U2A的虚拟化功能概述

4.虚拟化辅助功能的使能

5.留坑


1.概述

        在汽车ECU的虚拟化技术初探(一)-CSDN博客里,我们聊到虚拟化技术比较关键的就是vECU的虚拟地址翻译问题,例如Cortex-A77就使用MMU来进行虚实地址的转换;实际上,在汽车MCU中,还很少看到带MMU硬件的芯片,那么是否他们就不能使用虚拟化技术呢?

        为此,我查阅了目前来说应该是有虚拟化方案支持的量产芯片RH850 U2A的datasheet,现抛砖引玉,希望大家共同探讨这项变革汽车域控的技术。

2.U2A虚拟化方案概述

        废话不多说,首先来看U2A的整体资源,该芯片有4个采用双核锁步的 400 MHz  CPU 。 每个CPU都集成了基于硬件的虚拟化辅助功能,允许满足不同 ISO26262 功能安全级别的多种软件系统在高性能模式下独立运行且不受干扰。 此外,还可减少虚拟化占用的资源,以保障实时执行。 这使用户能够将多个 ECU 功能集成到单个 ECU 中,同时保持功能安全、信息安全以及实时操作要求。

        U2B在U2A的基础上新增了QoS、FXU,扩容了Flash以满足未来架构的需求,同时成本仍旧低于与SOC相比。 由于没有看到U2B的片子,这里还是从U2A分析。

        光有硬件虚拟化辅助其实不够,还需要hypervisor软件,因此瑞萨和ETAS进行合作,瑞萨搞硬件,ETAS干软件,结合了U2A 硬件 (HW) 关键功能(例如虚拟化管理程序、QoS服务质量、功能安全和网络安全等)以及ETAS出色的软件产品组合和软件能力,提供软件优先的解决方案,可将多个应用程序集成到单个 ECU 中,从而以安全可靠的方式彼此分离,最大程度地确保相互之间不受干扰。其产品示例架构如下:

        可以看到,在上述产品示例中,仍旧采用了之前讨论的 硬件type1虚拟化方案,其hypervisor软件叫做RTA-HVR;

        它总共分成了4个大的Partition:A、B、C、D

  • Partition A:在1个物理CPU里运行单个VM(虚拟机),即VM A;
  • Partition B:在2个物理CPU里运行多个VM,VMB 0,VM B1;
  • Partition C\D:2个单个VM共享 1个物理CPU。

        在上述VM之上,运行着不同的Guest SW,即不同的vECU,实现不同功能聚合到一个MCU上。

        我们这里首先来看看,U2A为虚拟化提供了哪些硬件辅助功能。

3.U2A的虚拟化功能概述

        在U2A中,瑞萨使用的是自研内核G4MH2来支持虚拟化功能。当使用虚拟化功能时,瑞萨称这个系统为虚拟系统,没有使用叫做常规系统。如下:

       在常规系统中,OS几乎可以使用CPU的所有功能;而在虚拟系统中,OS仅能使用由虚拟软件管理下的VM分配的资源,虽然运行在VM上的软件以为它在独享整个CPU的资源,但实际上从CPU视角,有可能它只用了很少一部分资源。这样的好处就是即使运行在VM上的软件出现了风险,也不至于导致整个硬件系统的崩溃。换句话说,就是不用硬件去Reset整个系统,只需要重启VM,把风险控到最低。

        Ps:该种虚拟化也叫作半虚拟化,详见全虚拟化与半虚拟化-阿里云开发者社区

4.虚拟化辅助功能的使能

      U2A的CPU G4MH2,在原来运行模式(Supervisor mode和User Mode)的基础上新增了两种模式,叫做Host Mode和Guest Mode;当CPU使能虚拟化辅助功能后,可以使用上述两种模式作为新的CPU运行模式。这几种模式对应不同特权,它们关系如下:

  •  Hypervisor privilege(HV):构建、管理VM和CPU资源的模式,仅在虚拟化辅助功能开启且进入Host Mode,CPU可使用HV特权;主要是给虚拟化软件使用。
  • Supervisor Privilege(SV):异常、重要系统资源分配、致命错误处理等需要在此特权等级下处理,在常规模式和虚拟模式下均支持,例如在虚拟系统里运行在VM上APP出现了异常,此时需从UM进到SM,使用SV对该异常进行处理。

        上面两个是个人认为比较关键的,此外还有User Mode Authority、 协处理器使用权限,这里还没有研究到,后面再谈。

5.留坑

  1. U2A整体架构分析
  2. U2A 硬件硬件虚拟化辅助功能详解
  3. 两个使用相同芯片的vECU集成到U2A时,二者链接文件一样(即Code、Data均放在原MCU相同位置),U2A如何保证在不修改原工程的情况完成Flash的地址隔离(即vECU A使用相同地址,但在VMM翻译地址时映射到物理BankA;vECU B同理)

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

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

相关文章

C语言——贪吃蛇

一. 游戏效果 贪吃蛇 二. 游戏背景 贪吃蛇是久负盛名的游戏,它也和俄罗斯⽅块,扫雷等游戏位列经典游戏的⾏列。 贪吃蛇起源于1977年的投币式墙壁游戏《Blockade》,后移植到各种平台上。具体如下: 起源。1977年,投币式…

KDE Plasma 6 将不支持较旧的桌面小部件

KDE Plasma 6 进行了一些修改,需要小部件作者进行调整。开发人员,移植时间到了! KDE Plasma 6 是备受期待的桌面环境版本升级版本。 最近,其发布时间表公布,第一个 Alpha 版本将于 2023 年 11 月 8 日上线&#xff0…

NestJS——基于Node.js 服务器端应用程序的开发框架

文章目录 前言什么是 NestJS? 一、NestJS特性?二、使用步骤Typescript 知识后端开发基本知识新建项目目录结构 前言 Nestjs中文文档 什么是 NestJS? Nest (NestJS) 是一个用于构建高效、可扩展的 Node.js 服务器端应用程序的开发框架。它利用…

HuggingFace模型头的自定义

在线工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器 在本文中我们将介绍如何使HuggingFace的模型适应你的任务,在Pytorch中建立自定义模型头并将其连接到HF模型的主体&#…

如何导出PPT画的图为高清图片?插入到world后不压缩图像的设置方法?

期刊投稿的时候,需要图片保持一定的清晰度数,那么我们怎么才能从PPT中导出符合要求的图片呢? 对于矢量图绘图软件所画的图,直接导出即可。 而PPT导出的图片清晰度在60pi,就很模糊。 整体思路: PPT绘图——…

吃透 Spring 系列—MVC部分

目录 ◆ SpringMVC简介 - SpringMVC概述 - SpringMVC快速入门 - Controller中访问容器中的Bean - SpringMVC关键组件浅析 ◆ SpringMVC的请求处理 - 请求映射路径的配置 - 请求数据的接收 - Javaweb常用对象获取 - 请求静态资源 - 注解驱动 标签 ◆ SpringMV…

Leetcode421. 数组中两个数的最大异或值

Every day a Leetcode 题目来源:421. 数组中两个数的最大异或值 解法1:贪心 位运算 初始化答案 ans 0。从最高位 high_bit 开始枚举 i,也就是 max⁡(nums) 的二进制长度减一。设 newAns ans 2i,看能否从数组 nums 中选两个…

【ATTCK】MITRE Caldera -前瞻规划器

CALDERA是一个由python语言编写的红蓝对抗工具(攻击模拟工具)。它是MITRE公司发起的一个研究项目,该工具的攻击流程是建立在ATT&CK攻击行为模型和知识库之上的,能够较真实地APT攻击行为模式。 通过CALDERA工具,安全…

深入了解JVM和垃圾回收算法

1.什么是JVM? JVM是Java虚拟机(Java Virtual Machine)的缩写,是Java程序运行的核心组件。JVM是一个虚拟的计算机,它提供了一个独立的运行环境,可以在不同的操作系统上运行Java程序。 2.如何判断可回收垃圾…

机器学习数据预处理——Word2Vec的使用

引言: Word2Vec 是一种强大的词向量表示方法,通常通过训练神经网络来学习词汇中的词语嵌入。它可以捕捉词语之间的语义关系,对于许多自然语言处理任务,包括情感分析,都表现出色。 代码: 重点代码&#…

C# PaddleInference.PP-HumanSeg 人像分割 替换背景色

效果 项目 VS2022.net4.8OpenCvSharp4Sdcb.PaddleInference 包含4个分割模型 modnet-hrnet_w18 modnet-mobilenetv2 ppmatting-hrnet_w18-human_512 ppmattingv2-stdc1-human_512 代码 using OpenCvSharp; using Sdcb.PaddleInference; using System; using System.Col…

酷开科技智能大屏OS Coolita亮相第134届中国进出口商品交易会

作为中国外贸的“风向标”和“晴雨表”,广交会因其历史长、规模大、商品种类全、到会客商多、成交效果好,被称为“中国第一展”,它见证了中国改革开放的时代大潮与对外贸易的蓬勃发展。 2023年10月15日,第134届中国进出口商品交易…

【Spring Cloud】声明性REST客户端:Feign

Spring Cloud Feign ——fallback 服务降级 1. Feign 简介2. Feign 的基础使用2.1 普通 HTTP 请求2.2 Feign 远程调用上传文件接口 1. Feign 简介 Feign 是一个声明式的 HTTP 客户端,它简化了编写基于 REST 的服务间通信代码的过程。在 Spring Cloud 中&#xff0c…

【论文阅读】PSDF Fusion:用于动态 3D 数据融合和场景重建的概率符号距离函数

【论文阅读】PSDF Fusion:用于动态 3D 数据融合和场景重建的概率符号距离函数 Abstract1 Introduction3 Overview3.1 Hybrid Data Structure3.2 3D Representations3.3 Pipeline 4 PSDF Fusion and Surface Reconstruction4.1 PSDF Fusion4.2 Inlier Ratio Evaluati…

AI爆文变现脚本:易用且免费的自动写作脚本更新了

之前给大家分享的AI爆文变现写作脚本 由于时间仓促,加上我对很多东西不熟悉 免费版本对新手小白来说,安装部署起来是非常的困难 于是这几天我加班加点把整个软件的部署简化 现在无需复杂的环境配置安装,下载配置下就可以使用了。 免费版…

[工业自动化-16]:西门子S7-15xxx编程 - 软件编程 - 西门子仿真软件PLCSIM

目录 前言: 一、PLCSIM仿真软件 1.1 PLCSIM仿真软件基础版(内嵌) 1.2 PLCSIM仿真软件与PLCSIM仿真软件高级版的区别? 1.3 PLCSIM使用 前言: PLC集成开发环境是运行在Host主机上,Host主机与PLC可以通过…

音视频基础知识

图像(YUV RGB) ​​​​​​​​​​​​​​这个讲的比较好 RGB颜色编码 图像显示主要是由像素组成,每个像素点的颜色组成都是采用RGB格式,RGB就是红、绿、蓝,RGB分别取不同的值,展示不同的颜色。 YUV…

二十五、W5100S/W5500+RP2040树莓派Pico<Modebus TCP Server示例>

文章目录 1 前言2 简介2 .1 什么是Modbus TCP?2.2 Modbus TCP指令介绍2.3 请求数据过程2.4 Modbus TCP协议优点2.5 Modbus TCP应用场景 3 WIZnet以太网芯片4 Modbus TCP示例概述以及使用4.1 流程图4.2 准备工作核心4.3 连接方式4.4 主要代码概述4.5 结果演示 5 注意…

阿里云OSS和腾讯云COS对象存储介绍和简单使用

对象存储指的是一种云存储服务,其主要是将数据以对象的形式存储在云端,并且提供了完全的API调用,这些API包括上传,下载,删除,复制,预览,权限设置等等。OSS对象存储和COS对象存储都是…

设计模式之十一:代理模式

代理可以控制和管理访问。 RMI提供了客户辅助对象和服务辅助对象,为客户辅助对象创建和服务对象相同的方法。RMI的好处在于你不必亲自写任何网络或I/O代码。客户程序调用远程方法就和运行在客户自己本地JVM对对象进行正常方法调用一样。 步骤一:制作远程…