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

news2024/11/15 19:43:17

目录

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.coloradmin.cn/o/1201383.html

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

相关文章

阿里云ACK(Serverless)安装APISIX网关及APISIX Ingress Controller

在k8s上安装apisix全家,通过helm安装很简单,但是会遇到一些问题。 安装 首先登录阿里云控制台,在ACK集群详情页,进入CloudShell,执行下面helm命令安装apisix、apisix-ectd、apisix-dashboard和apisix-ingress-contro…

【Linux】Kali(WSL)基本操作与网络安全入门

😏★,:.☆( ̄▽ ̄)/$:.★ 😏 这篇文章主要介绍WSL安装Kali及基本操作。 学其所用,用其所学。——梁启超 欢迎来到我的博客,一起学习,共同进步。 喜欢的朋友可以关注一下,下次更新不迷路…

从0到0.01入门React | 004.精选 React 面试题

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云课上架的前后端实战课程《Vue.js 和 Egg.js 开发企业级健康管理项目》、《带你从入…

upload-labs关卡7(基于黑名单的空格绕过)通关思路

文章目录 前言一、回顾上一关知识点二、靶场第七关通关思路1、看源代码2、空格绕过3、检查文件是否成功上传 总结 前言 此文章只用于学习和反思巩固文件上传漏洞知识,禁止用于做非法攻击。注意靶场是可以练习的平台,不能随意去尚未授权的网站做渗透测试…

【GEE】10、使用 Google 地球引擎创建图形用户界面【GUI开发】

1简介 在本模块中,我们将讨论以下概念: 用于生成图形用户界面的 GEE 对象。如何开发具有交互元素的面板。如何将地理处理元素连接到交互式元素。 2背景 在过去的十个单元中,我们展示了 Google Earth Engine 可以成为一种重要且高效的资源&a…

数字双向码、密勒码、传号反转(CMI)码、AMI、HDB3的编码规则和功率谱解析+眼图

数字双向码、密勒码、传号反转(CMI)码、AMI、HDB3的编码规则和功率谱解析眼图 本文主要涉及数字双向码、密勒码、传号反转(CMI)码、AMI、HDB3的编码规则,优缺点和功率谱解析以及眼图的分析。关于简单二元码大家可以参考简单二元码…

Python---元组的相关操作方法

由于元组中的数据不允许直接修改,所以其操作方法大部分为查询方法。 编号函数作用1元组[索引]根据索引下标查找元素2index()查找某个数据,如果数据存在返回对应的下标,否则报错,语法和列表、字符串的index方法相同3count()统计某…

第十七章jQuery中的事件与动画

一。常用事件: 1.鼠标事件: mouseover():在鼠标进入内容后一直显示事件 mouseout():在鼠标离开内容后一直显示事件 mouseenter():在进入刹那间显示事件 mouseleave():在退出刹那间显示事件 案例&#xf…

v-bind和v-model

目录 前言 v-bind 作用 语法格式 编译原理 简写 v-model 作用 使用方法 v-bind和v-model的区别和联系 前言 本文我们来了解一下模板语法之指令语法中的v-bind和v-model v-bind 作用 v-bind可以让html标签的某个属性的值产生动态的效果 语法格式 <html标签 v-bin…

终端安全/SOC安全/汽车信息安全大课来袭-共计204节课

在近两年的时间里&#xff0c;我投入了大量的心血和精力&#xff0c;不仅创作了数千篇精美的图片&#xff0c;还编写了超过1000篇文章&#xff0c;以及数百篇内容丰富的PPT。经过这番努力我终于成功地构建出两套系统化的学习课程&#xff0c;它们分别是“Trustzone/TEE/安全从入…

【Android】Android apk 逆向编译

链接&#xff1a;https://pan.baidu.com/s/14r5s9EJwQgeLK5cCb1Gq1Q 提取码&#xff1a;qdqt 解压jadx 在 lib 文件内找到 jadx-gui-1.4.7.jar 打开cmd 执行 &#xff1a;java -jar jadx-gui-1.4.7.jar示列&#xff1a;

U-Mail邮件中继,让海外邮件沟通更顺畅

在海外&#xff0c;电子邮件是人们主要的通信工具&#xff0c;尤其是商务往来沟通&#xff0c;企业邮箱是标配。这主要是因为西方国家互联网发展较早&#xff0c;在互联网早期&#xff0c;电子邮件技术较为成熟&#xff0c;大家都用电子邮件交流&#xff0c;于是这成了一种潮流…

【debug】解决Kali虚拟机开机黑屏,左上角光标一直闪动无法开机问题

做网络攻防实验时&#xff0c;突然Kali无法打开&#xff0c;遇到这个问题。。。。。。 遇到的问题 突然kali虚拟机变成如下黑屏&#xff0c;无法开机&#xff0c;左上角光标闪动&#xff0c;重启无效。 解决办法 在上图界面&#xff0c;按Ctrl F3&#xff08;不同电脑快捷键…

设计模式-工厂方法

工厂方法是一种创建型设计模式&#xff0c;其在父类中提供一个创建对象的方法&#xff0c;允许子类决定实例化对象的类型。 问题 假设你开设了一个汽车工厂。创业初期工厂只能生产宝马这一款车&#xff0c;因此大部分代码都位于名为宝马的类中。 工厂效益非常好&#xff0c;为…

Spring Cloud学习(七)【Docker 容器】

文章目录 初识 DockerDocker 介绍Docker与虚拟机Docker架构安装 Docker Docker 基本操作镜像相关命令容器相关命令数据卷 Dockerfile 自定义镜像镜像结构Dockerfile DockerComposeDockerCompose介绍安装DockerCompose Docker镜像仓库常见镜像仓库服务私有镜像仓库 初识 Docker …

CSS花边001:无衬线字体和有衬线字体

网站中我们看到过很多字体&#xff0c;样子各有千秋。通常针对结构&#xff0c;区分为有衬字体&#xff08;serif&#xff09; 和无衬字体&#xff08;sans-serif&#xff09;。今天我们聊一下这个话题。 什么是有衬字体&#xff0c;什么是无衬字体&#xff1f; 衬线字体&…

【c++随笔12】继承

【c随笔12】继承 一、继承1、继承的概念2、3种继承方式3、父类和子类对象赋值转换4、继承中的作用域——隐藏5、继承与友元6、继承与静态成员 二、继承和子类默认成员函数1、子类构造函数 二、子类拷贝构造函数3、子类的赋值重载4、子类析构函数 三、单继承、多继承、菱形继承1…

[ASP]数据库编辑与管理V1.0

本地测试&#xff1a;需要运行 ASP专业调试工具&#xff08;自己搜索下载&#xff09; 默认登陆口令&#xff1a;admin 修改口令&#xff1a;打开index.asp找到第3行把admin"admin"改成其他&#xff0c;如admin"abc123" 程序功能齐全&#xff0c;代码精简…

CLIP:用文本作为监督信号训练可迁移的视觉模型

Radford A, Kim J W, Hallacy C, et al. Learning transferable visual models from natural language supervision[C]//International conference on machine learning. PMLR, 2021: 8748-8763. CLIP 是 OpenAI 在 2021 年初的工作&#xff0c;文章发表在 ICML-2021&#xff0…

并发安全问题之--事物失效问题

并发安全问题之–事物失效问题 事物失效常见的6种原因&#xff1a; 1、事物方法非public修饰 2、非事物方法调用事物方法 3、事物方法抛出的异常被捕获了 4、事物方法抛出的异常类型不对 5、事物传播行为不对&#xff08;事物发生嵌套时有事物传播&#xff09; 6、事物锁属类没…