Rte¶
文档信息(Document Information)¶
版本历史(Version History)¶
日期(Date) |
作者(Author) |
版本(Version) |
状态(Status) |
说明(Description) |
|---|---|---|---|---|
2024/12/10 |
Haiyun.Lian、Enjing.Cui、Lianru.Hong、Chunhui.Wang |
V0.1 |
发布(Release) |
首次发布(First release) |
2025/04/04 |
Haiyun.Lian、Enjing.Cui、Lianru.Hong、Chunhui.Wang |
V1.0 |
发布(Release) |
正式发布(Official release) |
参考文档(Reference Document)¶
编号(Number) |
分类(Classification) |
标题(Title) |
版本(Version) |
|---|---|---|---|
1 |
Autosar |
AUTOSAR_CP_TPS_SystemTemplate.pdf |
R23-11 |
2 |
Autosar |
AUTOSAR_CP_TPS_SoftwareComponentTemplate.pdf |
R23-11 |
3 |
Autosar |
AUTOSAR_CP_SWS_RTE.pdf |
R23-11 |
4 |
Autosar |
AUTOSAR_CP_SRS_RTE.pdf |
R23-11 |
5 |
Autosar |
AUTOSAR_CP_EXP_LayeredSoftwareArchitecture.pdf |
R23-11 |
6 |
Autosar |
AUTOSAR_CP_SWS_OS.pdf |
R23-11 |
7 |
Autosar |
AUTOSAR_CP_TR_Methodology.pdf |
R23-11 |
8 |
Autosar |
AUTOSAR_CP_EXP_VFB.pdf |
R23-11 |
9 |
Autosar |
AUTOSAR_CP_SWS_COM.pdf |
R23-11 |
10 |
Autosar |
AUTOSAR_CP_SWS_LargeDataCOM.pdf |
R23-11 |
术语与简写(Terms and Abbreviations)¶
术语(Term)¶
术语(Term) |
解释(Explanation) |
|---|---|
RunnableEntity |
SWC运行实体 A RunnableEntity represents the smallest code-fragment that is provided by an AtomicSwComponent Type and are executed under control of the RTE |
BswSchduleEntity |
Bsw模块调度实体 Specifies the smallest code fragment which can be described for a BSW module |
ExecutableEntity |
运行实体,RunnableEntity与BswSchduleEntity的统称 RunnableEntity and BswSchduleEntity |
Client-server Communication |
CS通信 Client-server communication involves two entities, the client which is the requirer (or user) of a service and the server that provides the service |
Sender-receiver Communication |
SR通信 Sender-receiver communication involves the transmission and reception of signals consisting of atomic data elements that are sent by one component and received by one or more components |
Trigger Communication |
内外部触发 External and Internal Trigger Communication.A software component is able to request the activation of RunnableEntities of connected software components |
Mode Switch Notification |
模式切换通知 The communication of a mode switch from the mode manager to the mode user |
Inter-ECU communication |
ECU间通信 The communication between ECUs, typically using COM is called inter-ECU communication |
Inter-Partition communication |
分区间通信 The communication within one ECU but between different partitions, represented by different OS applications |
Intra-ECU communication |
ECU内通信 The communication within one ECU |
Intra-Partition communication |
分区内通信 The communication within one partition of one ECU |
Implicit Read |
隐式读 Implicit Read based Sender-Receiver Communication |
Implicit Write |
隐式写 Implicit Write based Sender-Receiver Communication |
Explicit Read |
显式读 Explicit Read based Sender-Receiver Communication |
Explicit Write |
显式写 Explicit Write based Sender-Receiver Communication |
Unconnected Port |
端口未连接 A RPortPrototype or PPortPrototype referenced by no AssemblySwConnectors and/or DelegationSwConnectors |
Initialization Task |
初始化Task,即自启动Task AutoStart OsTask |
iSoft Initialization Task |
由ORIENTAIS自动创建的初始化Task AutoStart OsTask with prefix “iSoft_Auto”, created by RTE automatically |
简写(Abbreviation)¶
简写(Abbreviation) |
全称(Full name) |
解释(Explanation) |
|---|---|---|
RTE |
Runtime Environment |
运行时环境 |
SWC |
Software Component |
软件组件 |
BSW |
Basic Software |
基础软件 |
BSWMD |
Basic Software Module Description |
基础软件模块描述 |
COM |
Communication |
通信 |
ECU |
Electronic Control Unit |
电子控制单元 |
AUTOSAR |
Automotive Open System Architecture |
汽车开放系统架构 |
C/S |
Client-server communication |
客户端服务器通信 |
ECUC |
AUTOSAR ECU Configuration |
AUTOSAR ECU配置 |
IOC |
Inter-OsApplication Communication |
跨Os应用通信 |
S/R |
Sender-receiver communication |
发送方接收方通信 |
VFB |
Virtual Function Bus |
虚拟功能总线 |
API |
Application Programming Interface |
应用程序编程接口 |
NVM |
Non-volatile Memory Manager |
非易失性存储管理 |
SchM |
Schedule Manager |
调度管理 |
简介(Introduction)¶
RTE 是 AUTOSAR 虚拟功能总线 (VFB) 基于特定 ECU 的实现,分解为针对Application的Rte和针对BSW的SchM功能。Rte 为整个AUTOSAR基础软件的接口层,为整个ECU提供了运行时环境:
RTE is the realization (for a particular ECU) of the interfaces of the AUTOSAR Virtual Function Bus (VFB), decomposed into Rte for Application and SchM for BSW. RTE providing a runtime environment for the entire ECU:
生成TASK函数,负责映射到Task的RunnableEntity的运行调度;
Generates TASK functions, responsible for the operation scheduling of RunnableEntities mapped to Tasks;
为SWC实例与SWC实例间,SWC实例与BSW实例间提供基于S/R(包括NVM读写)、C/S的通信接口;
Provides S/R(including NVM read/write) and C/S communication interfaces between SWC instances, and between SWC instances and BSW instances;
为SWC实例提供标定数据读取接口,模式切换接口,独占区接口,内外部触发接口;
Provides interfaces of calibration , notification of mode switches, exclusive area, and internal/external triggering for SWC instances;
为SWC实例内部提供IRV通信接口;
Provides IRV communication interfaces within SWC instances;
为每个SWC实例提供PIM接口;
Supplies PIM interfaces for each SWC instance;
SchM 作为简化版“Rte”,实现BSW间C/S通信,实现BswEntity的运行调度,为BSW数据一致性保护提供独占区接口。
SchM as a simplified version of “Rte”, implements C/S communication between BSWs, realizes the scheduling of BswEntities, and provides exclusive area interfaces for BSW data consistency protection.
图 1-1 AUTOSAR 体系结构¶
Figure 1-1 AUTOSAR Architecture
功能描述(Functional Description)¶
详细描述面向应用Application的Rte功能,SchM功能适配BSW实现需求进行简要描述。
Describe in detail the Rte functions for the application layer (Application), and briefly describe the SchM functions adapted to the requirements of BSW.
Rte特性(Rte Features)¶
Rte实现Application RunnableEntity的调度,SWC内部通信,SWC与SWC间基于Port的通信,SWC与BSW服务间基于Port的通信。 Rte功能描述分为通用功能和具体功能点(如SR通信、CS通信等),具体功能点为面向Application直接使用的功能描述,通用功能为支撑具体功能点实现的基础功能。
Rte implements the scheduling of Application RunnableEntities, internal communication of SWCs, Port-based communication between SWCs, and Port-based communication between SWCs and BSW services. The description of Rte functions is divided into general functions and specific function points (such as SR communication, CS communication, etc.). The specific function points are descriptions of functions directly used by the Application, while the general functions are the basic functions that support the implementation of specific function points.
通用功能(General Functions)¶
数据类型:实现数据类型的定义;
Data types: Definition of ImplementationDataType;
TASK调度:调度所有映射到Task的Application RunnableEntity;
TASK scheduling: Schedule all Application RunnableEntities mapped to Tasks;
CTS实例化:SwComponentType支持多实例化;
CTS instantiation: SwComponentType supports multiple instantiations;
序列化:实现ECU间通信序列化SomeIpXf、ComXf、E2EXf;
Serialization: Implement inter-ECU communication serialization such as SomeIpXf, ComXf, and E2EXf;
生命周期:实现Rte模块的Start和Stop;
Lifecycle: Implement the Start and Stop of the Rte module;
数据类型(Data Types)¶
功能分类 |
功能点描述 |
基础数据类型 |
支持基础数据类型: boolean、float32、float64、sint8、sint16、sint32、sint64、uint8、uint16、uint32、uint64 |
实现数据类型 |
VALUE:基于基础数据类型来定义实现数据类型 |
TYPE_REFERENCE:基于另一个实现数据类型来定义当前实现数据类型 |
|
DATA_REFERENCE:基于基础数据类型/实现数据类型定义的指针类型 |
|
ARRAY:数组数据类型 |
|
STRUCTURE:结构体数据类型 |
|
UNION:联合体数据类型 |
|
动长数据类型 |
支持动长应用数据类型,映射的实现数据类型为结构体(数组+数据长度) |
Function Category |
Function Point Description |
BaseType |
Supports BaseType: boolean, float32, float64, sint8, sint16, sint32, sint64, uint8, uint16, uint32, uint64 |
ImplementationDataType |
VALUE: Defines the implementation data type based on BaseType |
TYPE_REFERENCE: Redefines another Implementation data type |
|
DATA_REFERENCE: Pointer to a BaseType/Implementation data types |
|
ARRAY: Array data type |
|
STRUCTURE: Structure data type |
|
UNION: Union data type |
|
Variable-Size Data Types |
Supports variable-size application data types, and the mapped implementation data type is a structure (size indicator + array(payload)) |
TASK调度(TASK Scheduling)¶
功能分类 |
功能点描述 |
|---|---|
RunnableEntity调度 |
除了CS/Trigger直接调用、模式管理、初始化事件外,均由TASK进行RunnableEntity的调度 |
支持RunnableEntity在TASK里执行位置的配置 |
|
支持RunnableEntity整体运行在独占区内 |
|
RteEvent |
TimingEvent |
BackgroundEvent |
|
AsynchronousServerCallReturnsEvent |
|
DataReceiveErrorEvent |
|
OperationInvokedEvent |
|
DataReceivedEvent |
|
DataSendCompletedEvent |
|
ExternalTriggerOccurredEvent |
|
InternalTriggerOccurredEvent |
|
DataWriteCompletedEvent |
|
InitEvent |
|
SwcModeSwitchEvent |
|
ModeSwitchedAckEvent |
Function Category |
Function Point Description |
|---|---|
RunnableEntity Scheduling |
All RunnableEntities are scheduled by TASK, except those directly called by CS/Trigger, mode switch, and InitEvent |
Supports the definition of RunnableEntity execution order within the TASK |
|
Supports RunnableEntity running entirely within an exclusive area |
|
RteEvent |
TimingEvent |
BackgroundEvent |
|
AsynchronousServerCallReturnsEvent |
|
DataReceiveErrorEvent |
|
OperationInvokedEvent |
|
DataReceivedEvent |
|
DataSendCompletedEvent |
|
ExternalTriggerOccurredEvent |
|
InternalTriggerOccurredEvent |
|
DataWriteCompletedEvent |
|
InitEvent |
|
SwcModeSwitchEvent |
|
ModeSwitchedAckEvent |
CTS实例化(CTS Instantiation)¶
功能分类 |
功能点描述 |
ComponentType实例化 |
支持ComponentType单实例化 |
支持ComponentType多实例化 |
Function Category |
Function Point Description |
ComponentType Instantiation |
Supports single instantiation of ComponentType |
Supports multiple instantiations of ComponentType |
序列化(Serialization)¶
序列化功能仅支持ECU间通信(CS和SR)。
The serialization function only supports inter-ECU communication (CS and SR).
功能分类 |
功能点描述 |
数据类型 |
支持除Union外所有类型,包括动长数据类型 |
XfrmChain串联场景 |
ComXf |
SomeIpXf |
|
ComXf+E2EXf |
|
SomeIpXf+E2EXf |
|
E2E profile类型 |
PROFILE_01、PROFILE_02、PROFILE_04、PROFILE_05、PROFILE_06、PROFILE_07、PROFILE_11、PROFILE_22 |
placeType |
支持inpalce和outOfPlace |
SomeIpXf消息类型 |
支持REQUEST和RESPONSE |
Function Category |
Function Point Description |
Data Types |
Supports all types except Union, including variable-size data types |
XfrmChain Chaining Scenarios |
ComXf |
SomeIpXf |
|
ComXf+E2EXf |
|
SomeIpXf+E2EXf |
|
E2E profile Types |
PROFILE_01, PROFILE_02, PROFILE_04, PROFILE_05, PROFILE_06, PROFILE_07, PROFILE_11, PROFILE_22 |
placeType |
Supports inplace and outOfPlace |
SomeIpXf Message Types |
Supports REQUEST and RESPONSE |
生命周期(Lifecycle)¶
功能分类 |
功能点描述 |
支持多分区 |
支持对每个分区(可信/不可信)开启/关闭 |
初始化 |
对每个分区变量进行初始化,更新分区状态,设置Alarm,激活Task,激活调度表,初始化RunnableEntity等 |
分区开启/关闭 |
Rte_Start:分区开启,可信分区由BswM调度,不可信分区由默认初始化Task进行调度 |
Rte_Stop:分区关闭 |
|
分区同步 |
保证每个分区初始化同步 |
Function Category |
Function Point Description |
Support for Multiple Partitions |
Supports enable/disable each partition (including trusted/untrusted partition) |
Initialization |
Initializes variables, updates partition status, sets OsAlarm, activates OsTask, activates OsScheduleTable, initializes RunnableEntity, etc. |
Partition Enable/Disable |
Rte_Start: Partition enable; scheduled by BswM in trusted partitions, and scheduled by the default initialization Task in untrusted partitions |
Rte_Stop: Partition disable |
|
Partition Synchronization |
Ensures initialization synchronization of each partition |
SR通信(SR Communication)¶
SR通信负责组件实例间基于Port进行数据传输。
SR communication is responsible for data transmission between component instances based on Port.
功能分类 |
功能点描述 |
收发通信组数目 |
支持1:N,N:1 |
通信域划分 |
分区内通信 |
分区间通信(同核/不同核,可信/不可信) |
|
ECU间通信,组件实例与Signal/SignalGroup同分区 |
|
ECU间通信,组件实例与Signal/SignalGroup不同分区 |
|
序列化 |
支持ECU间ComXf,ComXf+E2EXf,SomeIpXf序列化,支持序列化错误检测 |
ECU间信号 |
支持关联Com模块的Signal/SignalGroup,支持关联LdCom模块的Signal,支持动长信号UINT8_DYN |
计算方法(ECU间) |
未配置或者IDENTICAL |
BITFIELD_TEXTTABLE |
|
TEXTTABLE |
|
LINEAR |
|
SCALE_LINEAR_AND_TEXTTABLE |
|
SCALE_LINEAR |
|
接收超时(ECU间) |
接收超时机制(Signal/SignalGroup关联的所有RPorts接收超时机制需完全一致),超时操作支持NONE和REPLACE 、REPLACE_BY_TIMEOUT_SUBSTITUTION_VALUE三种模式 |
队列通信 |
SR支持显式队列通信 |
隐式通信 |
SR支持隐式非队列通信 |
隐式接收数据状态:不带状态、带状态、带扩展状态 |
|
显式通信 |
SR支持显式非队列通信 |
接收方式支持dataReceivePointByValue和dataReceivePointByArgument两种方式 |
|
支持接收Update机制 |
|
支持handleNeverReceived机制 |
|
无效值机制 |
无效值发送:支持隐式非队列无效值发送,显式非队列无效值发送 |
无效值接收:支持DONT-INVALIDATE、KEEP、REPLACE |
|
接收过滤 |
无接收过滤/ALWAYS |
NEVER |
|
MaskedNewEqualsX |
|
MaskedNewDiffersX |
|
MaskedNewDiffersMaskedOld |
|
NewIsWithin |
|
NewIsOutside |
|
OneEveryN |
|
发送确认机制 |
支持发送超时机制,支持DataWriteCompletedEvent(隐式),DataSendCompletedEvent(显式队列/显式非队列) |
WaitPoint机制 |
DataReceivedEvent(队列接收) |
DataSendCompletedEvent(显式队列/显式非队列) |
|
Port连接 |
支持Port连接,也支持Port不连接 |
Port类型 |
支持PPort、RPort、PRPort |
RteEvent |
DataReceiveErrorEvent |
DataReceivedEvent |
|
DataWriteCompletedEvent |
|
DataSendCompletedEvent |
Function Category |
Function Point Description |
Number of Transmit/Receive Communication Groups |
Supports 1:N and N:1 |
Communication Domain Division |
Intra-partition communication |
Inter-partition communication (same core/different cores, trusted/untrusted) |
|
Inter-ECU communication, where component instances and Signal/SignalGroup are in the same partition |
|
Inter-ECU communication, where component instances and Signal/SignalGroup are in different partitions |
|
Serialization |
Supports serialization for inter-ECU ComXf, ComXf+E2EXf, and SomeIpXf, and supports serialization error detection |
Inter-ECU Signals |
Supports association with Com module’s Signal/SignalGroup, LdCom module’s Signal, and variable-size signal UINT8_DYN |
Calculation Methods (Inter-ECU) |
Unconfigured or IDENTICAL |
BITFIELD_TEXTTABLE |
|
TEXTTABLE |
|
LINEAR |
|
SCALE_LINEAR_AND_TEXTTABLE |
|
SCALE_LINEAR |
|
Receive Timeout (Inter-ECU) |
Receive timeout mechanism (the receive timeout mechanism for all RPorts associated with a Signal/SignalGroup must be completely consistent); timeout operations support three modes: NONE, REPLACE, and REPLACE_BY_TIMEOUT_SUBSTITUTION_VALUE |
Queue Communication |
SR supports explicit queue communication |
Implicit Communication |
SR supports implicit non-queue communication |
Implicit received data status: without status, with status, with extended status |
|
Explicit Communication |
SR supports explicit non-queue communication |
Supports two receiving methods: dataReceivePointByValue and dataReceivePointByArgument |
|
Supports receive Update mechanism |
|
Supports handleNeverReceived mechanism |
|
Invalid Value Mechanism |
Invalid value transmission: supports implicit non-queue invalid value transmission and explicit non-queue invalid value transmission |
Invalid value reception: supports DONT-INVALIDATE, KEEP, REPLACE |
|
Receive Filtering |
No receive filtering / ALWAYS |
NEVER |
|
MaskedNewEqualsX |
|
MaskedNewDiffersX |
|
MaskedNewDiffersMaskedOld |
|
NewIsWithin |
|
NewIsOutside |
|
OneEveryN |
|
Transmission Confirmation Mechanism |
Supports transmission timeout mechanism, and supports DataWriteCompletedEvent (implicit) and DataSendCompletedEvent (explicit queue/explicit non-queue) |
WaitPoint Mechanism |
DataReceivedEvent (queue reception) |
DataSendCompletedEvent (explicit queue/explicit non-queue) |
|
Port Connection |
Supports connected Port and unconnected Port |
Port Types |
Supports PPort, RPort, PRPort |
RteEvent |
DataReceiveErrorEvent |
DataReceivedEvent |
|
DataWriteCompletedEvent |
|
DataSendCompletedEvent |
CS通信(CS Communication)¶
CS通信负责组件实例间基于Port进行函数调用。
CS communication is responsible for function calls between component instances based on Port.
功能分类 |
功能点描述 |
|---|---|
收发通信组数目 |
支持N:1 |
通信域划分 |
分区内通信 |
分区间通信(同核/不同核,可信/不可信) |
|
ECU间通信,组件实例与Signal同分区 |
|
ECU间通信,组件实例与Signal不同分区 |
|
Port类型 |
支持PPort、RPort、PRPort |
RteEvent |
OperationInvokedEvent |
AsynchronousServerCallReturnEvent |
|
Port连接 |
支持Port连接,也支持Port不连接 |
WaitPoint机制 |
AsynchronousServerCallReturnsEvent |
发送确认机制 |
支持CS同步/异步发送超时机制 |
队列通信 |
CS支持同步队列通信,异步队列通信 |
非队列通信 |
CS支持同步非队列通信(Clients均满足直接调用Server时) |
序列化 |
支持ECU间SomeIpXf,SomeIpXf+E2EXf序列化,支持序列化错误检测 |
PortDefinedArgumentValue |
支持Operation定义之外的额外参数 |
Operation |
支持返回值配置 |
支持IN、INOUT、OUT三种参数方向 |
|
参数数据类型不限制(参见2.1.1.1章节) |
|
参数数目不限制 |
|
支持void参数 |
Function Category |
Function Point Description |
|---|---|
Number of Transmit/Receive Communication Groups |
Supports N:1 |
Communication Domain Division |
Intra-partition communication |
Inter-partition communication (same core/different cores, trusted/untrusted) |
|
Inter-ECU communication, where component instances and Signal are in the same partition |
|
Inter-ECU communication, where component instances and Signal are in different partitions |
|
Port Types |
Supports PPort, RPort, PRPort |
RteEvent |
OperationInvokedEvent |
AsynchronousServerCallReturnEvent |
|
Port Connection |
Supports connected Port and unconnected Port |
WaitPoint Mechanism |
AsynchronousServerCallReturnsEvent |
Transmission Confirmation Mechanism |
Supports synchronous/asynchronous CS communication timeout mechanism |
Queue Communication |
CS supports synchronous queue communication and asynchronous queue communication |
Non-queue Communication |
CS supports synchronous non-queue communication (when all Clients can directly call the Server) |
Serialization |
Supports serialization for inter-ECU SomeIpXf and SomeIpXf+E2EXf, and supports serialization error detection |
PortDefinedArgumentValue |
Supports additional parameters beyond the Operation definition |
Operation |
Supports return value configuration |
Supports three parameter directions: IN, INOUT, OUT |
|
No restriction on parameter data types (see Section 2.1.1.1) |
|
No restriction on the number of parameters |
|
Supports void parameters |
模式管理(Mode Management)¶
实现Mode Manager与Mode User基于Port的模式切换通信。
Implement notification of mode switches between Mode Manager and Mode User based on Port.
功能分类 |
功能点描述 |
收发通信组数目 |
支持1:N(一个Mode Manager,多个Mode User) |
通信域划分 |
分区内通信 |
分区间通信(同核/不同核,可信/不可信) |
|
同步模式切换 |
on-exit ExecutableEntity |
on-transition ExecutableEntity |
|
on-entry ExecutableEntity |
|
ModeSwitchAck ExecutableEntity |
|
支持队列通信,非队列通信 |
|
模式切换确认 |
模式切换完成 |
模式切换超时 |
|
阻塞模式时,支持独占区检测 |
|
WaitPoint机制 |
ModeSwitchedAckEvent |
模式获取 |
Mode Manager、Mode User均支持模式获取 |
支持普通模式和增强模式 |
|
模式禁用 |
RunnableEntity支持模式禁用 |
初始化模式 |
激活初始化模式的Mode disablings |
基于初始化模式的on-entry ExecutableEntity触发 |
|
Port连接 |
支持Port连接,也支持Port不连接 |
ModeDeclarationGroup定义类型 |
ALPHABETIC_ORDER |
EXPLICIT_ORDER |
Function Category |
Function Point Description |
|---|---|
Number of Transmit/Receive Communication Groups |
Supports 1:N (one Mode Manager, multiple Mode Users) |
Communication Domain Division |
Intra-partition communication |
Inter-partition communication (same core/different cores, trusted/untrusted) |
|
Synchronous Mode Switch |
on-exit ExecutableEntity |
on-transition ExecutableEntity |
|
on-entry ExecutableEntity |
|
ModeSwitchAck ExecutableEntity |
|
Supports queue communication and non-queue communication |
|
Mode Switch Acknowledgement |
Mode switch completed |
Mode switch timeout |
|
In blocking mode, supports exclusive area detection |
|
WaitPoint Mechanism |
ModeSwitchedAckEvent |
Mode Acquisition |
Both Mode Manager and Mode User support mode acquisition |
Supports normal mode and enhanced mode |
|
DisabledMode |
RunnableEntity supports disabledMode |
InitialMode |
Activates Mode disablings of the InitialMode during Rte_Start |
Triggered the on-entry RunnableEntity of the initialMode during Rte_Start |
|
Port Connection |
Supports connected Port and unconnected Port |
ModeDeclarationGroup Definition Types |
ALPHABETIC_ORDER |
EXPLICIT_ORDER |
存储NV(Storage of NV)¶
Rte内部实现NvM Block数据的读写供应用通过SR接口进行读写。
The Rte internally implements the reading and writing of NvM Block data, which allows applications to read and write through the SR interface.
功能分类 |
功能点描述 |
Writing Strategy |
storeImmediate: DataReceivedEvent |
storeCyclic: TimingEvent |
|
storeAtShutdown:DataReceivedEvent |
|
SR非队列通信供应用读写NV数据 |
Rte_Read |
Rte_IRead |
|
Rte_DRead |
|
Rte_Write |
|
Rte_IWrite |
|
Rte_IWriteRef |
|
Port连接 |
支持Port连接,也支持Port不连接 |
通信域划分 |
分区内通信 |
收发通信组数目 |
N:1(Nv数据的写操作) |
1:N(Nv数据的读操作) |
Function Category |
Function Point Description |
|---|---|
Writing Strategy |
storeImmediate: DataReceivedEvent |
storeCyclic: TimingEvent |
|
storeAtShutdown:DataReceivedEvent |
|
SR Non-queue Communication for Application to Read/Write NV Data |
Rte_Read |
Rte_IRead |
|
Rte_DRead |
|
Rte_Write |
|
Rte_IWrite |
|
Rte_IWriteRef |
|
Port Connection |
Supports connected Port and unconnected Port |
Communication Domain Division |
Intra-partition communication |
Number of Transmit/Receive Communication Groups |
N:1 (write operation of Nv data) |
1:N (read operation of Nv data) |
IRV通信(IRV Communication)¶
IRV实现同一组件实例内部RunnableEntity间的通信。
IRV implements communication between RunnableEntities within the same component instance.
功能分类 |
功能点描述 |
收发通信组数目 |
支持N:M |
通信模式 |
支持显式通信和隐式通信 |
Function Category |
Function Point Description |
|---|---|
Number of Transmit/Receive Communication Groups |
Supports N:M |
Communication Modes |
Supports explicit and implicit communication |
内外部Trigger(Internal and External Triggers)¶
实现组件实例内部/外部RunnableEntity的触发。
Implement the triggering of RunnableEntities inside/outside the component instance.
功能分类 |
功能点描述 |
触发域 |
内部触发(组件实例内) |
外部触发(组件实例间),支持分区内和分区间外部触发 |
|
队列 |
支持队列触发和非队列触发 |
RteEvent |
InternalTriggeredOccurredEvent |
ExternalTriggeredOccurredEvent |
Function Category |
Function Point Description |
|---|---|
Trigger Domain |
Internal trigger (within component instance) |
External trigger (between component instances), supporting intra-partition and inter-partition external triggers |
|
Queue |
Supports queue triggering and non-queue triggering |
RteEvent |
InternalTriggeredOccurredEvent |
ExternalTriggeredOccurredEvent |
测量标定(Calibration and Measurement)¶
功能分类 |
功能点描述 |
数据类型 |
VALUE |
ARRAY |
|
STRUCTURE |
|
A2L文件生成 |
支持测量、标定数据的A2L文件生成 |
Measurement |
支持基于Port的测量值(SR和模式切换) |
支持组件实例内测试量(IRV和PIM(AR)) |
|
Calibration |
支持基于ParameterSwC组件,通过Port读取标定值 |
支持基于组件实例内的标定数据(PerInst && Share) |
|
支持两种标定实现机制: InitRam None |
Function Category |
Function Point Description |
|---|---|
Data Types |
VALUE |
ARRAY |
|
STRUCTURE |
|
A2L File Generation |
Supports generation of A2L files for measurement and calibration data |
Measurement |
Supports Port-based measurement values (SR and mode switching) |
Supports in-component-instance measurement values (IRV and PIM (AR)) |
|
Calibration |
Supports reading calibration values via Port based on ParameterSwC components |
Supports intra-component-instance calibration data (PerInst && Share) |
|
Supports two calibration implementation mechanisms: InitRam None |
独占区Rte API(Exclusive Area Rte API)¶
为Application RunnableEntity提供独占区保护接口。
Provide exclusive area protection interfaces for Application RunnableEntities.
功能分类 |
功能点描述 |
|
独占区调用方式 |
COMMON |
NONE |
PER-EXEUTABLE |
canEnterExclusiveAreas |
|
runsInsideExclusiveAreas |
||
独占区实现方式 |
ALL_INTERRUPT_BLOCKING |
|
OS_INTERRUPT_BLOCKING |
||
OS_RESOURCE |
||
None |
||
Function Category |
Function Point Description
|
|
|---|---|---|
Exclusive Area Calling Methods |
COMMON |
NONE |
PER-EXECUTABLE |
canEnterExclusiveAreas |
|
runsInsideExclusiveAreas |
||
Exclusive Area Implementation Mechanism |
ALL_INTERRUPT_BLOCKING |
|
OS_INTERRUPT_BLOCKING |
||
OS_RESOURCE |
||
None |
||
Indirect API¶
为Application RunnableEntity提供基于Port的Rte API函数指针。
Provide Port-based Rte API function pointers for Application RunnableEntities.
功能分类 |
功能点描述 |
基于Port |
支持基于单个Port的Rte API函数指针获取 |
基于Ports |
支持获取首个Port的Rte API函数指针获取 |
支持获取Ports的数目 |
Function Category |
Function Point Description |
|---|---|
Port-based |
Supports obtaining Rte API function pointers based on a single Port |
Ports-based |
Supports obtaining Rte API function pointers of the first Port |
Supports obtaining the number of Ports |
PIM¶
为Application RunnableEntity提供组件实例内部内存空间地址。
Provide the internal memory space address of the component instance for the Application RunnableEntity.
功能分类 |
功能点描述 |
PIM配置分类 |
arTypedPerInstanceMemory |
PerInstanceMemory |
Function Category |
Function Point Description |
|---|---|
PIM Configuration Categories |
arTypedPerInstanceMemory |
PerInstanceMemory |
SchM特性(SchM Features)¶
SchM功能支撑BSW的实现,与应用无交互,工程配置、集成时客户无需额外关注。
The SchM supports the implementation of BSW, has no interaction with applications, and customers do not need to pay extra attention during engineering configuration and integration.
功能分类 |
功能点描述 |
独占区功能 |
为BSW提供独占区接口,用于数据一致性保护 |
BswEntity调度 |
BswTimingEvent:周期事件,激活BSW MainFunction函数 |
BswBackgroundEvent:不定周期事件 |
|
CS通信 |
通信域:同分区,同核不同分区,不同核不同分区 |
支持CS同步/异步通信 |
|
MainFunction的调度 |
支持周期TASK,按各BSW模块MainFunction的配置周期进行调度 |
Function Category |
Function Point Description |
|---|---|
Exclusive Area Functions |
Provides exclusive area interfaces for BSW to protect data consistency |
BswEntity Scheduling |
BswTimingEvent: Periodic event that activates BSW MainFunction |
BswBackgroundEvent: Aperiodic event |
|
CS Communication |
Communication domains: same partition, different partitions on the same core, different partitions on different cores |
Supports synchronous/asynchronous CS communication |
|
Scheduling of MainFunction |
Supports periodic TASK, scheduled according to the period of each BSW module’s MainFunction |
偏差(Deviation)¶
外部队列触发(External Queue Trigger)¶
外部队列触发时,同组Trigger sink需要在同一分区。
When an external queue is triggered, trigger sinks in the same group need to be in the same partition.
配置(configuration)¶
None。
接口(Interface)¶
None。
SchM的实现对模型有所简化(The implementation of SchM simplifies the model)¶
SchM只需要适配BSW的实现需求,与应用无交互,因此对模型有所裁剪。
SchM only adapt to the implementation requirements of BSW and has no interaction with applications, so the model is partially trimmed.
配置(configuration)¶
None
接口(Interface)¶
None
扩展(Extension)¶
None。
集成(Integration)¶
文件列表(File List)¶
静态文件(Static Files)¶
无。
动态文件(Dynamic Files)¶
文件(File) |
描述(Description) |
|---|---|
Rte.c |
包含如下内容: Contains the following contents:
|
Rte_<Swc>.h |
包含如下内容: Contains the following contents:
|
Rte_<Swc>_Type.h |
包含如下内容: Contains the following contents:
|
Rte_Cbk.h |
包含如下内容: Contains the following contents:
|
Rte_DataHandleType.h |
包含如下内容: Contains the following contents:
|
Rte_Type.h |
包含如下内容: Contains the following contents:
|
Rte_Main.h |
包含如下内容: Contains the following contents:
|
Rte.h |
包含如下内容: Contains the following contents:
|
SchM.h |
包含如下内容: Contains the following contents:
|
SchM.c |
包含如下内容: Contains the following contents:
|
SchM_Type.h |
包含如下内容: Contains the following contents:
|
SchM_Internal.h |
包含如下内容: Contains the following contents:
|
SchM_<Mip>.h |
包含如下内容: Contains the following contents:
|
SchM_<Mip>_Type.h |
包含如下内容: Contains the following contents:
|
SchM_<Mip>.c |
包含如下内容: Contains the following contents:
|
错误处理(Error handling)¶
开发错误(Development errors)¶
Error code |
Value |
Description |
|---|---|---|
RTE_E_INVALID |
1 |
Returned by AUTOSAR Services to indicate a generic application error. |
RTE_E_LIMIT |
130 |
An internal RTE limit has been exceeded |
RTE_E_NEVER_RECEIVED |
133 |
No data received for the corresponding unqueued data element since system start. |
RTE_E_NO_DATA |
131 |
An explicit read API call returned no data |
RTE_E_UNCONNECTED |
134 |
The port used for communication is not connected |
RTE_E_IN_EXCLUSIVE_AREA |
135 |
The error is returned by a blocking API and indicates that the runnable could not enter a wait state |
RTE_E_SEG_FAULT |
136 |
The parameters contain a direct or indirect reference to memory that is not accessible from the callers partition |
RTE_E_OUT_OF_RANGE |
137 |
The received data is out of range. |
产品错误(Product error)¶
None。
运行时错误(Runtime error)¶
Error code |
Value |
Description |
|---|---|---|
RTE_E_COM_STOPPED |
128 |
An IPDU group was disabled while the application was waiting for the transmission acknowledgment. |
RTE_E_TIMEOUT |
129 |
A blocking API call returned due to expiry of a local timeout rather than the intended result. |
RTE_E_TRANSMIT_ACK |
132 |
Transmission acknowledgement received |
RTE_E_SERIALIZATION_ERROR |
138 |
An error during transformation occured. |
RTE_E_TRANSFORMER_LIMIT |
139 |
Buffer for transformation operation could not be created |
RTE_E_SOFT_TRANSFORMER_ERROR |
140 |
An error during transformation occured which shall be notified to the SWC but still produces valid data as output (comparable to a warning) |
RTE_E_COM_BUSY |
141 |
The transmission/reception could not be performed due to another transmission/reception currently ongoing for the same signal. |
RTE_E_HARD_TRANSFORMER_ERROR |
138 |
An error during transformation occured. |
RTE_E_SERIALIZATION_LIMIT |
139 |
Buffer for transformation operation could not be created |
RTE_E_LOST_DATA |
64 |
An API call for reading received data with event semantics indicates that some incoming data has been lost due to an overflow of the receive queue. |
RTE_E_MAX_AGE_EXCEEDED |
64 |
An API call for reading received data with data semantics indicates that the available data has exceeded the aliveTimeout limit. A COM signal outdated callback will result in this error. |
ORIENTAIS工具开发流程概述(Overview of ORIENTAIS Development Process)¶
导入ECU萃取arxml文件(包含完整的SWC组件,BSW服务,Port连接关系,信号映射等信息);
Import ECU extracted arxml files (including complete SWC components, BSW services, Port connection, signal mappings, etc.);
完成除OS和RTE之外的所有BSW模块配置;
Complete the configuration of all BSW modules except OS and RTE;
补充必要的OS信息如OS核数;
Supplement necessary OS information such as the number of OS cores;
更新全部BSW模块的模块描述文件(包括RTE本身的模块描述文件);
Update the Bswmd files of all BSW modules (including the bswmd file of RTE itself);
进行RTE、OS模块集成配置,主要可通过以下三种方式进行配置:
Perform integration configuration of RTE and OS modules, which can be mainly done through the following three methods:
全自动配置集成:通过RTE-OS同步功能自动生成RTE、OS模块的推荐Demo配置,综合使用场景进行调整适配(如OsTask堆栈大小);
Fully automatic configuration integration: Automatically generate recommended Demo configurations for RTE and OS modules through “Synchronized RTE-OS “, and adapt them according to comprehensive usage scenarios (such as stack size of OsTask);
半自动配置集成:手动创建OsTask,通过RTE第二界面手动拖拽Runnable至目标OsTask;
Semi-automatic configuration integration: Manually create OsTask, then manually drag and drop Runnable to the target OsTask through “Rte Editor”;
全手动配置集成:RTE、OS模块完全手动配置;
Fully manual configuration integration: Completely manual configuration of RTE and OS modules;
先生成RTE代码,后生成OS代码(全工程生成顺序为其它BSW→RTE→OS);
Generate RTE code first, then generate OS code (the generation order of the entire project is other BSW → RTE → OS);
导入ECU萃取arxml文件(Import ECU extracted arxml files)¶
导入ECU萃取arxml文件¶
Import ECU extracted arxml files
RTE同步(RTE Synchronization)¶
打开RTE第二界面¶
Open the Rte Editor
进行ECU萃取导入¶
Pick and Synchronize ECU extract
导入ECU萃取文件后,在RTE第二界面”Pick ECU extract”中选择萃取文件中的System,点击”Synchronize ECU Extract”,将萃取文件内容进行导入RTE。 导入后,RTE模块将增量为SWC实例创建RteSwcComponentInstance,并为每个RTEEvent创建RteEventToTaskMapping组件。
After importing the ECU extract file, select the System in the extract file in the “Pick ECU extract” section of the Rte Editor, and click “Synchronize ECU Extract” to import the contents of the extract file into RTE. After import, the RTE module will incrementally create RteSwcComponentInstance for SWC instances and create RteEventToTaskMapping components for each RTEEvent.
Bswmd文件更新(Bswmd File Update)¶
基于BSW模块的设计,ORIENTAIS可更新全部或单个描述文件,用来描述BSW模块在接口层面、 BswEntity调度的需求 ,内存映射信息。
ORIENTAIS can update all or individual description files for module design to meet the requirements of BSW modules at the interface level, BswEntity scheduling, and memory mapping information.
更新全部Bswmd文件¶
Update all Bswmd files
更新单个模块Bswmd文件¶
Update Bswmd file of a single module
RTE-OS集成配置(RTE-OS Integration Configuration)¶
RTE、OS模块的集成配置,可以通过三种方式进行:
The integration configuration of RTE and OS modules can be performed through three methods:
全自动配置集成
Fully automatic configuration integration
半自动配置集成
Semi-automatic configuration integration
全手动配置集成
Fully manual configuration integration
全自动配置集成(Fully Automatic Configuration Integration)¶
全自动配置集成主要通过RTE-OS自动同步功能,自动生成RTE、OS模块的推荐Demo配置。 集成人员可根据实际场景,对Demo的部分配置进行微调,比如OsTask的堆栈大小等。
Fully automatic configuration integration mainly generates recommended Demo configurations for RTE and OS modules automatically through “synchronized RTE-OS” function. Integrators can fine-tune some configurations of the Demo according to actual scenarios, such as the stack size of OsTask.
RTE-OS自动同步(Synchronized RTE-OS)¶
基于ECU萃取文件、BSW的模块描述文件,根据模型需求自动配置OS模块。
Automatically configure the OS module according to model requirements based on the ECU extract file and Bswmd files.
自动配置的内容主要分为两类:
The automatically configured contents are mainly divided into two categories:
与RTE实现相关,OS必须按实现需求进行配置且客户不能修改;
Related to RTE implementation, the OS must be configured according to implementation requirements and cannot be modified by customers;
为客户提供配置Demo,简化客户手动配置工作量,客户根据应用场景在自动配置的基础上调整、适配。
Provide configuration Demos for customers to simplify manual configuration workload, and customers can adjust and adapt based on automatic configurations according to application scenarios.
自动配置主要实现的功能配置:
Main functions implemented by automatic configuration:
周期运行实体的调度(提供OsAlarm或OsScheduleTable两种触发方式)
Scheduling of periodic runnable entities (providing two triggering methods: OsAlarm or OsScheduleTable)
事件型运行实体的调度
Scheduling of event-based runnable entities
SchM独占区保护的配置
Configuration of SchM exclusive area protection
OsTask的部分配置,如内部各运行实体的调度顺序、优先级等。
Partial configuration of OsTask, such as the scheduling order of runnable entities and priority .
RTE-OS同步流程¶
RTE-OS Synchronization Process
RTE-OS自动同步配置¶
Synchronized RTE-OS Configuration
RTE-OS自动同步选择周期运行实体的触发方式¶
Synchronized RTE-OS: Selecting the Trigger Mode for Periodic Runnable Entities
RTE-OS自动同步为周期运行实体提供两种触发方式:
Synchronized RTE-OS provides two triggering methods for periodic runnable entities:
OsAlarm触发(OsAlarm triggering)
OsScheduleTable触发(OsScheduleTable triggering)
选择后,统一按照选择的方式自动配置周期触发。
After selection, the periodic triggering will be automatically configured uniformly according to the selected method.
半自动配置集成(Semi-Automatic Configuration Integration)¶
半自动配置集成主要利用RTE第二界面拖拽功能,手动将执行实体拖拽至目标OsTask,拖拽后,ORIENTAIS将根据执行实体的属性,比如周期执行实体,自动生成剩余的所有配置参数。
Semi-automatic configuration integration mainly utilizes the drag-and-drop function of the Rte Editor. Manually drag the runnable entity to the target OsTask. After dragging, ORIENTAIS will automatically generate all remaining configuration parameters according to the attributes of the runnable entity, such as periodic runnable entities.
手动创建OsTask(Manually Creating OsTask)¶
根据实际场景,手动创建Os的配置,比如创建OsTask。
Create Os configurations manually according to actual scenarios, such as creating OsTask.
在OS模块配置界面手动创建OsTask¶
Manually creating OsTask in the OS module configuration interface
RTE第二界面拖拽(Drag-and-Drop in the Rte Editor)¶
ORIENTAIS支持将执行实体拖入目标OsTask中,同时根据执行实体周期属性,自动创建关联相关的OsAlarm/OsScheduleTable,以及RteOsInteraction等相关配置。
ORIENTAIS supports dragging runnable entities into the target OsTask. At the same time, according to the periodic attributes of the runnable entities, it automatically creates and associates related configurations such as OsAlarm/OsScheduleTable and RteOsInteraction.
打开RTE第二界面¶
Opening the Rte Editor
执行实体信息显示¶
Display of runnable entity information
拖动执行实体至相应分区的OsTask,如果是周期执行实体,弹出激活方式选择窗口¶
Dragging the runnable entity to the OsTask of the corresponding partition; if it is a periodic runnable entity, a window for selecting the activation mode will pop up
自动生成周期执行实体的相关Os配置¶
Automatically generating relevant Os configurations for periodic runnable entities
自动生成周期执行实体的RteOsInteraction配置¶
Automatically generate RteOsInteraction configurations for periodic runnable entities
全手动配置集成(Fully Manual Configuration Integration)¶
全手动配置集成表示RTE、OS模块完全手动配置,不借助ORIENTAIS的自动配置功能。
Fully manual configuration integration means that the RTE and OS modules are completely configured manually without relying on ORIENTAIS automatic configuration functions.
Application RunnableEntity桩代码生成(Application RunnableEntity Stub Code Generation)¶
可选操作, 如果应用开发未完成,可使ORIENTAIS生成 Application RunnableEntity的桩代码。
Optional operation. If application development is not completed, ORIENTAIS can be used to generate stub code for Application RunnableEntity.
应用桩代码生成¶
Application stub code generation
RTE及Application RunnableEntity桩代码同时生成(Simultaneous Generation of RTE and Application RunnableEntity Stub Code)¶
可选操作, 可使ORIENTAIS同时生成RTE及 Application RunnableEntity的桩代码。
Optional operation.ORIENTAIS can be used to generate both RTE and Application RunnableEntity stub code at the same time.
RTE及应用桩代码同时生成¶
Simultaneous generation of RTE and application stub code
集成流程概述(Overview of Integration Process)¶
按照 ORIENTAIS工具开发流程概述(Overview of ORIENTAIS Development Process) 完成工程的配置,生所有BSW(包括 OS 、RTE 、MCAL )动态配置代码后, 基于芯片、编译器搭建代码工程,集成BSW静态代码以及ORIENTAIS生成的动态代码, 再加上Application RunnableEntity代码(若应用开发未完成,可使用 Application RunnableEntity桩代码生成(Application RunnableEntity Stub Code Generation) 生成应用桩代码),基于内存布局需求、以及BSW和Application RunnableEntity的MemMap进行编译、链接。
Complete the project configuration according to ORIENTAIS工具开发流程概述(Overview of ORIENTAIS Development Process), generate all dynamic configuration code of BSW(including OS, RTE, MCAL) , then build the code project with BSW static code, and Application RunnableEntity code (if application development is not completed, Application RunnableEntity桩代码生成(Application RunnableEntity Stub Code Generation) can be used to generate application stub code), and compile and link the MemMap based on memory layout requirements of BSW and Application RunnableEntity.
接口描述(Interface Description)¶
Rte生命周期(Rte Lifecycle)¶
Rte_Start¶
Std_ReturnType Rte_Start(void)
RTE默认生成API。Rte_Start初始化当前分区使用的系统资源和通信资源。可信分区Rte_Start由BswM进行调度, 不可信分区Rte_Start由初始化Task进行调度,ORIENTAIS会自动为每个不可信分区配置初始化Task,生成的初始化Task代码调用Rte_Start进行初始化操作。
Generated by default. Rte_Start initializes the system resources and communication resources used by the current partition. The Rte_Start is scheduled by BswM on trusted partition, and the Rte_Start is scheduled by the initialization Task on untrusted partition. RTE will automatically generates an initialization Task for each untrusted partition, and the generated initialization Task code calls Rte_Start to perform the initialization operation.
- Service ID
0x70
- Sync/Async
Synchronous
- Reentrancy
Non Reentrant
- Parameters
None
- Return type
Std_ReturnType
Return values
Name |
Description |
|---|---|
RTE_E_OK |
RTE初始化成功 No error occurred |
RTE_E_LIMIT |
RTE初始化时序有问题,初始化不成功 An internal limit has been exceeded. The allocation of a required resource has failed |
Rte_Stop¶
Std_ReturnType Rte_Stop(void)
RTE默认生成API。Rte_Stop释放当前分区使用的系统资源和通信资源,并关闭 RTE。根据BswM配置情况,在进入睡眠/低功耗等模式时调用
Generated by default. Rte_Stop releases the system resources and communication resources used by the current partition and shuts down the RTE. It is called when entering sleep/low-power modes, etc., according to the BswM configuration.
- Service ID
0x71
- Sync/Async
Synchronous
- Reentrancy
Non Reentrant
- Parameters
None
- Return type
Std_ReturnType
Return values
Name |
Description |
|---|---|
RTE_E_OK |
RTE资源释放成功 RTE resources are released successfully |
RTE_E_LIMIT |
RTE资源释放失败 RTE resource release failed |
CallBack回调¶
Rte_COMCbk_<sn>¶
void Rte_COMCbk_<sn> (void)
当Com中Signal配置了接收通知时生成。这个回调函数表明Signal已经收到最新值。Com模块中接收到Signal时,通知到RTE。
Generated when the reception notification is configured for a Signal in Com. This callback function indicates that the Signal has received the latest value. When the Signal is received in the Com module, it notifies the RTE.
- Service ID
0x9f
- Sync/Async
Synchronous
- Reentrancy
Non Reentrant
- Parameters
None
- Return type
void
- Return values
None
Rte_COMCbkTAck_<sn>¶
void Rte_COMCbkTAck_<sn> (void)
当Com中Signal配置了发送确认通知时生成。这个回调函数表明Signal已经由Com打包到Pdu中且发送成功。Com模块中发送Signal成功时,通知到RTE。
Generated when the transmission confirmation notification is configured for a Signal in Com. This callback function indicates that the Signal has been packaged into a Pdu by Com and sent successfully. When the Signal is sent successfully in the Com module, it notifies the RTE.
- Service ID
0x90
- Sync/Async
Synchronous
- Reentrancy
Non Reentrant
- Parameters
None
- Return type
void
- Return values
None
Rte_COMCbkTErr_<sn>¶
void Rte_COMCbkTErr_<sn> (void)
当Com中Signal配置了发送错误通知时生成。这个回调函数表明Signal发送发生错误。Com模块中发送Signal发生错误时,通知到RTE。
Generated when the transmission error notification is configured for a Signal in Com. This callback function indicates that an error occurred during the transmission of the Signal. When an error occurs while sending the Signal in the Com module, it notifies the RTE.
- Service ID
0x91
- Sync/Async
Synchronous
- Reentrancy
Non Reentrant
- Parameters
None
- Return type
void
- Return values
None
Rte_COMCbkInv_<sn>¶
void Rte_COMCbkInv_<sn> (void)
当Com中Signal配置了接收无效通知时生成。这这个回调函数表明Signal收到的值为无效值。Com模块中接收Signal收到无效值时,通知到RTE。
Generated when the reception invalid notification is configured for a Signal in Com. This callback function indicates that the received value of the Signal is invalid. When the Com module receives an invalid value for the Signal, it notifies the RTE.
- Service ID
0x92
- Sync/Async
Synchronous
- Reentrancy
Non Reentrant
- Parameters
None
- Return type
void
- Return values
None
Rte_COMCbkRxTOut_<sn>¶
void Rte_COMCbkRxTOut_<sn> (void)
当Com中Signal配置了接收超时时生成。这个回调函数表明Signal发生了接收超时。Com模块中接收Signal发生超时时,通知到RTE。
Generated when the reception timeout notification is configured for a Signal in Com. This callback function indicates that a reception timeout has occurred for the Signal. When a reception timeout occurs for the Signal in the Com module, it notifies the RTE.
- Service ID
0x93
- Sync/Async
Synchronous
- Reentrancy
Non Reentrant
- Parameters
None
- Return type
void
- Return values
None
Rte_COMCbkTxTOut_<sn>¶
void Rte_COMCbkTxTOut_<sn> (void)
当Com中Signal配置了发送超时时生成。这个回调函数表明Signal发生了发送超时。Com模块中发送Signal发生超时时,通知到RTE。
Generated when the transmission timeout notification is configured for a Signal in Com. This callback function indicates that a transmission timeout has occurred for the Signal. When a transmission timeout occurs while sending the Signal in the Com module, it notifies the RTE.
- Service ID
0x94
- Sync/Async
Synchronous
- Reentrancy
Non Reentrant
- Parameters
None
- Return type
void
- Return values
None
Rte_COMCbk_<sg>¶
void Rte_COMCbk_<sg> (void)
当Com中SignalGroup配置了接收通知时生成。这个回调函数表明SignalGroup已经收到最新值。Com模块中接收到SignalGroup时,通知到RTE。
Generated when the reception notification is configured for a SignalGroup in Com. This callback function indicates that the SignalGroup has received the latest value. When the SignalGroup is received in the Com module, it notifies the RTE.
- Service ID
0x9f
- Sync/Async
Synchronous
- Reentrancy
Non Reentrant
- Parameters
None
- Return type
void
- Return values
None
Rte_COMCbkTAck_<sg>¶
void Rte_COMCbkTAck_<sg> (void)
当Com中SignalGroup配置了发送确认通知时生成。这个回调函数表明SignalGroup已经由Com打包到Pdu中且发送成功。Com模块中发送SignalGroup成功时,通知到RTE。
Generated when the transmission confirmation notification is configured for a SignalGroup in Com. This callback function indicates that the SignalGroup has been packaged into a Pdu by Com and sent successfully. When the SignalGroup is sent successfully in the Com module, it notifies the RTE.
- Service ID
0x90
- Sync/Async
Synchronous
- Reentrancy
Non Reentrant
- Parameters
None
- Return type
void
- Return values
None
Rte_COMCbkTErr_<sg>¶
void Rte_COMCbkTErr_<sg> (void)
当Com中SignalGroup配置了发送错误通知时生成。这个回调函数表明SignalGroup发送发生错误。Com模块中发送SignalGroup发生错误时,通知到RTE。
Generated when the transmission error notification is configured for a SignalGroup in Com. This callback function indicates that an error occurred during the transmission of the SignalGroup. When an error occurs while sending the SignalGroup in the Com module, it notifies the RTE.
- Service ID
0x91
- Sync/Async
Synchronous
- Reentrancy
Non Reentrant
- Parameters
None
- Return type
void
- Return values
None
Rte_COMCbkInv_<sg>¶
void Rte_COMCbkInv_<sg> (void)
当Com中SignalGroup配置了接收无效通知时生成。这个回调函数表明SignalGroup收到的值为无效值。Com模块中接收SignalGroup收到无效值时,通知到RTE。
Generated when the reception invalid notification is configured for a SignalGroup in Com. This callback function indicates that the received value of the SignalGroup is invalid. When the Com module receives an invalid value for the SignalGroup, it notifies the RTE.
- Service ID
0x92
- Sync/Async
Synchronous
- Reentrancy
Non Reentrant
- Parameters
None
- Return type
void
- Return values
None
Rte_COMCbkRxTOut_<sg>¶
void Rte_COMCbkRxTOut_<sg> (void)
当Com中SignalGroup配置了接收超时时生成。这个回调函数表明SignalGroup发生了接收超时。Com模块中接收SignalGroup发生超时时,通知到RTE。
Generated when the reception timeout notification is configured for a SignalGroup in Com. This callback function indicates that a reception timeout has occurred for the SignalGroup. When a reception timeout occurs while receiving the SignalGroup in the Com module, it notifies the RTE.
- Service ID
0x93
- Sync/Async
Synchronous
- Reentrancy
Non Reentrant
- Parameters
None
- Return type
void
- Return values
None
Rte_COMCbkTxTOut<sg>¶
void Rte_COMCbkTxTOut_<sg> (void)
当Com中SignalGroup配置了发送超时时生成。这个回调函数表明SignalGroup发生了发送超时。Com模块中发送SignalGroup发生超时时,通知到RTE。
Generated when the transmission timeout notification is configured for a SignalGroup in Com. This callback function indicates that a transmission timeout has occurred for the SignalGroup. When a transmission timeout occurs while sending the SignalGroup in the Com module, it notifies the RTE.
- Service ID
0x94
- Sync/Async
Synchronous
- Reentrancy
Non Reentrant
- Parameters
None
- Return type
void
- Return values
None
Rte_LdComCbkRxIndication_<sn>¶
void Rte_LdComCbkRxIndication_<sn> (const PduInfoType* PduInfoPtr )
当LdCom中Signal(IF Pdu)配置了接收通知时生成。这个回调函数为Signal接收时通知。LdCom模块中接收Signal(IF Pdu)时,通知到RTE。
Generated when the reception notification is configured for a Signal (IF Pdu) in LdCom. This callback function is used to notify when the Signal is received. When the LdCom module receives the Signal (IF Pdu), it notifies the RTE.
- Service ID
0x101
- Sync/Async
Synchronous
- Reentrancy
Non Reentrant
Parameters
Dir |
Name |
Description |
|---|---|---|
[in] |
PduInfoPtr |
Signal(IF Pdu)的数据指针 Data pointer of Signal (IF Pdu) |
- Return type
void
- Return values
None
Rte_LdComCbkTxConfirmation_<sn>¶
void Rte_LdComCbkTxConfirmation_<sn> (void)
当LdCom中Signal(IF Pdu)配置了发送确认时生成。这个回调函数表明Signal发送确认。LdCom模块中发送Signal发送确认时,通知到RTE。
Generated when the transmission confirmation is configured for a Signal (IF Pdu) in LdCom. This callback function indicates the confirmation of Signal transmission. When the LdCom module confirms the transmission of the Signal, it notifies the RTE.
- Service ID
0xA7
- Sync/Async
Synchronous
- Reentrancy
Non Reentrant
- Parameters
None
- Return type
void
- Return values
None
Rte_LdComCbkCopyRxData_<sn>¶
BufReq_ReturnType Rte_LdComCbkCopyRxData_<sn> (
const PduInfoType* info,
PduLengthType* bufferSizePtr)
当LdCom中Signal(TP Pdu)配置了接收时生成
Generated when reception is configured for a Signal (TP Pdu) in LdCom
- Service ID
0xA2
- Sync/Async
Synchronous
- Reentrancy
Non Reentrant
Parameters
Dir |
Name |
Description |
|---|---|---|
[in] |
info |
提供源buffer和待拷贝的字节数 Provide the source buffer and the number of bytes to be copied |
[out] |
bufferSizePtr |
剩余字节数 Number of remaining bytes |
- Return type
BufReq_ReturnType
Return values
Name |
Description |
|---|---|
BUFREQ_OK |
拷贝OK Copy OK |
BUFREQ_E_NOT_OK |
拷贝过程有错误产生导致失败,初始化不成功 An error occurred during the copying process, resulting in failure and unsuccessful initialization |
Rte_LdComCbkCopyTxData_<sn>¶
BufReq_ReturnType Rte_LdComCbkCopyTxData_<sn> (
const PduInfoType* info,
const RetryInfoType* retry,
PduLengthType* availableDataPtr)
当LdCom中Signal(TP Pdu)配置了发送时生成
Generated when transmission is configured for a Signal (TP Pdu) in LdCom
- Service ID
0xA4
- Sync/Async
Synchronous
- Reentrancy
Non Reentrant
Parameters
Dir |
Name |
Description |
|---|---|---|
[in] |
info |
提供目标buffer和待拷贝的字节数 Provides the target buffer and the number of bytes to be copied |
[in] |
retry |
不会被LdCom模块及其上层模块处理 Will not be processed by the LdCom module and its upper - layer modules |
[out] |
availableDataPtr |
剩余字节数 Number of remaining bytes |
- Return type
BufReq_ReturnType
Return values
Name |
Description |
|---|---|
BUFREQ_OK |
数据已被传送 Data has been transmitted |
BUFREQ_E_BUSY |
没有数据被传送,请求的发送数量data不可用 No data has been transmitted, and the requested number of data to be sent is unavailable |
BUFREQ_E_NOT_OK |
数据未被传送 Data has not been transmitted |
Rte_LdComCbkStartOfReception_<sn>¶
BufReq_ReturnType Rte_LdComCbkStartOfReception_<sn> (
const PduInfoType* info,
PduLengthType TpSduLength,
PduLengthType* bufferSizePtr)
当LdCom中Signal(TP Pdu)配置了接收时生成
Generated when reception is configured for a Signal (TP Pdu) in LdCom
- Service ID
0x102
- Sync/Async
Synchronous
- Reentrancy
Non Reentrant
Parameters
Dir |
Name |
Description |
|---|---|---|
[in] |
info |
第一帧或者单一帧的数据和长度 Data and length of the first frame or a single frame |
[in] |
TpSduLength |
接收总长度 Total received length |
[out] |
bufferSizePtr |
可用的接收buffer Available receive buffer |
- Return type
BufReq_ReturnType
Return values
Name |
Description |
|---|---|
BUFREQ_OK |
连接建立 Connection establishment |
BUFREQ_E_NOT_OK |
连接拒绝 Connection rejected |
BUFREQ_E_OVFL |
buffer溢出,连接中断 Buffer overflow, connection interrupted |
Rte_LdComCbkTpRxIndication_<sn>¶
void Rte_LdComCbkTpRxIndication_<sn> (
Std_ReturnType result)
当LdCom中Signal(TP Pdu)配置了接收时生成
Generated when reception is configured for a Signal (TP Pdu) in LdCom
- Service ID
0x103
- Sync/Async
Synchronous
- Reentrancy
Non Reentrant
Parameters
Dir |
Name |
Description |
|---|---|---|
[in] |
result |
接收结果 Reception result |
- Return type
void
- Return values
None
Rte_LdComCbkTpTxConfirmation_<sn>¶
void Rte_LdComCbkTpTxConfirmation_<sn> (
Std_ReturnType result)
当LdCom中Signal(TP Pdu)配置了发送时生成
Generated when transmission is configured for a Signal (TP Pdu) in LdCom
- Service ID
0xA5
- Sync/Async
Synchronous
- Reentrancy
Non Reentrant
Parameters
Dir |
Name |
Description |
|---|---|---|
[in] |
result |
发送结果 Transmission result |
- Return type
void
- Return values
None
Indirect API¶
Rte_Ports_<i>_<R/P/PR>¶
Rte_PortHandle_<i>_<R/P/PR> Rte_Ports_<i>_<R/P/PR>([IN Rte_Instance <instance>])
当Port的配置参数indirectAPI(PortAPIOption)为TRUE时生成。获取基于Ports的首个函数指针,供应用调用。应用Runnable中根据实现逻辑进行调用。
Generated when the configuration indirectAPI (in PortAPIOption) of the Port is set to TRUE. The API return the first function pointer based on Ports for application calls. The application Runnable makes calls according to the implementation logic.
- Service ID
0x10
- Sync/Async
Synchronous
- Reentrancy
Non Reentrant
Parameters
Dir |
Name |
Description |
|---|---|---|
[in] |
instance |
实例参数(多实例时存在,单实例时不存在) Instance parameter (exists in case of multiple instances, does not exist in case of single instance) |
Return type
Name |
Description |
|---|---|
Rte_PortHandle_<i>_<R/P/PR> |
PDS数组的首指针 |
Return values
Name |
Description |
|---|---|
<return> |
返回对应的PDS数组 Array of port data structures of the corresponding interface type and usage. |
Rte_NPorts_<i>_<R/P/PR>¶
uint8 Rte_NPorts_<i>_<R/P/PR>([IN Rte_Instance <instance>])
当Port的配置参数indirectAPI(PortAPIOption)为TRUE时生成。获取对应PortInterface的Port个数。应用Runnable中根据实现逻辑进行调用。
Generated when the configuration indirectAPI (in PortAPIOption) of the Port is set to TRUE. The API return the number of Ports corresponding to the PortInterface. The application Runnable makes calls according to the implementation logic.
- Service ID
0x11
- Sync/Async
Synchronous
- Reentrancy
Non Reentrant
Parameters
Dir |
Name |
Description |
|---|---|---|
[in] |
instance |
实例参数(多实例时存在,单实例时不存在) Instance parameter (exists in case of multiple instances, does not exist in case of single instance) |
- Return type
uint8
Return values
Name |
Description |
|---|---|
<return> |
对应PortInterface的Port个数 Number of port data structures of the corresponding interface type and usage. |
Rte_Port_<p>¶
Rte_PortHandle_<i>_<R/P/PR> Rte_Port_<p>([IN Rte_Instance <instance>])
当Port的配置参数indirectAPI(PortAPIOption)为TRUE时生成。获取基于Port的函数指针,供应用调用。应用Runnable中根据实现逻辑进行调用。
Generated when the configuration indirectAPI (in PortAPIOption) of the Port is TRUE. The API return the function pointer based on the Port for application calls. The application Runnable makes calls according to the implementation logic.
- Service ID
0x12
- Sync/Async
Synchronous
- Reentrancy
Non Reentrant
Parameters
Dir |
Name |
Description |
|---|---|---|
[in] |
instance |
实例参数(多实例时存在,单实例时不存在) Instance parameter (exists in case of multiple instances, does not exist in case of single instance) |
Return type
Name |
Description |
|---|---|
Rte_PortHandle_<i>_<R/P/PR> |
PDS指针 |
Return values
Name |
Description |
|---|---|
<return> |
返回基于Port的RTE访问函数的函数指针 Pointer to port data structure for the appropriate port. |
SR通信(SR Communication)¶
Rte_Write_<p>_<o>¶
Std_ReturnType Rte_Write_<p>_<o>([IN Rte_Instance <instance>],IN <data>,[OUT Std_TransformerError transformerError])
SR显式非队列写通信,或者Nv data写操作时生成。实现SR显式非队列通信写操作,或者Nv Data写操作。应用Runnable中根据实现逻辑进行调用。
Generated for SR explicit non-queued write communication or Nv data write operations. The application Runnable makes calls according to the implementation logic.
- Service ID
0x14
- Sync/Async
Synchronous
- Reentrancy
Reentrant
Parameters
Dir |
Name |
Description |
|---|---|---|
[in] |
instance |
实例参数(多实例时存在,单实例时不存在) Instance parameter (exists in case of multiple instances, does not exist in case of single instance) |
[in] |
data |
SR/Nv写数据(value/reference) SR/Nv write data (value/reference) |
[out] |
transformerError |
序列化错误参数 Serialization error parameter |
- Return type
Std_ReturnType
Return values
Name |
Description |
|---|---|
RTE_E_OK |
数据写入调用成功 data passed to communication service successfully |
RTE_E_HARD_TRANSFORMER_ERROR |
序列化/反序列化硬错误 The return value of one transformer in the transformer chain represented a hard transformer error. |
RTE_E_SOFT_TRANSFORMER_ERROR |
序列化/反序列化软错误 The return value of at least one transformer in the transformer chain was a soft error and no hard error occurred in the transformer chain. |
RTE_E_COM_STOPPED |
通信模块不可用(ECU间通信) The RTE could not perform the operation because the communication service is currently not available (inter ECU communication only). |
Rte_Send_<p>_<o>¶
Std_ReturnType Rte_Send_<p>_<o>([IN Rte_Instance <instance>],IN <data>, [OUT Std_TransformerError transformerError])
SR显式队列发送通信时生成,或者Nv data写操作时生成。实现SR显式队列通信发送操作。应用Runnable中根据实现逻辑进行调用。
Generated for SR explicit queued write communication or Nv data write operations. The application Runnable makes calls according to the implementation logic.
- Service ID
0x13
- Sync/Async
Synchronous
- Reentrancy
Reentrant
Parameters
Dir |
Name |
Description |
|---|---|---|
[in] |
instance |
实例参数(多实例时存在,单实例时不存在) Instance parameter (exists in case of multiple instances, does not exist in case of single instance) |
[in] |
data |
SR发送数据(value/reference) SR sending data (value/reference) |
[out] |
transformerError |
序列化错误参数 Serialization error parameter |
- Return type
Std_ReturnType
Return values
Name |
Description |
|---|---|
RTE_E_OK |
data写入成功 data passed to communication service successfully |
RTE_E_LIMIT |
队列已满,事件被忽略(仅限ECU内) an ‘event’ has been discarded due to a full queue by one of the ECU local receivers (intra ECU communication only) |
RTE_E_HARD_TRANSFORMER_ERROR |
序列化/反序列化硬错误 The return value of one transformer in the transformer chain represented a hard transformer error. |
RTE_E_SOFT_TRANSFORMER_ERROR |
序列化/反序列化软错误 The return value of at least one transformer in the transformer chain was a soft error and no hard error occurred in the transformer chain. |
RTE_E_COM_STOPPED |
通信模块不可用(ECU间通信) The RTE could not perform the operation because the communication service is currently not available (inter ECU communication only). |
Rte_Invalidate_<p>_<o>¶
Std_ReturnType Rte_Invalidate_<p>_<o>([IN Rte_Instance <instance>],[OUT Std_TransformerError transformerError])
SR显式非队列写无效值通信,且配置了无效值及无效策略时生成。实现SR显式非队列写无效值通信操作。应用Runnable中根据实现逻辑进行调用。
Generated for SR explicit non-queued write invalid value communication with invalid values and invalid policies. The application Runnable makes calls according to the implementation logic.
- Service ID
0x16
- Sync/Async
Synchronous
- Reentrancy
Reentrant
Parameters
Dir |
Name |
Description |
|---|---|---|
[in] |
instance |
实例参数(多实例时存在,单实例时不存在) Instance parameter (exists in case of multiple instances, does not exist in case of single instance) |
[out] |
transformerError |
序列化错误参数 Serialization error parameter |
- Return type
Std_ReturnType
Return values
Name |
Description |
|---|---|
RTE_E_OK |
没有错误产生 No error occurred |
RTE_E_HARD_TRANSFORMER_ERROR |
序列化/反序列化硬错误 The return value of one transformer in the transformer chain represented a hard transformer error. |
RTE_E_SOFT_TRANSFORMER_ERROR |
序列化/反序列化软错误 The return value of at least one transformer in the transformer chain was a soft error and no hard error occurred in the transformer chain. |
RTE_E_COM_STOPPED |
通信模块不可用(ECU间通信) The RTE could not perform the operation because the communication service is currently not available (inter ECU communication only). |
Rte_Feedback_<p>_<o>¶
Std_ReturnType Rte_Feedback_<p>_<o>([IN Rte_Instance <instance>])
SR显式写通信(队列/非队列),配置发送确认时生成。SR显式写通信(队列/非队列),发送确认状态获取。应用Runnable中根据实现逻辑进行调用。
Generated for SR explicit write communication (queued/non-queued). It is used to obtain the transmission confirmation status of SR explicit write communication (queued/non-queued). The application Runnable makes calls according to the implementation logic.
- Service ID
0x17
- Sync/Async
Synchronous
- Reentrancy
Reentrant
Parameters
Dir |
Name |
Description |
|---|---|---|
[in] |
instance |
实例参数(多实例时存在,单实例时不存在) Instance parameter (exists in case of multiple instances, does not exist in case of single instance) |
- Return type
Std_ReturnType
Return values
Name |
Description |
|---|---|
RTE_E_NO_DATA |
没有收到发送确认也没有收到错误提示 No acknowledgments or error notifications were received |
RTE_E_TRANSMIT_ACK |
发送完成 a transmission acknowledgment was received. |
RTE_E_HARD_TRANSFORMER_ERROR |
序列化/反序列化硬错误 The return value of one transformer in the transformer chain represented a hard transformer error. |
RTE_E_SOFT_TRANSFORMER_ERROR |
序列化/反序列化软错误 The return value of at least one transformer in the transformer chain was a soft error and no hard error occurred in the transformer chain. |
RTE_E_COM_STOPPED |
最后一次发送被拒绝或者在超时前收到COM的错误通知(ECU间通信) (Inter-ECU communication only)The last transmission was rejected or An error notification from COM was received before any timeout notification. |
RTE_E_TIMEOUT |
在错误通知前,产生了超时(分区间或ECU间通信) (Inter-ECU and InterPartition only) A timeout notification was received from COM or IOC before any error notification |
RTE_E_UNCONNECTED |
发送端接口未连接 Indicates that the sender port is not connected. |
RTE_E_IN_EXCLUSIVE_AREA |
仅使用于阻塞型API,指示函数位于独占区中。 Used only for the blocking API. RTE_E_IN_EXCLUSIVE_AREA indicates that the runnable can not enter wait, as one of the ExecutableEntitys in the call stack of this task is currently in an exclusive area. |
Rte_Read_<p>_<o>¶
Std_ReturnType Rte_Read_<p>_<o>([IN Rte_Instance <instance>],OUT <data>,[OUT Std_TransformerError transformerError])
SR显式非队列读,或者Nv data读操作时生成(dataReceivePointByArgument)。实现SR显式非队列通信读操作,或者Nv Data读操作。应用Runnable中根据实现逻辑进行调用。
Generated for SR explicit non-queued read or Nv data read operations (dataReceivePointByArgument).The application Runnable makes calls according to the implementation logic.
- Service ID
0x19
- Sync/Async
Synchronous
- Reentrancy
Reentrant
Parameters
Dir |
Name |
Description |
|---|---|---|
[in] |
instance |
实例参数(多实例时存在,单实例时不存在) Instance parameter (exists in case of multiple instances, does not exist in case of single instance) |
[out] |
data |
读数据指针 Read data pointer |
[out] |
transformerError |
序列化错误参数 Serialization error parameter |
- Return type
Std_ReturnType
Return values
Name |
Description |
|---|---|
RTE_E_OK |
数据读取成功 data read successfully. |
RTE_E_INVALID |
收到无效数据 data element invalid. |
RTE_E_HARD_TRANSFORMER_ERROR |
序列化/反序列化硬错误 The return value of one transformer in the transformer chain represented a hard transformer error. |
RTE_E_SOFT_TRANSFORMER_ERROR |
序列化/反序列化软错误 The return value of at least one transformer in the transformer chain was a soft error and no hard error occurred in the transformer chain. |
RTE_E_COM_STOPPED |
通信模块不可用(ECU间通信) The RTE could not perform the operation because the communication service is currently not available (inter ECU communication only). |
RTE_E_MAX_AGE_EXCEEDED |
数据过时 data element outdated |
RTE_E_UNCONNECTED |
接收端接口未连接 Indicates that the receiver port is not connected. |
RTE_E_NEVER_RECEIVED |
自从系统启动后,就未接收到数据。 No data received since system start. |
Rte_DRead_<p>_<o>¶
<return> Rte_DRead_<p>_<o>([IN Rte_Instance <instance>])
SR显式非队列读,或者Nv data读操作时生成(dataReceivePointByValue)。实现SR显式非队列通信读操作,或者Nv Data读操作。应用Runnable中根据实现逻辑进行调用。
Generated for SR explicit non-queued read or Nv data read operations (dataReceivePointByValue). The application Runnable makes calls according to the implementation logic.
- Service ID
0x1A
- Sync/Async
Synchronous
- Reentrancy
Reentrant
Parameters
Dir |
Name |
Description |
|---|---|---|
[in] |
instance |
实例参数(多实例时存在,单实例时不存在) Instance parameter (exists in case of multiple instances, does not exist in case of single instance) |
Return type
Name |
Description |
|---|---|
<return> |
SR显式非队列/Nv data的读数据类型 The read data type of SR explicit non-queued / Nv data |
Return values
Name |
Description |
|---|---|
<return> |
返回SR显式非队列/Nv data的读数据值 Returns the read data value of SR explicit non-queued / Nv data. |
Rte_Receive_<p>_<o>¶
Std_ReturnType Rte_Receive_<p>_<o>([IN Rte_Instance <instance>],OUT <data>,[OUT Std_TransformerError transformerError])
SR显式非队列读,或者Nv data读操作时生成(dataReceivePointByValue)。实现SR显式队列通信接收操作。应用Runnable中根据实现逻辑进行调用。
Generated for SR explicit non-queued read or Nv data read operations (dataReceivePointByValue). The application Runnable makes calls according to the implementation logic.
- Service ID
0x1B
- Sync/Async
Synchronous
- Reentrancy
Reentrant
Parameters
Dir |
Name |
Description |
|---|---|---|
[in] |
instance |
实例参数(多实例时存在,单实例时不存在) Instance parameter (exists in case of multiple instances, does not exist in case of single instance) |
[out] |
data |
读数据指针 Read data pointer |
[out] |
transformerError |
序列化错误参数 Serialization error parameter |
- Return type
Std_ReturnType
Return values
Name |
Description |
|---|---|
RTE_E_OK |
数据读取成功 data read successfully. |
RTE_E_NO_DATA |
非阻塞型读取中,读取数据时,没有接收到事件且没有错误产生 (explicit non-blockingread) no events were received and no other error occurred when the read was attempted. |
RTE_E_HARD_TRANSFORMER_ERROR |
序列化/反序列化硬错误 The return value of one transformer in the transformer chain represented a hard transformer error. |
RTE_E_SOFT_TRANSFORMER_ERROR |
序列化/反序列化软错误 The return value of at least one transformer in the transformer chain was a soft error and no hard error occurred in the transformer chain. |
RTE_E_LOST_DATA |
队列已满导致的数据丢失 Indicates that some incoming data has been lost due to an overflow of the receive queue. |
RTE_E_TIMEOUT |
阻塞型读取中,读取数据时,没有接收到事件且没有错误产生 (explicit blocking read)no events were received and no other error occurred when the read was attempted. |
RTE_E_UNCONNECTED |
接收端接口未连接 Indicates that the receiver port is not connected. |
RTE_E_IN_EXCLUSIVE_AREA |
仅使用于阻塞型API,指示函数位于独占区中。 Used only for the blocking API. RTE_E_IN_EXCLUSIVE_AREA indicates that the runnable can not enter wait, as one of the ExecutableEntitys in the call stack of this task is currently in an exclusive area. |
Rte_IRead_<re>_<p>_<o>¶
<return> Rte_IRead_<re>_<p>_<o>([IN Rte_Instance <instance>])
SR隐式读,或者Nv data隐式读时生成。实现SR隐式读,或者Nv data隐式读通信操作。应用Runnable中根据实现逻辑进行调用。
Generated for SR implicit read or Nv data implicit read. The application Runnable makes calls according to the implementation logic.
- Service ID
0x21
- Sync/Async
Synchronous
- Reentrancy
Reentrant
Parameters
Dir |
Name |
Description |
|---|---|---|
[in] |
instance |
实例参数(多实例时存在,单实例时不存在) Instance parameter (exists in case of multiple instances, does not exist in case of single instance) |
Return type
Name |
Description |
|---|---|
<return> |
SR隐式读数据类型 SR implicitly read data type |
Return values
Name |
Description |
|---|---|
<return> |
返回SR隐式读数据值 Returns SR implicitly read data value. |
Rte_IWrite_<re>_<p>_<o>¶
void Rte_IWrite_<re>_<p>_<o>([IN Rte_Instance <instance>],IN <data>)
SR隐式写,或者Nv data隐式写时生成。实现SR隐式写,或者Nv data隐式写数据操作。应用Runnable中根据实现逻辑进行调用。
Generated for SR implicit write or Nv data implicit write. The application Runnable makes calls according to the implementation logic.
- Service ID
0x22
- Sync/Async
Synchronous
- Reentrancy
Reentrant
Parameters
Dir |
Name |
Description |
|---|---|---|
[in] |
instance |
实例参数(多实例时存在,单实例时不存在) Instance parameter (exists in case of multiple instances, does not exist in case of single instance) |
[in] |
data |
SR写数据(value/reference) SR write data (value/reference) |
- Return type
void
- Return values
None
Rte_IWriteRef_<re>_<p>_<o>¶
<return reference> Rte_IWriteRef_<re>_<p>_<o>([IN Rte_Instance <instance>])
SR隐式写,或者Nv data隐式写时生成。实现SR隐式写,或者Nv data隐式写数据操作(返回写数据指针,应用对其进行赋值)。应用Runnable中根据实现逻辑进行调用。
Generated for SR implicit write or Nv data implicit write. The API returns a write data pointer for the application to assign values to. The application Runnable makes calls according to the implementation logic.
- Service ID
0x23
- Sync/Async
Synchronous
- Reentrancy
Reentrant
Parameters
Dir |
Name |
Description |
|---|---|---|
[in] |
instance |
实例参数(多实例时存在,单实例时不存在) Instance parameter (exists in case of multiple instances, does not exist in case of single instance) |
Return type
Name |
Description |
|---|---|
<return reference> |
写数据类型指针 write data pointer |
Return values
Name |
Description |
|---|---|
<return reference> |
返回写数据类型指针 Returns write data pointer. |
Rte_IInvalidate_<re>_<p>_<o>¶
void Rte_IInvalidate_<re>_<p>_<o>([IN Rte_Instance <instance>])
SR显式写通信,且配置了无效值及无效策略时生成。实现SR隐式写无效值通信。应用Runnable中根据实现逻辑进行调用。
Generated when SR explicit write communication is configured with invalid values and invalid policies. It implements SR implicit write invalid value communication. The application Runnable makes calls according to the implementation logic.
- Service ID
0x24
- Sync/Async
Synchronous
- Reentrancy
Reentrant
Parameters
Dir |
Name |
Description |
|---|---|---|
[in] |
instance |
实例参数(多实例时存在,单实例时不存在) Instance parameter (exists in case of multiple instances, does not exist in case of single instance) |
- Return type
void
- Return values
None
Rte_IStatus_<re>_<p>_<o>¶
Std_ReturnType Rte_IStatus_<re>_<p>_<o>([IN Rte_Instance <instance>],[OUT Std_TransformerError transformerError])
SR隐式读通信,且满足接收状态条件时生成。实现SR隐式读状态获取操作。应用Runnable中根据实现逻辑进行调用。
Generated when SR implicit read communication meets the reception status conditions. It implements the SR implicit read status acquisition operation. The application Runnable makes calls according to the implementation logic.
- Service ID
0x25
- Sync/Async
Synchronous
- Reentrancy
Reentrant
Parameters
Dir |
Name |
Description |
|---|---|---|
[in] |
instance |
实例参数(多实例时存在,单实例时不存在) Instance parameter (exists in case of multiple instances, does not exist in case of single instance) |
[out] |
transformerError |
序列化错误参数 Serialization error parameter |
- Return type
Std_ReturnType
Return values
Name |
Description |
|---|---|
RTE_E_OK |
无错误产生 no errors. |
RTE_E_INVALID |
数据无效 data element invalid. |
RTE_E_HARD_TRANSFORMER_ERROR |
序列化/反序列化硬错误 The return value of one transformer in the transformer chain represented a hard transformer error. |
RTE_E_SOFT_TRANSFORMER_ERROR |
序列化/反序列化软错误 The return value of at least one transformer in the transformer chain was a soft error and no hard error occurred in the transformer chain. |
RTE_E_COM_STOPPED |
通信模块不可用(ECU间通信) The RTE could not perform the operation because the communication service is currently not available (inter ECU communication only). |
RTE_E_NEVER_RECEIVED |
自系统启动就未收到数据 No data received since system start |
RTE_E_UNCONNECTED |
接收端接口未连接 Indicates that the receiver port is not connected. |
RTE_E_MAX_AGE_EXCEEDED |
数据过时 data element outdated. |
Rte_IFeedback_<re>_<p>_<o>¶
Std_ReturnType Rte_IFeedback_<re>_<p>_<o>([IN RTE_Instance <instance>])
SR隐式写通信且配置了发送确认时生成。实现SR隐式写通信发送确认状态获取。应用Runnable中根据实现逻辑进行调用。
Generated when SR implicit write communication is configured with transmission confirmation. It Provides access to acknowledgement notifications for implicit SR communication and to pass error notification to senders. The application Runnable makes calls according to the implementation logic.
- Service ID
0x2F
- Sync/Async
Synchronous
- Reentrancy
Reentrant
Parameters
Dir |
Name |
Description |
|---|---|---|
[in] |
instance |
实例参数(多实例时存在,单实例时不存在) Instance parameter (exists in case of multiple instances, does not exist in case of single instance) |
[out] |
transformerError |
序列化错误参数 Serialization error parameter |
- Return type
Std_ReturnType
Return values
Name |
Description |
|---|---|
RTE_E_NO_DATA |
函数启动后,没有收到发送确认或者错误通知。 No acknowledgments or error notifications were received from COM when the runnable entity was started. |
RTE_E_HARD_TRANSFORMER_ERROR |
序列化/反序列化硬错误 The return value of one transformer in the transformer chain represented a hard transformer error. |
RTE_E_SOFT_TRANSFORMER_ERROR |
序列化/反序列化软错误 The return value of at least one transformer in the transformer chain was a soft error and no hard error occurred in the transformer chain. |
RTE_E_COM_STOPPED |
最后一个发送被拒绝(ECU间通信) (Inter-ECU communication only) The last transmission was rejected (when the local buffer was sent). |
RTE_E_TIMEOUT |
发送超时(ECU间通信) (Inter-ECU only) A timeout notification was received from COM before any error notification. |
RTE_E_UNCONNECTED |
客户端接口未连接 Indicates that the client port is not connected. |
RTE_E_TRANSMIT_ACK |
收到发送确认 A transmission acknowledgment was received. |
Rte_IsUpdated_<p>_<o>¶
boolean Rte_IsUpdated_<p>_<o>([IN RTE_Instance <instance>])
SR显式非队列读通信且使能了更新机制时生成。实现SR显式非队列读通信更新状态获取。应用Runnable中根据实现逻辑进行调用。
Generated when SR explicit non-queued read communication has the update mechanism enabled. It provides access to the update flag for SR explicit non-queued receiver. The application Runnable makes calls according to the implementation logic.
- Service ID
0x30
- Sync/Async
Synchronous
- Reentrancy
Reentrant
Parameters
Dir |
Name |
Description |
|---|---|---|
[in] |
instance |
实例参数(多实例时存在,单实例时不存在) Instance parameter (exists in case of multiple instances, does not exist in case of single instance) |
[out] |
transformerError |
序列化错误参数 Serialization error parameter |
- Return type
boolean
Return values
Name |
Description |
|---|---|
TRUE |
自上次读完后,数据已被更新 Data element updated since last read. |
FALSE |
自上次读完后,数据还未被更新 Data element not updated since last read. |
CS通信(CS Communication)¶
Rte_Call_<p>_<o>¶
Std_ReturnType Rte_Call_<p>_<o>([IN Rte_Instance <instance>],[IN|IN/OUT|OUT] <data_1>,...[IN|IN/OUT|OUT] <data_n>,[OUT Std_TransformerError transformerError])
CS同步/异步访问时生成。实现CS同步/异步服务请求通信(异步无OUT参数)。应用Runnable中根据实现逻辑进行调用。
Generated for CS synchronous/asynchronous service request communication (no OUT parameters for asynchronous). The application Runnable makes calls according to the implementation logic.
- Service ID
0x1C
- Sync/Async
Synchronous/Asynchronous
- Reentrancy
Non Reentrant
Parameters
Dir |
Name |
Description |
|---|---|---|
[in] |
instance |
实例参数(多实例时存在,单实例时不存在) Instance parameter (exists in case of multiple instances, does not exist in case of single instance) |
[in|in/out|out] |
data_1 |
CS函数参数 CS function parameters |
[in|in/out|out] |
data_n |
CS函数参数 CS function parameters |
[out] |
transformerError |
序列化错误参数 Serialization error parameter |
- Return type
Std_ReturnType
Return values
Name |
Description |
|---|---|
RTE_E_OK |
API调用成功 The API call completed successfully |
RTE_E_LIMIT |
达到最大并发数,无法处理新的请求,该次请求被拒绝,返回参数的缓冲区未被修改 The client has multiple outstanding asynchronous client-server invocations of the same operation in the same port. The server invocation shall be discarded, the buffers of the return parameters shall not be modified. |
RTE_E_HARD_TRANSFORMER_ERROR |
序列化/反序列化硬错误 The return value of one transformer in the transformer chain represented a hard transformer error. |
RTE_E_SOFT_TRANSFORMER_ERROR |
序列化/反序列化软错误 The return value of at least one transformer in the transformer chain was a soft error and no hard error occurred in the transformer chain. |
RTE_E_COM_STOPPED |
通信模块不可用(ECU间通信) The RTE could not perform the operation because the communication service is currently not available (inter ECU communication only). |
RTE_E_TIMEOUT |
服务请求超时(任务间或ECU间通信) (synchronous inter-task and inter-ECU only) No reply was received within the configured timeout. The buffers of the return parameters shall not be modified |
RTE_E_UNCONNECTED |
客户端接口未连接 Indicates that the client port is not connected. |
RTE_E_IN_EXCLUSIVE_AREA |
阻塞API调用时,调用方处于独占区内 Used only for the blocking API. RTE_E_IN_EXCLUSIVE_AREA indicates that the runnable can not enter wait, as one of the ExecutableEntitys in the call stack of this task is currently in an exclusive area. |
RTE_E_TIMEOUT |
RTE未初始化完成 Ignore incoming client server communication requests, before RTE is initialized completely and when it is stopped. |
Rte_Result_<p>_<o>¶
Std_ReturnType Rte_Result_<p>_<o>([IN Rte_Instance <instance>],[IN/OUT|OUT <param 1>],...,[IN/OUT|OUT <param n>],[OUT Std_TransformerError transformerError])
CS异步通信获取结果时生成。实现CS异步通信获取服务结果。应用Runnable中根据实现逻辑进行调用。
Generated for obtaining results for CS asynchronous communication. The application Runnable makes calls according to the implementation logic.
- Service ID
0x1D
- Sync/Async
Synchronous
- Reentrancy
Non Reentrant
Parameters
Dir |
Name |
Description |
|---|---|---|
[in] |
instance |
实例参数(多实例时存在,单实例时不存在) Instance parameter (exists in case of multiple instances, does not exist in case of single instance) |
[in|in/out|out] |
param 1 |
CS函数参数 CS function parameters |
[in|in/out|out] |
param n |
CS函数参数 CS function parameters |
[out] |
transformerError |
序列化错误参数 Serialization error parameter |
- Return type
Std_ReturnType
Return values
Name |
Description |
|---|---|
RTE_E_OK |
API调用成功 The API call completed successfully |
RTE_E_LIMIT |
达到最大并发数,无法处理新的请求,该次请求被拒绝,返回参数的缓冲区未被修改 The client has multiple outstanding asynchronous client-server invocations of the same operation in the same port. The server invocation shall be discarded, the buffers of the return parameters shall not be modified. |
RTE_E_HARD_TRANSFORMER_ERROR |
序列化/反序列化硬错误 The return value of one transformer in the transformer chain represented a hard transformer error. |
RTE_E_SOFT_TRANSFORMER_ERROR |
序列化/反序列化软错误 The return value of at least one transformer in the transformer chain was a soft error and no hard error occurred in the transformer chain. |
RTE_E_COM_STOPPED |
通信模块不可用(ECU间通信) The RTE could not perform the operation because the communication service is currently not available (inter ECU communication only). |
RTE_E_TIMEOUT |
服务请求超时(任务间或ECU间通信) (synchronous inter-task and inter-ECU only) No reply was received within the configured timeout. The buffers of the return parameters shall not be modified |
RTE_E_UNCONNECTED |
客户端接口未连接 Indicates that the client port is not connected. |
RTE_E_IN_EXCLUSIVE_AREA |
阻塞API调用时,调用方处于独占区内 Used only for the blocking API. RTE_E_IN_EXCLUSIVE_AREA indicates that the runnable can not enter wait, as one of the ExecutableEntitys in the call stack of this task is currently in an exclusive area. |
RTE_E_TIMEOUT |
RTE未初始化完成 Ignore incoming client server communication requests, before RTE is initialized completely and when it is stopped. |
RTE_E_NO_DATA |
Server端结果不可用 The server’s result is not available but no other error occurred within the API call or the server was not called since Rte_Start |
模式管理(Mode Management)¶
Rte_Switch_<p>_<o>¶
Std_ReturnType Rte_Switch_<p>_<o>([IN Rte_Instance <instance>],IN <mode>)
配置模式切换请求(ModeSwitchPoint)时生成。实现模式切换请求。应用Runnable中根据实现逻辑进行调用。
Generated when a mode switch request (ModeSwitchPoint) is configured. The API is used for sending of a mode switch notification. The application Runnable makes calls according to the implementation logic.
- Service ID
0x15
- Sync/Async
Asynchronous
- Reentrancy
Non Reentrant
Parameters
Dir |
Name |
Description |
|---|---|---|
[in] |
instance |
实例参数(多实例时存在,单实例时不存在) Instance parameter (exists in case of multiple instances, does not exist in case of single instance) |
[in] |
mode |
切换的目标模式 Target mode for switching |
- Return type
Std_ReturnType
Return values
Name |
Description |
|---|---|
RTE_E_OK |
模式切换发送成功 Data passed to service successfully |
RTE_E_LIMIT |
模式切换队列满,或RTE未启动 A mode switch has been discarded due to a full queue or The API called before Rte has been initialized |
Rte_SwitchAck_<p>_<o>¶
Std_ReturnType Rte_SwitchAck_<p>_<o>([IN Rte_Instance <instance>])
配置模式切换确认请求(ModeSwitchedAckRequest)时生成。获取当前模式请求的执行状态。应用Runnable中根据实现逻辑进行调用。
Generated when a mode switch acknowledgement request (ModeSwitchedAckRequest) is configured. The API Provide access to mode switch completed acknowledgements and error notifications to mode managers. The application Runnable makes calls according to the implementation logic.
- Service ID
0x18
- Sync/Async
Synchronous
- Reentrancy
Non Reentrant
Parameters
Dir |
Name |
Description |
|---|---|---|
[in] |
instance |
实例参数(多实例时存在,单实例时不存在) Instance parameter (exists in case of multiple instances, does not exist in case of single instance) |
- Return type
Std_ReturnType
Return values
Name |
Description |
|---|---|
RTE_E_NO_DATA-(non-blocking read) |
模式切换正在切换中(非阻塞Rte_SwitchAck) The mode switch is still in progress |
RTE_E_TIMEOUT |
模式切换超时 The configured timeout exceeds before the mode transition was completed |
RTE_E_TRANSMIT_ACK |
模式切换完成 The mode switch has been completed |
RTE_E_UNCONNECTED |
模式切换端口未连接 Indicates that the mode provider port is not connected |
RTE_E_IN_EXCLUSIVE_AREA |
Runnable正在独占区中,拒绝阻塞式Rte_SwitchAck执行 Used only for the blocking API. Indicates that the runnable can not enter wait |
Rte_Mode_<p>_<o>¶
标准模式:(Standard mode)
<return> Rte_Mode_<p>_<o>([IN Rte_Instance <instance>])
增强模式:(Enhanced mode)
<return> Rte_Mode_<p>_<o>([IN Rte_Instance <instance>],OUT <previousmode>,OUT <nextmode>)
当配置模式访问(ModeAccessPoint),增强模式(enhancedModeApi)配置为false生成标准接口,增加模式(enhancedModeApi)配置为true生成增强接口。 实现当前模式的获取(增强模式下,还要获取前模式和后模式)。应用Runnable中根据实现逻辑进行调用。
When mode access (ModeAccessPoint) is configured, the standard interface is generated when enhancedModeApi is set to false, and the enhanced interface is generated when enhancedModeApi is set to true. It provides the currently active mode (in enhanced mode, the previous mode and next mode should also be acquired). The application Runnable makes calls according to the implementation logic.
- Service ID
0x2C
- Sync/Async
Synchronous
- Reentrancy
Non Reentrant
Parameters
Dir |
Name |
Description |
|---|---|---|
[in] |
instance |
实例参数(多实例时存在,单实例时不存在) Instance parameter (exists in case of multiple instances, does not exist in case of single instance) |
[out] |
previousmode |
前一个模式(增强模式下才存在) Previous mode (exists only in enhanced mode) |
[out] |
nextmode |
下一个模式(增强模式下才存在) Next mode (exists only in enhanced mode) |
Return type
Name |
Description |
|---|---|
<return> |
返回当前模式 Returns the current mode |
Return values
Name |
Description |
|---|---|
RTE_TRANSITION_<ModeDeclarationGroup> |
模式切换正在切换中 During a transition of the mode machine instance |
RTE_MODE_<ModeDeclarationGroup>_<ModeDeclaration> |
当前模式 The mode machine instance is in a defined mode |
PIM实例内存访问(PIM Instance Memory Access)¶
Rte_Pim_<name>¶
<type>/<return reference> Rte_Pim_<name>([IN Rte_Instance <instance>])
配置实例内存(PerInstanceMemory或者arTypedPerInstanceMemory)时生成。实现PIM内存地址获取。应用Runnable中根据实现逻辑进行调用。
Generated when configuring instance memory (PerInstanceMemory or arTypedPerInstanceMemory). The API provides access to PIM memory addresses. Called by the application Runnable according to the implementation logic.
- Service ID
0x1E
- Sync/Async
Synchronous
- Reentrancy
Non Reentrant
Parameters
Dir |
Name |
Description |
|---|---|---|
[in] |
instance |
实例参数(多实例时存在,单实例时不存在) Instance parameter (exists in case of multiple instances, does not exist in case of single instance) |
Return type
Name |
Description |
|---|---|
<type>/<return reference> |
PerInstanceMemory时为type,arTypedPerInstanceMemory时为return reference type for PerInstanceMemory, return reference for arTypedPerInstanceMemory |
Return values
Name |
Description |
|---|---|
<type>/<return reference> |
返回PIM内存地址 Returns PIM memory address |
标定数据访问(Calibration Data Access)¶
Rte_CData_<name>¶
<return> Rte_CData_<name>([IN Rte_Instance <instance>])
当配置访问内部标定参数(perInstanceParameter or sharedParameter)时生成。实现组件内部标定参数获取。应用Runnable中根据实现逻辑进行调用。
Generated for access to internal calibration parameters (perInstanceParameter or sharedParameter) of the component. Called by the application Runnable according to the implementation logic.
- Service ID
0x1F
- Sync/Async
Synchronous
- Reentrancy
Non Reentrant
Parameters
Dir |
Name |
Description |
|---|---|---|
[in] |
instance |
实例参数(多实例时存在,单实例时不存在) Instance parameter (exists in case of multiple instances, does not exist in case of single instance) |
Return type
Name |
Description |
|---|---|
<return> |
标定参数值类型 Returns the type of calibration parameter |
Return values
Name |
Description |
|---|---|
<return> |
返回标定参数值 Returns the value of calibration parameter |
Rte_Prm_<p>_<o>¶
<return> Rte_Prm_<p>_<o>([IN Rte_Instance <instance>])
配置访问RPort获取标定参数时生成。实现基于Port的标定参数获取。应用Runnable中根据实现逻辑进行调用。
Generated for access to calibration parameters by RPort. Called by the application Runnable according to the implementation logic.
- Service ID
0x20
- Sync/Async
Synchronous
- Reentrancy
Non Reentrant
Parameters
Dir |
Name |
Description |
|---|---|---|
[in] |
instance |
实例参数(多实例时存在,单实例时不存在) Instance parameter (exists in case of multiple instances, does not exist in case of single instance) |
Return type
Name |
Description |
|---|---|
<return> |
返回标定参数值类型,复合数据类型则返回其指针 Return the parameter value. For composite data types, the Rte_Prm API shall return a reference (in C, a pointer) to the parameter. |
Return values
Name |
Description |
|---|---|
<return> |
返回标定参数值 Returns the value of calibration parameter |
IRV通信(IRV Communication)¶
Rte_IrvIRead_<re>_<o>¶
<return> Rte_IrvIRead_<re>_<o>([IN RTE_Instance <instance>])
当配置组件内部读取隐式IRV(implicitInterRunnableVariable)数据时生成。实现组件内部隐式IRV数据的读取。应用Runnable中根据实现逻辑进行调用。
Generated for reading IRV (implicitInterRunnableVariable) data internal the component. Called by the application Runnable according to the implementation logic.
- Service ID
0x26
- Sync/Async
Synchronous
- Reentrancy
Non Reentrant
Parameters
Dir |
Name |
Description |
|---|---|---|
[in] |
instance |
实例参数(多实例时存在,单实例时不存在) Instance parameter (exists in case of multiple instances, does not exist in case of single instance) |
Return type
Name |
Description |
|---|---|
<return> |
对应的IRV的实现数据类型 The corresponding implementation data type of IRV |
Return values
Name |
Description |
|---|---|
<return> |
返回组件内IRV变量值或地址 Returns the value or address of the IRV variable within the component |
Rte_IrvIWrite_<re>_<o>¶
void Rte_IrvIWrite_<re>_<o>([IN RTE_Instance <instance>],IN <data>)
当配置组件内部写隐式IRV(implicitInterRunnableVariable)数据时生成。实现组件内部隐式IRV数据的写操作。应用Runnable中根据实现逻辑进行调用。
Generated when configuring internal writing of implicit IRV (implicitInterRunnableVariable) data within the component. It implements the writing operation of implicit IRV data inside the component. Called by the application Runnable according to the implementation logic.
- Service ID
0x27
- Sync/Async
Synchronous
- Reentrancy
Non Reentrant
Parameters
Dir |
Name |
Description |
|---|---|---|
[in] |
instance |
实例参数(多实例时存在,单实例时不存在) Instance parameter (exists in case of multiple instances, does not exist in case of single instance) |
[in] |
data |
希望写入的IRV数据 IRV data to be written |
- Return type
void
- Return values
None
Rte_IrvIWriteRef_<re>_<o>¶
<return reference> Rte_IrvIWriteRef_<re>_<o>([IN RTE_Instance <instance>])
当配置组件内部写隐式IRV(implicitInterRunnableVariable)数据时生成。实现隐式IRV变量地址的获取,供应用对地址进行写值操作。应用Runnable中根据实现逻辑进行调用。
Generated for access to the address of the implicit IRV variable for the application to write values to the address. Called by the application Runnable according to the implementation logic.
- Service ID
0x31
- Sync/Async
Synchronous
- Reentrancy
Non Reentrant
Parameters
Dir |
Name |
Description |
|---|---|---|
[in] |
instance |
实例参数(多实例时存在,单实例时不存在) Instance parameter (exists in case of multiple instances, does not exist in case of single instance) |
Return type
Name |
Description |
|---|---|
return reference |
对应的IRV的实现数据类型 The corresponding implementation data type of IRV |
Return values
Name |
Description |
|---|---|
return reference |
返回IRV变量地址 Returns the address of the IRV variable |
Rte_IrvRead_<re>_<o>¶
primitive(VALUE)数据类型:(For primitive (VALUE) data types)
<return> Rte_IrvRead_<re>_<o>([IN RTE_Instance <instance>])
complex数据类型:(For complex data types)
void Rte_[<Byps>_]IrvRead_<re>_<o>([IN RTE_Instance <instance>],OUT <data>)
配置组件内部显式读IRV(explicitInterRunnableVariable)数据时生成。实现组件内部显式IRV数据的读取。应用Runnable中根据实现逻辑进行调用。
Generated for reading of IRV (explicitInterRunnableVariable) data within the component. Called by the application Runnable according to the implementation logic.
- Service ID
0x28
- Sync/Async
Synchronous
- Reentrancy
Non Reentrant
Parameters
Dir |
Name |
Description |
|---|---|---|
[in] |
instance |
实例参数(多实例时存在,单实例时不存在) Instance parameter (exists in case of multiple instances, does not exist in case of single instance) |
[out] |
data |
读取IRV数据的指针(complex数据类型时才存在) Pointer to read IRV data (exists only for complex data types) |
Return type
Name |
Description |
|---|---|
return |
对应的IRV的实现数据类型(primitive数据类型时才存在) The corresponding implementation data type of IRV (exists only for primitive data types) |
Return values
Name |
Description |
|---|---|
return |
返回IRV数据(primitive数据类型时才存在) Returns IRV data (exists only for primitive data types) |
Rte_IrvWrite_<re>_<o>¶
void Rte_IrvWrite_<re>_<o>([IN RTE_Instance <instance>],IN <data>)
配置组件内部显式写IRV(explicitInterRunnableVariable)数据时生成。实现组件内部显式IRV数据的写操作。应用Runnable中根据实现逻辑进行调用。
Generated for writing of IRV (explicitInterRunnableVariable) data within the component. Called by the application Runnable according to the implementation logic.
- Service ID
0x29
- Sync/Async
Synchronous
- Reentrancy
Non Reentrant
Parameters
Dir |
Name |
Description |
|---|---|---|
[in] |
instance |
实例参数(多实例时存在,单实例时不存在) Instance parameter (exists in case of multiple instances, does not exist in case of single instance) |
[in] |
data |
写入的IRV数据 IRV data to be written |
- Return type
void
- Return values
None
独占区保护(Exclusive Area Protection)¶
Rte_Enter_[<re>_]<name>¶
void Rte_Enter_[<re>_]<name>([IN Rte_Instance <instance>])
当配置使用独占区canEnterExclusiveArea时生成。实现进入独占区的接口,供应用Runnable使用。应用Runnable中根据实现逻辑进行调用。
Generated for each ExclusiveArea when canEnterExclusiveArea configured for a Runnable. It provides the interface for entering the exclusive area for use by the application Runnable. Called by the application Runnable according to the implementation logic.
- Service ID
0x2A
- Sync/Async
Synchronous
- Reentrancy
Non Reentrant
Parameters
Dir |
Name |
Description |
|---|---|---|
[in] |
instance |
实例参数(多实例时存在,单实例时不存在) Instance parameter (exists in case of multiple instances, does not exist in case of single instance) |
- Return type
void
- Return values
None
Rte_Exit_[<re>_]<name>¶
void Rte_Exit_[<re>_]<name>([IN Rte_Instance <instance>])
当配置使用独占区canEnterExclusiveArea时生成。实现退出独占区的接口,供应用Runnable使用。应用Runnable中根据实现逻辑进行调用。
Generated for each ExclusiveArea when canEnterExclusiveArea configured for a Runnable. Called by the application Runnable according to the implementation logic.
- Service ID
0x2B
- Sync/Async
Synchronous
- Reentrancy
Non Reentrant
Parameters
Dir |
Name |
Description |
|---|---|---|
[in] |
instance |
实例参数(多实例时存在,单实例时不存在) Instance parameter (exists in case of multiple instances, does not exist in case of single instance) |
- Return type
void
- Return values
None
内外部触发(Internal and External Triggering)¶
Rte_Trigger_<p>_<o>¶
非队列:(Non-queued)
void Rte_Trigger_<p>_<o>([IN Rte_Instance <instance>])
队列: (Queued)
Std_ReturnType Rte_Trigger_<p>_<o>([IN Rte_Instance <instance>])
当配置了外部触发(ExternalTriggeringPoint)时生成。实现外部触发Runnable,供应用使用。应用Runnable中根据实现逻辑进行调用。
Generated when an external trigger (ExternalTriggeringPoint) is configured. The API triggers RunnableEntities associated to the Trigger base on port connection. Called by the application Runnable according to the implementation logic.
- Service ID
0x2D
- Sync/Async
Synchronous
- Reentrancy
Non Reentrant
Parameters
Dir |
Name |
Description |
|---|---|---|
[in] |
instance |
实例参数(多实例时存在,单实例时不存在) Instance parameter (exists in case of multiple instances, does not exist in case of single instance) |
- Return type
void/Std_ReturnType
Return values
Name |
Description |
|---|---|
RTE_E_OK |
The trigger was successfully queued |
RTE_E_LIMIT |
The trigger was not queued because the maximum queue size is already reached. |
Rte_IrTrigger_<re>_<o>¶
非队列:
void Rte_IrTrigger_<re>_<o>([IN Rte_Instance <instance>])
队列:
Std_ReturnType Rte_IrTrigger_<re>_<o>([IN Rte_Instance <instance>])
当Port的配置参数indirectAPI(PortAPIOption)为TRUE时生成。实现内部触发Runnable,供应用使用。应用Runnable中根据实现逻辑进行调用。
Generated when the Port configuration parameter indirectAPI (PortAPIOption) is TRUE. It implements internal triggering of the Runnable for application use. Called by the application Runnable according to the implementation logic.
- Service ID
0x2E
- Sync/Async
Synchronous
- Reentrancy
Non Reentrant
Parameters
Dir |
Name |
Description |
|---|---|---|
[in] |
instance |
实例参数(多实例时存在,单实例时不存在) Instance parameter (exists in case of multiple instances, does not exist in case of single instance) |
- Return type
void/Std_ReturnType
Return values
Name |
Description |
|---|---|
RTE_E_OK |
The trigger was successfully queued |
RTE_E_LIMIT |
The trigger was not queued because the maximum queue size is already reached. |
SchM¶
SchM实现AUTOSAR BSW模块MainFunction主函数的调度,为BSW模块提供独占区接口服务,为BSW模块间实现跨分区函数调用提供CS接口。 所有SchM接口均与应用无关,只适配BSW的实现逻辑。故只列出实现的接口清单,不对其进行详细描述。
SchM implements the scheduling of the MainFunction of the AUTOSAR BSW module, provides exclusive area interface services for BSW modules, and provides CS interfaces for cross-partition function calls between BSW modules. All SchM interfaces are irrelevant to the application and only adapt to the implementation logic of BSW. Therefore, only the list of implemented interfaces is provided without detailed descriptions.
功能分类 |
接口名 |
生成周期函数 |
SchM_Init |
SchM_Start |
|
SchM_StartTiming |
|
SchM_Deinit |
|
独占区 |
SchM_Enter |
SchM_Exit |
|
CS同步通信 |
SchM_Call |
模式管理 |
SchM_Switch |
SchM_SwitchAck |
|
SchM_Mode |
Function Category |
Interface Name |
|---|---|
Periodic Function Generation |
SchM_Init |
SchM_Start |
|
SchM_StartTiming |
|
SchM_Deinit |
|
Exclusive Area |
SchM_Enter |
SchM_Exit |
|
CS Synchronous Communication |
SchM_Call |
Mode Management |
SchM_Switch |
SchM_SwitchAck |
|
SchM_Mode |
配置(configuration)¶
RTE调度Os(Interaction of the RTE with the Os)¶
相关配置RteOsInteraction,主要涉及RTE对OsAlarm、OsTask、OsScheduleTable的启动配置。 常用场景:
The relevant configuration RteOsInteraction mainly involves the startup configuration of OsAlarm, OsTask, and OsScheduleTable by RTE. Common scenarios:
激活扩展任务;
Activate extended tasks;
激活周期事件对应的OsAlarm;
Activate OsAlarm corresponding to periodic events;
激活周期事件对应的OsScheduleTable。
Activate OsScheduleTable corresponding to periodic events.
RTE激活OsTask(RTE Activating OsTask)¶
RTE激活OsTask配置示例¶
Example of RTE activating OsTask configuration
RTE激活OsAlarm(RTE Activating OsAlarm)¶
RTE激活OsAlarm配置示例¶
Example of RTE activating OsAlarm configuration
RTE激活OsScheduleTable(RTE Activating OsScheduleTable)¶
RTE激活OsScheduleTable配置示例¶
Example of RTE activating OsScheduleTable configuration
Swc在Ecu中的配置(Configuration of Swc in Ecu)¶
相关配置RteSwcComponentInstance,将Swc实例关联至RteSoftwareComponentInstanceRef中。
Relevant configuration RteSwcComponentInstance, associating the Swc instance to RteSoftwareComponentInstanceRef.
RteSwcComponentInstance配置示例¶
Example of RteSwcComponentInstance configuration
RunnableEntity映射(RunnableEntity Mapping)¶
相关配置RteEventToTaskMapping。
Relevant configuration RteEventToTaskMapping.
将RteEvent映射至OsTask,定义Runnable在OsTask中的Position,使Task能够调度对应的RunnableEntity。
Map RteEvent to OsTask, define the Position of Runnable in OsTask, so that the Task can schedule the corresponding RunnableEntity.
映射至Basic Task(Mapping to Basic Task)¶
RunnableEntity映射至Basic Task配置示例¶
Example of RunnableEntity mapping to Basic Task configuration
Attention
映射至Basic Task的RteEvent,均不能映射OsEvent。
RteEvents mapped to Basic Task cannot be mapped to OsEvent.
映射至Extended Task(Mapping to Extended Task)¶
RunnableEntity映射至Extended Task配置示例¶
Example of RunnableEntity mapping to Extended Task configuration
Attention
映射至Extended Task的RteEvent,均需要映射OsEvent。
RteEvents mapped to Extended Task need to be mapped to OsEvent.
映射至Background Task(Mapping to Background Task)¶
Background Task即只映射了BackgroundEvent/BswBackgroundEvent事件,是不定周期Task,具体最低优先级(默认为1)且不能映射OsEvent。 Background Task由RTE激活后,在Task运行结尾使用ChainTask再次激活自己,实现不定周期特征。
Background Task is a task that only maps BackgroundEvent/BswBackgroundEvent events, it has no fixed time period and is typically activated only with lowest priority (default 1) and cannot map OsEvent. After being activated by RTE, the Background Task reactivate itself after its termination by usaged of ChainTask to achieve the aperiodic characteristic.
初始化Runnable映射(Initialization Runnable Mapping)¶
支持初始化Runnable(由InitEvent触发)映射至自定义初始化Task(Basic Task)。 如果初始化Runnable未映射至初始化Task,则由Rte_Start统一调用,由Rte_Start调用的初始化Runnable,支持在RteEventToTaskMapping中设置RtePositionInTask信息,作为在Rte_Start中调用顺序的依据,未设置位置信息的默认最后调用。
Supports mapping initialization Runnables (triggered by InitEvent) to a custom Initialization Task (Basic Task). If the initialization Runnable is not mapped to the Initialization Task, it will be directly called by Rte_Start. RtePositionInTask in RteEventToTaskMapping can be set as the calling order in Rte_Start. Those without position information set will be called last by default.
初始化Runnable映射配置示例¶
Example of initialization Runnable mapping configuration
初始化Task配置示例¶
Example of initialization Task configuration
只设置位置信息的初始化Runnable配置示例¶
Example of initialization Runnable configuration with only position information set
Attention
初始化Runnable只能映射至自定义的初始化Task中,即名称为非 iSoft_Auto_ 前缀的初始化Task。
Initialization Runnables can only be mapped to custom initialization Tasks, i.e., initialization Tasks whose names do not have the prefix iSoft_Auto_.
周期RunnableEntity映射(Periodic RunnableEntity Mapping)¶
支持OsAlarm、OsScheduleTable周期性触发OsTask或OsEvent,从而实现RunnableEntity的周期性调度。 配置的OsAlarm、OsScheduleTable以及扩展任务,需要同步在 RTE调度Os(Interaction of the RTE with the Os) 中激活。
Supports OsAlarm and OsScheduleTable to periodically trigger OsTask or OsEvent, thereby realizing periodic scheduling of RunnableEntity. The OsAlarm, OsScheduleTable, and extended tasks need to be activated synchronously in RTE调度Os(Interaction of the RTE with the Os).
OsAlarm触发Basic Task(OsAlarm Triggering Basic Task)¶
需要Basic Task映射同周期的RunnableEntity,同时设置OsAlarm的周期与RunnableEntity周期一致。
A Basic Task needs to be mapped by RunnableEntities with the same period, and the period of OsAlarm should be same with the period of the RunnableEntity.
由OsAlarm触发Basic Task配置示例¶
Example of Basic Task triggered by OsAlarm configuration
OsAlarm触发Extended Task(OsAlarm Triggering Extended Task)¶
支持一个Task映射不同周期的RunnableEntity。
Supports a Task mapping RunnableEntities with different periods.
由OsAlarm触发Extended Task配置示例¶
Example of Extended Task triggered by OsAlarm configuration
OsScheduleTable触发周期RunnableEntity(OsScheduleTable Triggering Periodic RunnableEntity)¶
采用调度表可以通过调度点设置激活偏移,从而一定程度达到均衡负载的效果。
Using OsScheduleTableExpiryPoint to set activation offsets, to achieving load balancing to a certain extent.
OsScheduleTable配置示例¶
Example of OsScheduleTable configuration
OsScheduleTableExpiryPoint配置示例¶
Example of OsScheduleTableExpiryPoint configuration
OsScheduleTableExpiryPoint激活Basic Task配置示例¶
Example of OsScheduleTableExpiryPoint activating Basic Task configuration
OsScheduleTableExpiryPoint激活OsEvent配置示例¶
Example of OsScheduleTableExpiryPoint activating OsEvent configuration
独占区配置(Exclusive Area Configuration)¶
相关配置RteExclusiveAreaImplementation。 RTE为Swc的独占区提供四个配置选择:
Relevant configuration RteExclusiveAreaImplementation. RTE provides four configuration options for the exclusive area of Swc:
ALL_INTERRUPT_BLOCKING
OS_INTERRUPT_BLOCKING
OS_RESOURCE
NONE
RteExclusiveAreaImplementation配置示例¶
Example of RteExclusiveAreaImplementation configuration
Trigger队列配置(Trigger Queue Configuration)¶
相关配置RteExternalTriggerConfig/RteInternalTriggerConfig。 RTE支持内外部队列触发,且队列长度(>=1)的ECUC配置优先级高于SWC侧的配置,即即使SWC配置的Trigger的swImplPolicy为”QUEUED”,ECUC中未配置队列长度,当作非队列处理。 当前队列触发的trigger sink需要在同一分区,建议不设置内外部触发队列。
Relevant configuration RteExternalTriggerConfig/RteInternalTriggerConfig. RTE supports internal and external queue triggering, and the ECUC configuration priority of the queue length (≥1) is higher than the configuration on the SWC side. That is, even if the swImplPolicy of the Trigger configured in SWC is “QUEUED”, if the queue length is not configured in ECUC, it will be treated as “STANDARD”. Currently, trigger sinks for queuing of trigger need to be in the same partition. It is recommended not to set internal and external trigger queues.
RteExternalTriggerConfig配置示例¶
Example of RteExternalTriggerConfig configuration
RteInternalTriggerConfig配置示例¶
Example of RteInternalTriggerConfig configuration
NvM分配(NvM Allocation)¶
通过NvMSwC来进行相关的NvM分配(Perform relevant NvM allocation through NvMSwC)¶
需要在NvMSwC的对应实例下的RteNvRamAllocation映射NvMSwC的RteSwNvBlockDescriptor和NvM模块的NvBlockDescriptor
It is necessary to map RteSwNvBlockDescriptor of NvMSwC and NvBlockDescriptor of NvM module in RteNvRamAllocation under the corresponding instance of NvMSwC.
RteNvRamAllocation通过NvMSwC来映射NvM¶
Bsw模块在Ecu中的配置(Configuration of Bsw Module in Ecu)¶
Bsw模块在Ecu中的配置依赖各Bsw模块的模块描述文件作为输入。 相关配置RteBswModuleInstance,将BswImplementation(定义在模块描述文件中)关联至RteBswImplementationRef中。
The configuration of Bsw modules in Ecu depends on Bswmd files of each Bsw module. Relevant configuration RteBswModuleInstance, associating BswImplementation (defined in Bswmd file) to RteBswImplementationRef.
RteBswModuleInstance配置示例¶
Example of RteBswModuleInstance configuration
BswSchduleEntity映射(BswSchduleEntity Mapping)¶
相关配置RteBswEventToTaskMapping。
Relevant configuration RteBswEventToTaskMapping.
将BswEvent映射至OsTask,从而使Task能够调度对应的BswSchduleEntity。
Map BswEvent to OsTask, so that the Task can schedule the corresponding BswSchduleEntity.
映射至Basic Task(Mapping to Basic Task)¶
BswSchduleEntity映射至Basic Task配置示例¶
Example of BswSchduleEntity mapping to Basic Task configuration
Attention
映射至Basic Task的BswEvent,均不能映射OsEvent。
BswEvents mapped to Basic Task cannot be mapped to OsEvent.
映射至Extended Task(Mapping to Extended Task)¶
BswSchduleEntity映射至Extended Task配置示例¶
Example of BswSchduleEntity mapping to Extended Task configuration
Attention
映射至Extended Task的BswEvent,均需要映射OsEvent。
BswEvents mapped to Extended Task need to be mapped to OsEvent.
映射至Background Task(Mapping to Background Task)¶
Background Task即只映射了BackgroundEvent/BswBackgroundEvent事件,是不定周期Task,具体最低优先级(默认为1)且不能映射OsEvent。 Background Task由RTE激活后,在Task运行结尾使用ChainTask再次激活自己,实现不定周期特征。
Background Task is a task that only maps BackgroundEvent/BswBackgroundEvent events, is an aperiodic task, has the lowest priority (default 1) and no OsEvent referenced. After being activated by RTE, the Background Task reactivate itself after its termination by usaged of ChainTask to achieve the aperiodic characteristic.
周期BswSchduleEntity映射(Periodic BswSchduleEntity Mapping)¶
支持OsAlarm、OsScheduleTable周期性触发OsTask或OsEvent,从而实现ExecutableEntity的周期性调度。 参考 周期RunnableEntity映射(Periodic RunnableEntity Mapping)。
Supports OsAlarm and OsScheduleTable to periodically trigger OsTask or OsEvent, thereby realizing periodic scheduling of ExecutableEntity. Refer to 周期RunnableEntity映射(Periodic RunnableEntity Mapping).
独占区配置(Exclusive Area Configuration)¶
相关配置RteBswExclusiveAreaImpl。 RTE为BswModule的独占区提供五个配置选择:
Relevant configuration RteBswExclusiveAreaImpl. RTE provides five configuration options for the exclusive area of BswModule:
ALL_INTERRUPT_BLOCKING
OS_INTERRUPT_BLOCKING
OS_RESOURCE
OS_SPINLOCK
NONE
RteBswExclusiveAreaImpl配置示例¶
Example of RteBswExclusiveAreaImpl configuration
独占区保护开关(Exclusive Area Protection Switch)¶
RteInExclusiveAreaCheckEnabled勾选时开启独占区保护。
Exclusive area protection is enabled when RteInExclusiveAreaCheckEnabled is checked.
- 独占区保护(Exclusive area protection):
RTE的阻塞式API,不能运行在独占区中,造成中断时间过长,引发系统问题。打开独占区保护,如果在独占区中调用阻塞式API,API会直接返回RTE_E_IN_EXCLUSIVE_AREA。
Blocking APIs of RTE cannot run in exclusive areas, as this will cause excessive interrupt time and trigger system problems. When enable RteInExclusiveAreaCheckEnabled , if a blocking API is called in an exclusive area, the API will directly return RTE_E_IN_EXCLUSIVE_AREA.
- API示例(API examples):
Rte_Call,Rte_Result,Rte_Feedback,Rte_SwitchAck,Rte_Receive等
Rte_Call, Rte_Result, Rte_Feedback, Rte_SwitchAck, Rte_Receive, etc.
RteInExclusiveAreaCheckEnabled配置示例¶
Example of RteInExclusiveAreaCheckEnabled configuration
原子型数据一致性保护开关(Atomic Data Consistency Protection Switch)¶
RteAtomicDataProtection勾选时开启原子型数据的数据一致性保护。
Atomic data consistency protection is enabled when RteAtomicDataProtection is checked.
- 数据一致性保护(Data consistency protection):
利用开关中断等手段保证数据的一致性,AUTOSAR规范要求Primitive数据同样需要进行数据一致性保护,但这样会给系统带来一定开销,可以通过开关控制是否开启对此类数据的数据一致性保护。
Ensure data consistency by means such as enabling and disabling interrupts. AUTOSAR specifications require that Primitive data also needs data consistency protection, but this will bring a certain overhead to the system. The switch can be used to control whether to enable data consistency protection for such data.
- 原子数据示例(Examples of atomic data):
映射至VALUE实现数据类型的变量等。
Variables mapped to Promitive Implementation Data Type, etc.
RteAtomicDataProtection配置示例¶
Example of RteAtomicDataProtection configuration
RTE的多核支持(Multi-Core Support of RTE)¶
分区映射(Partition Mapping)¶
Core Definition¶
EcucCoreDefinition配置示例¶
Example of EcucCoreDefinition configuration
EcucPartition分区定义(EcucPartition Definition)¶
EcucPartition需要映射至Core上,并且需要设置一个默认分区。 Swc与Bsw模块需要映射至EcucPartition,表示被划分在该分区。
EcucPartition needs to be mapped to a Core, and a default partition needs to be set up. Swc and Bsw modules need to be mapped to EcucPartition, indicating that they are divided into that partition.
EcucPartition配置示例¶
Example of EcucPartition configuration
Attention
Bsw模块只能映射至可信分区。
Bsw modules can only be mapped to trusted partitions.
OsApplication与分区配置(OsApplication and Partition Configuration)¶
OsApplication是系统对象(如OsTask、OsAlarm、OsResource等)进行分组的逻辑模块,需要与EcucPartition 1:1对应创建,承载该分区的系统资源。 OsTask、OsAlarm、OsResource等系统对象需要映射至OsApplication,表示被划分在该分区。
OsApplication is a logical module for grouping system objects (such as OsTask, OsAlarm, OsResource, etc.) and needs to be created in a 1:1 correspondence with EcucPartition to carry the system resources of that partition. System objects such as OsTask, OsAlarm, and OsResource need to be mapped to OsApplication, indicating that they are divided into that partition.
OsApplication配置示例¶
Example of OsApplication configuration
RTE启动(RTE Startup)¶
Rte_Start¶
可信分区/无分区系统(Trusted Partition / Non-Partitioned System)¶
可信分区/无分区系统由BswM调用Rte_Start,需要在BswM的配置中为可信分区添加“Rte_Start”的Action.
The trusted partition / non-partitioned system calls Rte_Start by BswM. It is necessary to add the “Rte_Start” Action for the trusted partition in the BswM configuration.
BswMModeControl配置示例¶
Example of BswMModeControl configuration
不可信分区(Untrusted Partition)¶
不可信分区由该分区的初始化Task调用Rte_Start,RTE代码默认生成。
The untrusted partition calls Rte_Start by the initialization Task of that partition, which is generated by RTE by default.
EcuM_StartupTwo¶
无分区系统(Non-Partitioned System)¶
RTE默认在名为“iSoft_Auto_DEFAULT_OsTask_Init”的初始化Task中调用EcuM_StartupTwo,继而启动SchM。
RTE calls EcuM_StartupTwo in the initialization Task named “iSoft_Auto_DEFAULT_OsTask_Init” by default, and then SchM will be startup.
多分区/多核系统(Multi-Partition / Multi-Core System)¶
RTE识别EcuM配置中的分区,以该分区的初始化Task中启动EcuM_StartupTwo。 每个核选一个分区(可信)填入EcuMFlexConfiguration的配置中,即EcuM_StartupTwo的启动数与核数相同。
RTE identifies the partitions in the EcuM configuration and starts EcuM_StartupTwo in the initialization Task of that partition. One partition (trusted) is selected for each core and filled into the configuration of EcuMFlexConfiguration, that is, the number of EcuM_StartupTwo startups is the same as the number of cores.
EcuMFlexConfiguration配置示例¶
Example of EcuMFlexConfiguration
RTE的PBS支持(PBS Support of RTE)¶
RTE不支持SWC的变体,可适配BSW模块的PBS变体,主要涉及Com及LdCom的部分变体。
RTE does not support variants of SWC, but can adapt to PBS variants of BSW modules, mainly involving some variants of Com and LdCom.
PBS支持约束(PBS Support Constraints)¶
支持Com、LdCom变体,不支持属性变体 |
Supports Com and LdCom variants; does not support attribute variants |
信号/信号组/LdComIPdu在所有变体下唯一 |
Signals/Signal groups/LdComIPdu are unique across all variants |
同一个信号/信号组在不同变体下分区需一致 |
The partition of the same signal/signal group must be consistent across different variants |
ISignalToIPduMapping在不同变体下映射的Pdu分区需一致,PduLength需相同 |
For ISignalToIPduMapping, the partition mapped by Pdu must be consistent across different variants, and PduLength must be the same |