AUTOSAR学习之RTE - 基本概念
1.什么是RTE?
The Run-Time Environment (RTE) is at the heart of the AUTOSAR ECU architecture. The RTE is the realization (for a particular ECU) of the interfaces of the AUTOSAR Virtual Function Bus (VFB).
RTE是AUTOSAR中VFB的接口实现。
The RTE provides the infrastructure services that enable communication to occur between AUTOSAR software-components as well as acting as the means by which AUTOSAR software-components access basic software modules including the OS and communication service.
RTE提供基础的通信服务,支持软件组件间和软件组件间到基础软件模块的通信。
The RTE encompasses both the variable elements of the system infrastructure that arise from the different mappings of components to ECUs as well as standardized RTE services.
RTE提供了构件到ECU异构信息的配置从而使得RTE服务标准化。
The RTE is generated for each ECU to ensure that the RTE is optimal for the ECU.
RTE是特定的对于每个ECU生成的。
2.RTE概念
RTE对象:

对象间的关系:
1. 通讯关系图:

2. 并发关系图:

AUTOSAR software-components have no direct access to the OS and hence there are no "tasks" in an AUTOSAR application. Instead, concurrent activity within AUTOSAR is based around runnable entities within components that are invoked by the RTE.(P31)
AUTOSAR软件组件不能直接访问操作系统,所以在AUTOSAR应用程序中没有 "task" 的概念,取而代之的是被RTE所管理的构件运行体(runnable)。
The AUTOSAR VFB specification [13] defines a runnable entity as a "sequence of instructions that can be started by the Run-Time Environment". A component provides one2 or more runnable entities [RTE00031] and each runnable entity has exactly one entry point. An entry point defines the symbol within the software-component's code that provides the implementation of a runnable entity.
每个软件组件都有一个或多个运行体(runnable),但每个运行体只有一个入口。
The RTE is responsible for invoking runnable entities – AUTOSAR software-components are not able to (dynamically) create private threads of control. Hence, all activity within an AUTOSAR application is initiated by the triggering of runnable entities by the RTE as a result of RTEEvents.
因为AUTOSAR软件组件没有能力动态创建线程,所以由RTE负责调入运行体(runnable)。正因为这样,AUTOSAR所有软件活动都是由RTEEvents引起的。
An RTEEvent encompasses all possible situations that can trigger execution of a runnable entity by the RTE.
RTEEvents 试图把所有可能触发任务的事件都包含进来。[The different classes of RTEEvent are defined in Section 5.7.5.]
The RTE supports runnable entities in any component that has an AUTOSAR interface - this includes AUTOSAR software-components and basic software modules.
RTE支持所有含有AUTOSAR接口的运行体,不仅有SWC,还包括了BSW。
Runnable entities are divided into multiple categories with each catgory supporting different facilities.
运行体被分为不同的类别,以便支持不同的设备。[The categories supported by the RTE are described in Section 4.2.2.2.]
3.RTE生成过程
RTE生成的主要过程是:创建与操作系统系统功能相适应的AUTOSAR软件构件API,并管理软件构件间的通信。
这些生成的代码在运行时:
(1)为软件构件分配所需的系统资源,如消息号、任务运行环境等
(2)负责具体执行软件构件间通过端口进行的通信
(3)根据软件构件描述中的信息,在适当时刻为软件构件提供事件或调度。
RTE生成包含两个阶段:(1)定义阶段(RTE Contract phase)(2)生成阶段(RTE Generation phase)。
在(1)定义阶段中,将软件构件和RTE交互描述信息定义为头文件,作为软件构件与RTE的契约,双方都使用相同数据结构进行编程。在此阶段,需要完成的工作是:
l 软件构件类型描述
l 构件内部行为描述
l 真实源代码或目标代码及其API(头文件)生成
l 实现语言描述

从上图中可以清晰的看到,其实定义阶段就是扫描一下InternalBehavior这个xml的标签(
),然后生成它的头文件。
Internal Behavior中可以包含的内容如下:

在(2)生成阶段中,将所有软件构件、相关系统和ECU信息联合起来,为每一个ECU生成一个RTE。

由上图可以看出,生成阶段之前要先收集ECU配置信息,然后进行配置,可配置的内容有:
So first the 'RTE Configuration Editor' needs to collect all the information needed to establish an operational RTE. This gathering includes information on the SW-Component instances and their communication relationships, the Runnable Entities and the involved RTE-Events and so on. The main source for all this information is the 'ECU Configuration Description', which might provide references to further descriptions like the SW-Component description or the System Configuration description.
SWC的接口和它们的通信关系。
运行体和它们的RTE-Events。

One extremely important point is the mapping of application signals from SW-Component's ports to COM signals. A mapping of the application signals to system signals has already been defined by the 'System Configuration Generator' .
还有一个极端重要的内容就是把SWC的端口映射成为COM的信号。映射的规则已经被系统配置生成器(
)所描述。
The generated RTE interacts with AUTOSAR COM and OS. For the latter, the RTE both uses OS objects already in existance (e.g. tasks for which the RTE generator builds bodies) as well as requires new objects (e.g. a schedule table or periodic alarms for periodic runnable entities).
The coordination of configuration information between the OS and RTE is therefore key since both the RTE and OS have to agree upon the set of OS objects.
RTE生成器使用COM和操作系统已有的对象(如:task),同时也创建自己的新对象(如调度表和周期时钟)。但是如果一个对象OS已经提供,RTE就必须使用。
The AUTOSAR OS is configured in the ECU Configuration Description. The RTE configurator/generator needs to communicate its needs to the OS and therefore it seems sensible to use the same format order to allow the communication of the set of OS object required by the generated RTE.
AUTOSAR OS被ECU配置描述文件所配置。
The specification of the OS objects used by the generated RTE, henceforth termed OsNeeds, can be done either at configuration time only or at a mixture of configuration and generation time, depending on which approach is supported by the configuration and generation tools of RTE and OS. Thus according to figure 3.4 the output information OsNeeds can be alternatively provided by the RTE Configuration Editor or the RTE Generator.
如果是操作系统特别需要的对象,就标记上OsNeed。如下图所示:

AUTOSAR学习之RTE - 基本概念的更多相关文章
- AUTOSAR学习之RTE - 可运行实体
本文介绍RTE的运行体(runnable). An AUTOSAR component defines one or more "runnable entities". A run ...
- Optaplanner逐步学习(0) : 基本概念 - Optaplanner,规划问题, 约束,方案
之前的文章中,分别从APS,排产到规划引擎叙述了一些理论基础:并介绍了一些Optaplanner大概的情况:并一步步将Optaplanner的示例运行起来,将示例源码导进Eclipse分析了一下它的H ...
- JavaScript:学习笔记(2)——基本概念与数据类型
JavaScript:学习笔记(2)——基本概念与数据类型 语法 1.区分大小写.Test 和 test 是完全不同的两个变量. 2.语句最好以分号结束,也就是说不以分号结束也可以. 变量 1.JS的 ...
- Linux 系统编程 学习:00-有关概念
Linux 系统编程 学习:00-有关概念 背景 系统编程其实就是利用系统中被支持的调度API进行开发的一个过程. 从这一讲开始,我们来介绍有关Linux 系统编程的学习. 知识 在进行Linux系统 ...
- Adaptive AUTOSAR 学习笔记 8 - 干货小结:背景、技术、特征、架构、方法论和 Manifest
官方文档下载方式及介绍情参见 Adaptive AUTOSAR 学习笔记 2 - 官方文档下载及阅读建议. 这是 Adaptive AUTOSAR 学习笔记的第 8 篇,学习笔记 3 - 7 翻译了 ...
- Adaptive AUTOSAR 学习笔记 3 - AP 背景、技术及特征(中文翻译)
本系列学习笔记基于 AUTOSAR Adaptive Platform 官方文档 R20-11 版本.本文从AUTOSAR_EXP_PlatformDesign.pdf开始,一边学习,一边顺带着翻译一 ...
- Adaptive AUTOSAR 学习笔记 6 - 架构 - 方法论和 Manifest
本系列学习笔记基于 AUTOSAR Adaptive Platform 官方文档 R20-11 版本 AUTOSAR_EXP_PlatformDesign.pdf 缩写 AP:AUTOSAR Adap ...
- java web学习总结(一) -------------------基本概念
一.基本概念 1.1.WEB开发的相关知识 WEB,在英语中web即表示网页的意思,它用于表示Internet主机上供外界访问的资源. Internet上供外界访问的Web资源分为: 静态web资源( ...
- Python新手学习基础之函数-概念与定义
什么是函数? 函数是可以实现一些特定功能的方法或是程序,简单的理解下函数的概念,就是你编写了一些语句,为了方便使用,把这些语句组合在一起,给它起一个名字,即函数名.使用的时候只要调用这个名字,就可以实 ...
随机推荐
- VirtualBox中安装CentOS使得在ssh和外网都能正常链接
一.网卡模式选择 网卡1:Host-only 用于主宿机互访,这是主宿机通过192.168.56.X这一网络通信,主机是否能上网不影响双方通信 网卡2:NAT 宿机用这一网卡通过主机上网 二.具体配置 ...
- Python中的字符编码
一.文本编辑器存取文件的原理: #1.打开编辑器就打开了启动了一个进程,是在内存中的,所以,用编辑器编写的内容也都是存放与内存中的,断电后数据丢失 #2.要想永久保存,需要点击保存按钮:编辑器把内存的 ...
- 使用Minikube部署本地Kubernetes集群(二十八)
前言 使用Minikube部署本地k8s集群相对比较简单,非常推荐将其用于本地k8s开发环境,唯一麻烦点的仅仅是网络问题. 在本篇教程中,我们使用了国内的镜像来完成本地k8s集群的搭建.如果搭建过程中 ...
- Codeforces Gym101518E:The Pharaoh's Curse(BFS + 离散化)
题目链接 题意 给出一个n*m的地图,人的当前位置是'S',还有不超过两个的箱子'X',任意多个按钮'B',不超过100个可以走的点'.',还有一个在边界的出口'E',当且仅当所有的按钮都被箱子盖住的 ...
- iOS 矢量图pdf替换2倍3倍图
一.在开发中矢量图的使用大大提高设计的切图效率! ios 中可以用pdf替换现在的2倍3倍图(1倍图已经忽略) 1.将pdf矢量图拖进工程Assets.xcassets中 2.按照步骤操作 3.矢量图 ...
- ORACLE导入数据库详细步骤
登录PLSQL 点击然后打开命令窗口执行命令 创建表空间(红色字体是你需要创建表空间的地址,蓝色的是表空间大小) create temporary tablespace ZJY_TEMP tempfi ...
- Apache Dubbo已不再局限于Java语言
2017 年 9 月 7 日,在沉寂了4年之后,Dubbo 悄悄的在 GitHub 发布了 2.5.4 版本.随后又迅速发布了 2.5.5.2.5.6.2.5.7 等release.在 2017年 1 ...
- Perm排列计数(新博客试水,写的不好,各路大神见谅)
B. Perm 排列计数 内存限制:512 MiB 时间限制:1000 ms 标准输入输出 题目描述 称一个1,2,...,N的排列P1,P2...,Pn是Magic的,当且仅当2<=i&l ...
- 数据库系统概念:JDBC
import java.sql.*; public class DataBase { public static void main() { } } /* 5.1.1 JDBC */ class JD ...
- 对DatagramSocket的使用实例(java使用UDP进行数据传输)
今天刚看懂的一点点东西,记录一下,方便自己回顾 客户端: Client.java import java.io.IOException; import java.net.DatagramPacket; ...