RTE(Runtime Environment)

RTE(Runtime Environment)是一个运行时环境,在这个环境里,你可以实现的功能是:

作为一个缓冲buffer给应用层和BSW层的接口(例如COM)用来存储数据,也就是说定义一个全局变量供上层和下层读写;

创建读写接口(例如COM层在收到PDUR路由过来的的数据后,会触发回调,这个回调的执行会对数据进行一定的处理,之后通过RTE的Read或Write将数据写到RTE的buffer中,上层应用会根据TASK的周期触发读或写RTE的buffer)

在RTE层,支持对收到的数据进行软处理(例如E2E校验,现在有一组CAN数据触发COM回调后,在触发RTE的Read接口读这个信号组,并且进行E2E校验,校验成功后,再将数据写到RTE的buffer中,供上层应用读取)

也可以是运算,

RTE支持通过判断某些flag,触发DEM的fault。(例如,COM层一直没有收到某个信号,触发COM超时,之后触发RTE的超时接口,之后触发DEM的fault)

RTE可以支持多SWC读取同一数据,也就是buffer可以由多个runnable访问,换句话说,在一个核里,多个TASK可以访问这个buffer,只要资源没有锁住;换一个思路,为什么多核不可以访问RTE的buffer,实现多核的数据共享。因为RTE只是一个概念,可以理解为每个核的RAM,一个核可以随意访问自己的RAM,但是访问其他核的RAM,需要用其他的机制;在进一步思考,多核可不可以访问某一个核的buffer,答案是可以,可以通过共享内存的方式访问,共享内存需要配置MemMap模块,如下图。

除此之外,要区分数据交换和协作与数据共享的区别,数据交互和协作是类似于客户端与服务器之间的交互,需要发布与订阅之后传输数据。而数据共享是一个进程下面的多线程访问一个内存。

像TC397的多核是所有芯片都是基于RISC-V的架构,是相同的处理器,跑的豆是OSEK OS,,

像TDA4的多核是有R核,有A核,跑的操作系统也都不一样,所以数据要用IPC交互,多核异构的核间通讯IPC是基于COM模块的数据交互

Core1

Core2

RTE支持事件的触发和调度,其实就是RTE与OS之间有什么关系,RTE负责管理软件OS的运行时状态、事件触发等。通过RTE,软件可以通过服务接口进行数据读写、事件触发和处理、报文发送和接收等操作。

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

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

相关文章

解决Windows出现找不到mfcm90u.dll无法打开软件程序的方法

今天,我非常荣幸能够在这里与大家分享关于mfc90u.dll丢失的5种解决方法。在我们日常使用电脑的过程中,可能会遇到一些软件或系统错误,其中之一就是mfc90u.dll丢失。那么,mfc90u.dll究竟是什么文件呢?接下来&#xff0c…

【Linux】jdk、tomcat、MySQL环境搭建的配置安装,Linux更改后端端口

一、作用 工具的组合为开发者和系统管理员提供了构建和运行Java应用程序以及存储和管理数据的完整环境。 JDK(Java Development Kit):JDK是Java开发工具包,它提供了开发和运行Java应用程序所需的工具和库。通过安装JDK&#xff0c…

编写Groovy Hello World 程序

使用 IntelliJ IDEA 打开 IntelliJ IDEA,并创建一个新的 Groovy 项目。 在项目中创建一个新的 Groovy 类文件,命名为 HelloWorld.groovy。 在 HelloWorld.groovy 文件中,编写以下代码: class HelloWorld {static void main(Stri…

Ubuntu 搭建 DHCP ivp6 server 步骤

Ubuntu 搭建 DHCP ivp6 server 步骤 安装 DHCP server安装 radvd(实现局域网路由功能)测试运行 安装 DHCP server apt 安装 isc-dhcp-server sudo apt-get install isc-dhcp-server修改配置文件 /etc/dhcp/dhcpd6.conf 内容如下: lease-time 7200; lo…

10 MIT线性代数-四个基本子空间 four fundamental subspaces

1. 四个子空间 Four subspaces (mxn) 列空间 Column space C(A) in 零空间Nullspace N(A) in 行空间Row space all combs of rows all combs of columns of AT C(AT) in 左零空间Left nullspace Nullspace of AT N(AT) left nullspace of A in 2. 基和维数 Basis&…

目标检测与图像识别分类的区别?

目标检测与图像识别分类的区别 目标检测和图像识别分类是计算机视觉领域中两个重要的任务,它们在处理图像数据时有一些区别。 目标检测是指在图像中定位和识别多个目标的过程。其主要目标是确定图像中每个目标的边界框位置以及对应的类别标签。目标检测任务通常涉…

QT实现用本地资源管理器来打开文件夹

QString path"文件夹路径";QDesktopServices::openUrl(QUrl("file:"path, QUrl::TolerantMode)); 在windows中QT编程,使用资源管理器来打开指定本地文件夹的方法: 第一种:使用Qprocess命令(相当于在cmd命令管…

如何在mac 安装 cocos 的 android环境

基本概念: Java: Java 是一种编程语言,由Sun Microsystems(现在是 Oracle Corporation)开发。Java 是一种跨平台的语言,可以用于开发各种应用程序,包括 Android 应用程序。Android 应用程序的核心代码通常用…

Unity 粒子特效-第二集-烟雾特效

一、烟雾特效预览 二、制作原理 烟雾素材 链接:https://pan.baidu.com/s/1D2TGRRZJnxXIzy97Iqf0gw?pwddn4x 提取码:dn4x 1.这个是序列帧图片粒子特效一起组合而成的 这就是一个单独整个的烟雾动画 如下,是这个动画的所有图片,…

表格识别软件:科技革新引领行业先锋,颠覆性发展前景广阔

表格识别软件的兴起背景可以追溯到数字化和自动化处理的需求不断增加的时期。传统上,手动处理纸质表格是一项费时费力的工作,容易出现错误,效率低下。因此,开发出能够自动识别和提取表格数据的软件工具变得非常重要。 随着计算机…

【C++】多态 ⑦ ( 多态机制实现原理 | 虚函数表概念 | 虚函数表工作机制 | vptr 指针 | 虚函数表运行时机制 | 虚函数与动态联编 )

文章目录 一、多态原理1、多态成立的三个条件2、虚函数表概念3、虚函数表工作机制4、vptr 指针5、虚函数表运行时机制6、虚函数与动态联编 二、代码示例 - 虚函数表1、代码实例分析 - 虚函数表创建与使用2、完整代码示例 一、多态原理 1、多态成立的三个条件 " 多态 "…

网络爬虫——urllib(5)

前言🍭 ❤️❤️❤️网络爬虫专栏更新中,各位大佬觉得写得不错,支持一下,感谢了!❤️❤️❤️ Python网络爬虫_热爱编程的林兮的博客-CSDN博客 上一篇我们讲解有关ajax的相关案例,下面我们来学习新的关于ur…