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

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.lryc.cn/news/208246.html

相关文章:

  • 搭建自己的搜索引擎——oh-my-search使用
  • 微信小程序实现文章内容详情
  • 行情分析——加密货币市场大盘走势(10.27)
  • 设计模式:桥接模式(C#、JAVA、JavaScript、C++、Python、Go、PHP)
  • error: the following arguments are required: --model, --data 解决方法
  • Kafka - 消息队列的两种模式
  • 【Go】格式化字符串指令大全 Redis常用命令
  • Windows 和 Linux 这2个系统在进行编程实现的时候的一些区别:
  • [SQL开发笔记]SQL 别名:为表名称或列名称指定别名
  • 风险管理案例题
  • NFC读卡器ST25R3911B-AQWT、ST25R3917B-AQET、ST25R3919B-AQET产品描述、功能框图
  • JVM进阶(2)
  • 2023大湾区杯粤港澳金融数学建模竞赛思路+模型+代码
  • 【Note详细图解】中缀表达式如何转为后缀表达式?数据结构
  • 常用到的资源共享网站
  • 关于JAVA中字节码文件版本号、产品版本号及开发版本号的关系
  • ModbusTCP 转 Profinet 主站网关在博图配置案例
  • 抖音上怎么挂小程序?制作小程序挂载抖音视频
  • AI新能量!FortiGate NGFW面向数据中心全面集成FortiGuard AI 安全服务
  • Git总结
  • 初级前端面试题(一) 之 html/css/js
  • python实现excel的数据提取
  • Vue的MVVM实现原理
  • vue+iView 动态侧边栏菜单保持高亮选中
  • 标准的听觉检测环境应满足哪些条件?
  • Fabric.js 样式不更新怎么办?
  • 【优选算法精品】前缀和
  • 应用案例|基于高精度三维机器视觉引导机器人自动分拣包裹的应用
  • Vue自定义指令实现按钮级的权限控制
  • Selenium实现自动登录163邮箱和Locating Elements介绍