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) |
参考文档(References)¶
编号(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)¶
术语(Terms)¶
术语(Term) |
解释(Explanation) |
|---|---|
RunnableEntity |
SWC运行实体(SWC runnable entity) |
BswSchduleEntity |
BSW模块调度实体(BSW module scheduling entity) |
ExecutableEntity |
运行实体,RunnableEntity与BswSchduleEntity的统称(Executable entity - collective term for RunnableEntity and BswSchduleEntity) |
Client-server Communication |
CS通信(Client-server communication) |
Sender-receiver Communication |
SR通信(Sender-receiver communication) |
Trigger Communication |
内外部触发(Internal and external trigger communication) |
Mode Switch Notification |
模式切换通知(Mode switch notification) |
Inter-ECU communication |
ECU间通信(Inter-ECU communication) |
Inter-Partition communication |
分区间通信(Inter-partition communication) |
Intra-ECU communication |
ECU内通信(Intra-ECU communication) |
Intra-Partition communication |
分区内通信(Intra-partition communication) |
Implicit Read |
隐式读(Implicit read) |
Implicit Write |
隐式写(Implicit write) |
Explicit Read |
显式读(Explicit read) |
Explicit Write |
显式写(Explicit write) |
Unconnected Port |
端口未连接(Unconnected port) |
Initialization Task |
初始化Task,即自启动Task(Initialization task - auto-start OS task) |
iSoft Initialization Task |
由ORIENTAIS自动创建的初始化Task(iSoft initialization task - auto-created by ORIENTAIS) |
简写(Abbreviations)¶
简写(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 implements the AUTOSAR Virtual Function Bus (VFB) for specific ECUs, comprising Rte for Applications and SchM for BSW modules. As the interface layer for AUTOSAR basic software, RTE provides a runtime environment for the entire ECU:
生成TASK函数,负责映射到Task的RunnableEntity的运行调度;
Generates TASK functions responsible for scheduling 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 and BSW instances;
为SWC实例提供标定数据读取接口,模式切换接口,独占区接口,内外部触发接口;
Provides calibration data access, mode switch notification, exclusive area, and internal/external trigger interfaces for SWC instances;
为SWC实例内部提供IRV通信接口;
Provides IRV communication interfaces within SWC instances;
为每个SWC实例提供PIM接口;
Provides PIM interfaces for each SWC instance;
SchM 作为简化版”Rte”,实现BSW间C/S通信,实现BswEntity的运行调度,为BSW数据一致性保护提供独占区接口。
SchM serves as a simplified “Rte”, implementing BSW C/S communication, scheduling BswEntities, and providing exclusive area interfaces for BSW data consistency protection.
图 1-1 AUTOSAR 体系结构(Figure 1-1 AUTOSAR Architecture)¶
功能描述(Functional Description)¶
详细描述面向应用Application的Rte功能,SchM功能适配BSW实现需求进行简要描述。
Describes Rte functions for the application layer in detail, and briefly outlines SchM functions adapted to BSW requirements.
Rte特性(Rte Features)¶
Rte实现Application RunnableEntity的调度,SWC内部通信,SWC与SWC间基于Port的通信,SWC与BSW服务间基于Port的通信。 Rte功能描述分为通用功能和具体功能点(如SR通信、CS通信等),具体功能点为面向Application直接使用的功能描述,通用功能为支撑具体功能点实现的基础功能。
Rte schedules Application RunnableEntities, handles SWC internal communication, port-based communication between SWCs, and port-based communication between SWCs and BSW services. Rte functionality is categorized into general functions and specific features (e.g., SR communication, CS communication). Specific features are directly used by applications, while general functions provide foundational support.
通用功能(General Functions)¶
数据类型:实现数据类型的定义;
Data types: Implements data type definitions;
TASK调度:调度所有映射到Task的Application RunnableEntity;
TASK scheduling: Schedules all Application RunnableEntities mapped to Tasks;
CTS实例化:SwComponentType支持多实例化;
CTS instantiation: Supports multiple instantiations of SwComponentType;
序列化:实现ECU间通信序列化SomeIpXf、ComXf、E2EXf;
Serialization: Implements inter-ECU communication serialization (SomeIpXf, ComXf, E2EXf);
生命周期:实现Rte模块的Start和Stop;
Lifecycle: Implements Rte module Start and Stop;
数据类型(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的触发。
Implements 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提供独占区保护接口。
Provides 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函数指针。
Provides 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提供组件实例内部内存空间地址。
Provides 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 external queue triggering occurs, trigger sinks within the same group must reside in the same partition.
配置 configuration¶
None
接口(Interface)¶
None
SchM的实现对模型有所简化(SchM Implementation Model Simplification)¶
SchM只需要适配BSW的实现需求,与应用无交互,因此对模型有所裁剪。
SchM only needs to adapt to BSW implementation requirements and has no interaction with applications, thus the model has been appropriately trimmed.
配置 configuration¶
None
接口(Interface)¶
None
扩展(Extension)¶
None
集成(Integration)¶
文件列表(File List)¶
静态文件(Static Files)¶
无。
None
动态文件(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 Errors)¶
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 (containing complete SWC components, BSW services, port connections, signal mappings, etc.);
完成除OS和RTE之外的所有BSW模块配置;
Complete configuration for all BSW modules except OS and RTE;
补充必要的OS信息如OS核数;
Supplement necessary OS information, such as number of OS cores;
更新全部BSW模块的模块描述文件(包括RTE本身的模块描述文件);
Update module description files for all BSW modules (including RTE’s own module description file);
进行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萃取导入 (Import ECU extract file)¶
导入ECU萃取文件后,在RTE第二界面”Pick ECU extract”中选择萃取文件中的System,点击”Synchronize ECU Extract”,将萃取文件内容进行导入RTE。
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.
导入后,RTE模块将增量为SWC实例创建RteSwcComponentInstance,并为每个RTEEvent创建RteEventToTaskMapping组件。
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调度的需求 ,内存映射信息。
Based on BSW module design, ORIENTAIS can update all or individual description files to describe BSW module requirements 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配置。
Fully automatic configuration integration automatically generates recommended demo configurations for RTE and OS modules through the RTE-OS synchronization function.
集成人员可根据实际场景,对Demo的部分配置进行微调,比如OsTask的堆栈大小等。
Integrators can fine-tune certain demo configurations based on actual scenarios, such as OsTask stack size.
RTE-OS自动同步 Synchronized RTE-OS¶
基于ECU萃取文件、BSW的模块描述文件,根据模型需求自动配置OS模块。
Automatically configures the OS module based on model requirements using ECU extract files and BSW module description files.
自动配置的内容主要分为两类:
Automated configuration content is primarily categorized into two types:
与RTE实现相关,OS必须按实现需求进行配置且客户不能修改;
RTE implementation-related configurations that must be set according to implementation requirements and cannot be modified by customers;
为客户提供配置Demo,简化客户手动配置工作量,客户根据应用场景在自动配置的基础上调整、适配。
Provides configuration demos to reduce manual configuration effort; customers can adjust and adapt these based on application scenarios.
自动配置主要实现的功能配置:
Main functional configurations implemented through automation:
周期运行实体的调度(提供OsAlarm或OsScheduleTable两种触发方式)
Scheduling of periodic runnable entities (supports OsAlarm or OsScheduleTable triggering methods)
事件型运行实体的调度
Scheduling of event-based runnable entities
SchM独占区保护的配置
Configuration of SchM exclusive area protection
OsTask的部分配置,如内部各运行实体的调度顺序、优先级等。
Partial OsTask configuration, including runnable entity scheduling order 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, all periodic triggers will be automatically configured uniformly using the selected method.
半自动配置集成 Semi-Automatic(Configuration Integration)¶
半自动配置集成主要利用RTE第二界面拖拽功能,手动将执行实体拖拽至目标OsTask,拖拽后,ORIENTAIS将根据执行实体的属性,比如周期执行实体,自动生成剩余的所有配置参数。
Semi-automatic configuration integration primarily utilizes the drag-and-drop functionality in the Rte Editor to manually place runnable entities into target OsTasks. After placement, ORIENTAIS automatically generates all remaining configuration parameters based on the runnable entity attributes, such as for periodic runnable entities.
手动创建OsTask(Manually Creating OsTask)¶
根据实际场景,手动创建Os的配置,比如创建OsTask。
Manually create OS configurations according to actual scenarios, such as creating OsTasks.
在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 target OsTasks. Based on the runnable entities’ periodic attributes, it automatically creates and associates related configurations including OsAlarm/OsScheduleTable and RteOsInteraction.
打开RTE第二界面 (Opening the Rte Editor)¶
执行实体信息显示 (Display of runnable entity information)¶
拖动执行实体至相应分区的OsTask,如果是周期执行实体,弹出激活方式选择窗口
Dragging a runnable entity to an OsTask in the corresponding partition; if it is a periodic runnable entity, an activation method selection window pops up
自动生成周期执行实体的相关Os配置 (Automatically generating relevant OS configurations for periodic runnable entities)¶
自动生成周期执行实体的RteOsInteraction配置 (Automatically generating RteOsInteraction configurations for periodic runnable entities)¶
全手动配置集成(Fully Manual Configuration Integration)¶
全手动配置集成表示RTE、OS模块完全手动配置,不借助ORIENTAIS的自动配置功能。
Fully manual configuration integration means that RTE and OS modules are configured entirely manually without using ORIENTAIS automatic configuration functions.
Application RunnableEntity桩代码生成(Application RunnableEntity Stub Code Generation)¶
可选操作,如果应用开发未完成,可使ORIENTAIS生成 Application RunnableEntity的桩代码。
Optional operation. If application development is not completed, ORIENTAIS can 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 generate both RTE and Application RunnableEntity stub code simultaneously.
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进行编译、链接。
After completing project configuration according to ORIENTAIS工具开发流程概述(Overview of ORIENTAIS Development Process) and generating all BSW dynamic configuration code (including OS, RTE, MCAL), build the code project based on the target chip and compiler. Integrate BSW static code with ORIENTAIS-generated dynamic code, plus Application RunnableEntity code (if application development is incomplete, use Application RunnableEntity桩代码生成(Application RunnableEntity Stub Code Generation) to generate application stub code). Then compile and link based on memory layout requirements and MemMap configurations for both 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进行初始化操作。
RTE generates APIs by default. Rte_Start initializes system and communication resources for the current partition. Rte_Start is scheduled by BswM in trusted partitions, and by the initialization Task in untrusted partitions. ORIENTAIS automatically configures an initialization Task for each untrusted partition, and the generated initialization Task code calls Rte_Start to perform initialization operations.
- Service ID
0x70
- Sync/Async
Synchronous
- Reentrancy
Non Reentrant
- Parameters
None
- Return type
Std_ReturnType
Return values
Name |
Description |
|---|---|
RTE_E_OK |
RTE初始化成功(RTE initialization successful) |
RTE_E_LIMIT |
RTE初始化时序有问题,初始化不成功(RTE initialization sequence issue, initialization failed) |
Rte_Stop¶
Std_ReturnType Rte_Stop(void)
RTE默认生成API。Rte_Stop释放当前分区使用的系统资源和通信资源,并关闭 RTE。根据BswM配置情况,在进入睡眠/低功耗等模式时调用
RTE generates APIs by default. Rte_Stop releases system and communication resources used by the current partition and shuts down RTE. It is called when entering sleep/low-power modes based on 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 reception notification is configured for a Signal in Com. This callback function indicates the Signal has received the latest value. When a Signal is received in the Com module, RTE is notified.
- 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 transmission acknowledgment notification is configured for a Signal in Com. This callback function indicates the Signal has been packaged into a PDU by Com and sent successfully. When a Signal is successfully transmitted in the Com module, RTE is notified.
- 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 transmission error notification is configured for a Signal in Com. This callback function indicates an error occurred during Signal transmission. When a Signal transmission error occurs in the Com module, RTE is notified.
- 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 reception invalid notification is configured for a Signal in Com. This callback function indicates the Signal received an invalid value. When the Com module receives an invalid Signal value, RTE is notified.
- 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 reception timeout is configured for a Signal in Com. This callback function indicates a reception timeout occurred for the Signal. When a Signal reception timeout occurs in the Com module, RTE is notified.
- 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 transmission timeout is configured for a Signal in Com. This callback function indicates a transmission timeout occurred for the Signal. When a Signal transmission timeout occurs in the Com module, RTE is notified.
- 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 reception notification is configured for a SignalGroup in Com. This callback function indicates the SignalGroup has received the latest values. When a SignalGroup is received in the Com module, RTE is notified.
- 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 transmission acknowledgment notification is configured for a SignalGroup in Com. This callback function indicates the SignalGroup has been packaged into a PDU by Com and sent successfully. When a SignalGroup is successfully transmitted in the Com module, RTE is notified.
- 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 transmission error notification is configured for a SignalGroup in Com. This callback function indicates an error occurred during SignalGroup transmission. When a SignalGroup transmission error occurs in the Com module, RTE is notified.
- 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 reception invalid notification is configured for a SignalGroup in Com. This callback function indicates the SignalGroup received invalid values. When the Com module receives invalid SignalGroup values, RTE is notified.
- 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 reception timeout is configured for a SignalGroup in Com. This callback function indicates a reception timeout occurred for the SignalGroup. When a SignalGroup reception timeout occurs in the Com module, RTE is notified.
- 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 transmission timeout is configured for a SignalGroup in Com. This callback function indicates a transmission timeout occurred for the SignalGroup. When a SignalGroup transmission timeout occurs in the Com module, RTE is notified.
- 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 reception notification is configured for a Signal (IF PDU) in LdCom. This callback function notifies upon Signal reception. When the LdCom module receives a Signal (IF PDU), RTE is notified.
- 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 transmission acknowledgment is configured for a Signal (IF PDU) in LdCom. This callback function indicates Signal transmission acknowledgment. When LdCom module confirms Signal transmission, RTE is notified.
- 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 target buffer and bytes to copy) |
[in] |
retry |
不会被LdCom模块及其上层模块处理(Not processed by LdCom module or 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 transmitted; requested data quantity unavailable) |
BUFREQ_E_NOT_OK |
数据未被传送(Data not 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 first frame or single frame) |
[in] |
TpSduLength |
接收总长度(Total reception length) |
[out] |
bufferSizePtr |
可用的接收buffer(Available receive buffer) |
- Return type
BufReq_ReturnType
Return values
Name |
Description |
|---|---|
BUFREQ_OK |
连接建立(Connection established) |
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 Port’s indirectAPI configuration parameter (PortAPIOption) is TRUE. Retrieves the first function pointer based on Ports for application calls. Application Runnables call this according to implementation logic.
- Service ID
0x10
- Sync/Async
Synchronous
- Reentrancy
Non Reentrant
Parameters
Dir |
Name |
Description |
|---|---|---|
[in] |
instance |
实例参数(多实例时存在,单实例时不存在)(Instance parameter (exists for multiple instances, absent for single instance)) |
Return type
Name |
Description |
|---|---|
Rte_PortHandle_<i>_<R/P/PR> |
PDS数组的首指针(First pointer of PDS array) |
Return values
Name |
Description |
|---|---|
<return> |
返回对应的PDS数组(Returns the corresponding PDS array) |
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 Port’s indirectAPI configuration parameter (PortAPIOption) is TRUE. Returns the number of Ports for the corresponding PortInterface. Application Runnables call this according to implementation logic.
- Service ID
0x11
- Sync/Async
Synchronous
- Reentrancy
Non Reentrant
Parameters
Dir |
Name |
Description |
|---|---|---|
[in] |
instance |
实例参数(多实例时存在,单实例时不存在)(Instance parameter (exists for multiple instances, absent for single instance)) |
- Return type
uint8
Return values
Name |
Description |
|---|---|
<return> |
对应PortInterface的Port个数(Number of Ports for the corresponding PortInterface) |
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 Port’s indirectAPI configuration parameter (PortAPIOption) is TRUE. Retrieves the function pointer based on the Port for application calls. Application Runnables call this according to implementation logic.
- Service ID
0x12
- Sync/Async
Synchronous
- Reentrancy
Non Reentrant
Parameters
Dir |
Name |
Description |
|---|---|---|
[in] |
instance |
实例参数(多实例时存在,单实例时不存在)(Instance parameter (exists for multiple instances, absent for single instance)) |
Return type
Name |
Description |
|---|---|
Rte_PortHandle_<i>_<R/P/PR> |
PDS指针(PDS pointer) |
Return values
Name |
Description |
|---|---|
<return> |
返回基于Port的RTE访问函数的函数指针(Returns the function pointer for Port-based RTE access functions) |
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. Implements SR explicit non-queued write operations or Nv Data write operations. Application Runnables call this according to implementation logic.
- Service ID
0x14
- Sync/Async
Synchronous
- Reentrancy
Reentrant
Parameters
Dir |
Name |
Description |
|---|---|---|
[in] |
instance |
实例参数(多实例时存在,单实例时不存在)(Instance parameter (exists for multiple instances, absent for 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 write call successful) |
RTE_E_HARD_TRANSFORMER_ERROR |
序列化/反序列化硬错误(Serialization/deserialization hard error) |
RTE_E_SOFT_TRANSFORMER_ERROR |
序列化/反序列化软错误(Serialization/deserialization soft error) |
RTE_E_COM_STOPPED |
通信模块不可用(ECU间通信)(Communication module unavailable (inter-ECU communication)) |
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 send communication or Nv data write operations. Implements SR explicit queued send operations. Application Runnables call this according to implementation logic.
- Service ID
0x13
- Sync/Async
Synchronous
- Reentrancy
Reentrant
Parameters
Dir |
Name |
Description |
|---|---|---|
[in] |
instance |
实例参数(多实例时存在,单实例时不存在)(Instance parameter (exists for multiple instances, absent for 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 write successful) |
RTE_E_LIMIT |
队列已满,事件被忽略(仅限ECU内)(Queue full, event discarded (intra-ECU only)) |
RTE_E_HARD_TRANSFORMER_ERROR |
序列化/反序列化硬错误(Serialization/deserialization hard error) |
RTE_E_SOFT_TRANSFORMER_ERROR |
序列化/反序列化软错误(Serialization/deserialization soft error) |
RTE_E_COM_STOPPED |
通信模块不可用(ECU间通信)(Communication module unavailable (inter-ECU communication)) |
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 invalid value write communication when invalid values and invalid policies are configured. Implements SR explicit non-queued invalid value write operations. Application Runnables call this according to implementation logic.
- Service ID
0x16
- Sync/Async
Synchronous
- Reentrancy
Reentrant
Parameters
Dir |
Name |
Description |
|---|---|---|
[in] |
instance |
实例参数(多实例时存在,单实例时不存在)(Instance parameter (exists for multiple instances, absent for 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 |
序列化/反序列化硬错误(Serialization/deserialization hard error) |
RTE_E_SOFT_TRANSFORMER_ERROR |
序列化/反序列化软错误(Serialization/deserialization soft error) |
RTE_E_COM_STOPPED |
通信模块不可用(ECU间通信)(Communication module unavailable (inter-ECU communication)) |
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) when transmission acknowledgment is configured. Obtains transmission acknowledgment status for SR explicit write communication (queued/non-queued). Application Runnables call this according to implementation logic.
- Service ID
0x17
- Sync/Async
Synchronous
- Reentrancy
Reentrant
Parameters
Dir |
Name |
Description |
|---|---|---|
[in] |
instance |
实例参数(多实例时存在,单实例时不存在)(Instance parameter (exists for multiple instances, absent for single instance)) |
- Return type
Std_ReturnType
Return values
Name |
Description |
|---|---|
RTE_E_NO_DATA |
没有收到发送确认也没有收到错误提示(No transmission acknowledgment or error notification received) |
RTE_E_TRANSMIT_ACK |
发送完成(Transmission completed) |
RTE_E_HARD_TRANSFORMER_ERROR |
序列化/反序列化硬错误(Serialization/deserialization hard error) |
RTE_E_SOFT_TRANSFORMER_ERROR |
序列化/反序列化软错误(Serialization/deserialization soft error) |
RTE_E_COM_STOPPED |
最后一次发送被拒绝或者在超时前收到COM的错误通知(ECU间通信)(Last transmission rejected or COM error notification received before timeout (inter-ECU communication)) |
RTE_E_TIMEOUT |
在错误通知前,产生了超时(分区间或ECU间通信)(Timeout occurred before error notification (inter-partition or inter-ECU communication)) |
RTE_E_UNCONNECTED |
发送端接口未连接(Sender port not connected) |
RTE_E_IN_EXCLUSIVE_AREA |
仅使用于阻塞型API,指示函数位于独占区中。(For blocking APIs only; indicates function is within 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). Implements SR explicit non-queued read operations or Nv Data read operations. Application Runnables call this according to implementation logic.
- Service ID
0x19
- Sync/Async
Synchronous
- Reentrancy
Reentrant
Parameters
Dir |
Name |
Description |
|---|---|---|
[in] |
instance |
实例参数(多实例时存在,单实例时不存在)(Instance parameter (exists for multiple instances, absent for 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 successful) |
RTE_E_INVALID |
收到无效数据(Invalid data received) |
RTE_E_HARD_TRANSFORMER_ERROR |
序列化/反序列化硬错误(Serialization/deserialization hard error) |
RTE_E_SOFT_TRANSFORMER_ERROR |
序列化/反序列化软错误(Serialization/deserialization soft error) |
RTE_E_COM_STOPPED |
通信模块不可用(ECU间通信)(Communication module unavailable (inter-ECU communication)) |
RTE_E_MAX_AGE_EXCEEDED |
数据过时(Data outdated) |
RTE_E_UNCONNECTED |
接收端接口未连接(Receiver port not connected) |
RTE_E_NEVER_RECEIVED |
自从系统启动后,就未接收到数据(No data received since system startup) |
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). Implements SR explicit non-queued read operations or Nv Data read operations. Application Runnables call this according to implementation logic.
- Service ID
0x1A
- Sync/Async
Synchronous
- Reentrancy
Reentrant
Parameters
Dir |
Name |
Description |
|---|---|---|
[in] |
instance |
实例参数(多实例时存在,单实例时不存在)(Instance parameter (exists for multiple instances, absent for 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的读数据值(Return the read data type 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). Implements SR explicit queued communication receive operations. Application Runnables call this according to implementation logic.
- Service ID
0x1B
- Sync/Async
Synchronous
- Reentrancy
Reentrant
Parameters
Dir |
Name |
Description |
|---|---|---|
[in] |
instance |
实例参数(多实例时存在,单实例时不存在)(Instance parameter (exists for multiple instances, absent for 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 successful) |
RTE_E_NO_DATA |
非阻塞型读取中,读取数据时,没有接收到事件且没有错误产生(No events received and no errors occurred during non-blocking read) |
RTE_E_HARD_TRANSFORMER_ERROR |
序列化/反序列化硬错误(Serialization/deserialization hard error) |
RTE_E_SOFT_TRANSFORMER_ERROR |
序列化/反序列化软错误(Serialization/deserialization soft error) |
RTE_E_LOST_DATA |
队列已满导致的数据丢失(Data lost due to full queue) |
RTE_E_TIMEOUT |
阻塞型读取中,读取数据时,没有接收到事件且没有错误产生(No events received and no errors occurred during blocking read) |
RTE_E_UNCONNECTED |
接收端接口未连接(Receiver port not connected) |
RTE_E_IN_EXCLUSIVE_AREA |
仅使用于阻塞型API,指示函数位于独占区中。(For blocking APIs only; indicates function is within 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. Implements SR implicit read or Nv data implicit read communication operations. Application Runnables call this according to implementation logic.
- Service ID
0x21
- Sync/Async
Synchronous
- Reentrancy
Reentrant
Parameters
Dir |
Name |
Description |
|---|---|---|
[in] |
instance |
实例参数(多实例时存在,单实例时不存在)(Instance parameter (exists for multiple instances, absent for single instance)) |
Return type
Name |
Description |
|---|---|
<return> |
SR隐式读数据类型(SR implicit read data type) |
Return values
Name |
Description |
|---|---|
<return> |
返回SR隐式读数据值(Returns SR implicit 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. Implements SR implicit write or Nv data implicit write operations. Application Runnables call this according to implementation logic.
- Service ID
0x22
- Sync/Async
Synchronous
- Reentrancy
Reentrant
Parameters
Dir |
Name |
Description |
|---|---|---|
[in] |
instance |
实例参数(多实例时存在,单实例时不存在)(Instance parameter (exists for multiple instances, absent for 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. Implements SR implicit write or Nv data implicit write operations (returns write data pointer for application assignment). Application Runnables call this according to implementation logic.
- Service ID
0x23
- Sync/Async
Synchronous
- Reentrancy
Reentrant
Parameters
Dir |
Name |
Description |
|---|---|---|
[in] |
instance |
实例参数(多实例时存在,单实例时不存在)(Instance parameter (exists for multiple instances, absent for 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 for SR explicit write communication with invalid values and invalid policies configured. Implements SR implicit write invalid value communication. Application Runnables call this according to implementation logic.
- Service ID
0x24
- Sync/Async
Synchronous
- Reentrancy
Reentrant
Parameters
Dir |
Name |
Description |
|---|---|---|
[in] |
instance |
实例参数(多实例时存在,单实例时不存在)(Instance parameter (exists for multiple instances, absent for 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 for SR implicit read communication when reception status conditions are met. Implements SR implicit read status acquisition operations. Application Runnables call this according to implementation logic.
- Service ID
0x25
- Sync/Async
Synchronous
- Reentrancy
Reentrant
Parameters
Dir |
Name |
Description |
|---|---|---|
[in] |
instance |
实例参数(多实例时存在,单实例时不存在)(Instance parameter (exists for multiple instances, absent for single instance)) |
[out] |
transformerError |
序列化错误参数(Serialization error parameter) |
- Return type
Std_ReturnType
Return values
Name |
Description |
|---|---|
RTE_E_OK |
无错误产生(No errors occurred) |
RTE_E_INVALID |
数据无效(Data invalid) |
RTE_E_HARD_TRANSFORMER_ERROR |
序列化/反序列化硬错误(Serialization/deserialization hard error) |
RTE_E_SOFT_TRANSFORMER_ERROR |
序列化/反序列化软错误(Serialization/deserialization soft error) |
RTE_E_COM_STOPPED |
通信模块不可用(ECU间通信)(Communication module unavailable (inter-ECU communication)) |
RTE_E_NEVER_RECEIVED |
自系统启动就未收到数据(No data received since system startup) |
RTE_E_UNCONNECTED |
接收端接口未连接(Receiver port not connected) |
RTE_E_MAX_AGE_EXCEEDED |
数据过时(Data outdated) |
Rte_IFeedback_<re>_<p>_<o>¶
Std_ReturnType Rte_IFeedback_<re>_<p>_<o>([IN RTE_Instance <instance>])
SR隐式写通信且配置了发送确认时生成。实现SR隐式写通信发送确认状态获取。应用Runnable中根据实现逻辑进行调用。
Generated for SR implicit write communication with transmission acknowledgment configured. Implements SR implicit write communication transmission acknowledgment status acquisition. Application Runnables call this according to implementation logic.
- Service ID
0x2F
- Sync/Async
Synchronous
- Reentrancy
Reentrant
Parameters
Dir |
Name |
Description |
|---|---|---|
[in] |
instance |
实例参数(多实例时存在,单实例时不存在)(Instance parameter (exists for multiple instances, absent for single instance)) |
[out] |
transformerError |
序列化错误参数(Serialization error parameter) |
- Return type
Std_ReturnType
Return values
Name |
Description |
|---|---|
RTE_E_NO_DATA |
函数启动后,没有收到发送确认或者错误通知。(No transmission acknowledgment or error notification received after function start) |
RTE_E_HARD_TRANSFORMER_ERROR |
序列化/反序列化硬错误(Serialization/deserialization hard error) |
RTE_E_SOFT_TRANSFORMER_ERROR |
序列化/反序列化软错误(Serialization/deserialization soft error) |
RTE_E_COM_STOPPED |
最后一个发送被拒绝(ECU间通信)(Last transmission rejected (inter-ECU communication)) |
RTE_E_TIMEOUT |
发送超时(ECU间通信)(Transmission timeout (inter-ECU communication)) |
RTE_E_UNCONNECTED |
客户端接口未连接(Client port not connected) |
RTE_E_TRANSMIT_ACK |
收到发送确认(Transmission acknowledgment received) |
Rte_IsUpdated_<p>_<o>¶
boolean Rte_IsUpdated_<p>_<o>([IN RTE_Instance <instance>])
SR显式非队列读通信且使能了更新机制时生成。实现SR显式非队列读通信更新状态获取。应用Runnable中根据实现逻辑进行调用。
Generated for SR explicit non-queued read communication with update mechanism enabled. Implements SR explicit non-queued read communication update status acquisition. Application Runnables call this according to implementation logic.
- Service ID
0x30
- Sync/Async
Synchronous
- Reentrancy
Reentrant
Parameters
Dir |
Name |
Description |
|---|---|---|
[in] |
instance |
实例参数(多实例时存在,单实例时不存在)(Instance parameter (exists for multiple instances, absent for single instance)) |
[out] |
transformerError |
序列化错误参数(Serialization error parameter) |
- Return type
boolean
Return values
Name |
Description |
|---|---|
TRUE |
自上次读完后,数据已被更新(Data updated since last read) |
FALSE |
自上次读完后,数据还未被更新(Data 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 access. Implements CS synchronous/asynchronous service request communication (asynchronous without OUT parameters). Application Runnables call this according to implementation logic.
- Service ID
0x1C
- Sync/Async
Synchronous/Asynchronous
- Reentrancy
Non Reentrant
Parameters
Dir |
Name |
Description |
|---|---|---|
[in] |
instance |
实例参数(多实例时存在,单实例时不存在)(Instance parameter (exists for multiple instances, absent for 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调用成功(API call successful) |
RTE_E_LIMIT |
达到最大并发数,无法处理新的请求,该次请求被拒绝,返回参数的缓冲区未被修改(Maximum concurrency reached; request rejected; return parameter buffers unmodified) |
RTE_E_HARD_TRANSFORMER_ERROR |
序列化/反序列化硬错误(Serialization/deserialization hard error) |
RTE_E_SOFT_TRANSFORMER_ERROR |
序列化/反序列化软错误(Serialization/deserialization soft error) |
RTE_E_COM_STOPPED |
通信模块不可用(ECU间通信)(Communication module unavailable (inter-ECU communication)) |
RTE_E_TIMEOUT |
服务请求超时(任务间或ECU间通信)(Service request timeout (inter-task or inter-ECU communication)) |
RTE_E_UNCONNECTED |
客户端接口未连接(Client port not connected) |
RTE_E_IN_EXCLUSIVE_AREA |
阻塞API调用时,调用方处于独占区内(Caller in exclusive area during blocking API call) |
RTE_E_TIMEOUT |
RTE未初始化完成(RTE not fully initialized) |
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 from CS asynchronous communication. Implements CS asynchronous communication result retrieval. Application Runnables call this according to implementation logic.
- Service ID
0x1D
- Sync/Async
Synchronous
- Reentrancy
Non Reentrant
Parameters
Dir |
Name |
Description |
|---|---|---|
[in] |
instance |
实例参数(多实例时存在,单实例时不存在)(Instance parameter (exists for multiple instances, absent for 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调用成功(API call successful) |
RTE_E_LIMIT |
达到最大并发数,无法处理新的请求,该次请求被拒绝,返回参数的缓冲区未被修改(Maximum concurrency reached; request rejected; return parameter buffers unmodified) |
RTE_E_HARD_TRANSFORMER_ERROR |
序列化/反序列化硬错误(Serialization/deserialization hard error) |
RTE_E_SOFT_TRANSFORMER_ERROR |
序列化/反序列化软错误(Serialization/deserialization soft error) |
RTE_E_COM_STOPPED |
通信模块不可用(ECU间通信)(Communication module unavailable (inter-ECU communication)) |
RTE_E_TIMEOUT |
服务请求超时(任务间或ECU间通信)(Service request timeout (inter-task or inter-ECU communication)) |
RTE_E_UNCONNECTED |
客户端接口未连接(Client port not connected) |
RTE_E_IN_EXCLUSIVE_AREA |
阻塞API调用时,调用方处于独占区内(Caller in exclusive area during blocking API call) |
RTE_E_TIMEOUT |
RTE未初始化完成(RTE not fully initialized) |
RTE_E_NO_DATA |
Server端结果不可用(Server result unavailable) |
模式管理(Mode Management)¶
Rte_Switch_<p>_<o>¶
Std_ReturnType Rte_Switch_<p>_<o>([IN Rte_Instance <instance>],IN <mode>)
配置模式切换请求(ModeSwitchPoint)时生成。实现模式切换请求。应用Runnable中根据实现逻辑进行调用。
Generated when mode switch request (ModeSwitchPoint) is configured. Implements mode switch request operations. Application Runnables call this according to implementation logic.
- Service ID
0x15
- Sync/Async
Asynchronous
- Reentrancy
Non Reentrant
Parameters
Dir |
Name |
Description |
|---|---|---|
[in] |
instance |
实例参数(多实例时存在,单实例时不存在)(Instance parameter (exists for multiple instances, absent for single instance)) |
[in] |
mode |
切换的目标模式(Target mode for switching) |
- Return type
Std_ReturnType
Return values
Name |
Description |
|---|---|
RTE_E_OK |
模式切换发送成功(Mode switch sent successfully) |
RTE_E_LIMIT |
模式切换队列满,或RTE未启动(Mode switch queue full, or RTE not started) |
Rte_SwitchAck_<p>_<o>¶
Std_ReturnType Rte_SwitchAck_<p>_<o>([IN Rte_Instance <instance>])
配置模式切换确认请求(ModeSwitchedAckRequest)时生成。获取当前模式请求的执行状态。应用Runnable中根据实现逻辑进行调用。
Generated when mode switch acknowledgment request (ModeSwitchedAckRequest) is configured. Retrieves execution status of current mode request. Application Runnables call this according to implementation logic.
- Service ID
0x18
- Sync/Async
Synchronous
- Reentrancy
Non Reentrant
Parameters
Dir |
Name |
Description |
|---|---|---|
[in] |
instance |
实例参数(多实例时存在,单实例时不存在)(Instance parameter (exists for multiple instances, absent for single instance)) |
- Return type
Std_ReturnType
Return values
Name |
Description |
|---|---|
RTE_E_NO_DATA (non-blocking read) |
模式切换正在切换中(非阻塞Rte_SwitchAck)(Mode switch in progress (non-blocking Rte_SwitchAck)) |
RTE_E_TIMEOUT |
模式切换超时(Mode switch timeout) |
RTE_E_TRANSMIT_ACK |
模式切换完成(Mode switch completed) |
RTE_E_UNCONNECTED |
模式切换端口未连接(Mode switch port not connected) |
RTE_E_IN_EXCLUSIVE_AREA |
Runnable正在独占区中,拒绝阻塞式Rte_SwitchAck执行(Runnable in exclusive area; blocking Rte_SwitchAck rejected) |
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中根据实现逻辑进行调用。
Generated when mode access (ModeAccessPoint) is configured. Standard interface generated when enhancedModeApi is false; enhanced interface generated when enhancedModeApi is true. Implements current mode acquisition (in enhanced mode, also acquires previous and next modes). Application Runnables call this according to implementation logic.
- Service ID
0x2C
- Sync/Async
Synchronous
- Reentrancy
Non Reentrant
Parameters
Dir |
Name |
Description |
|---|---|---|
[in] |
instance |
实例参数(多实例时存在,单实例时不存在)(Instance parameter (exists for multiple instances, absent for 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> |
模式切换正在切换中(Mode switch in progress) |
RTE_MODE_<ModeDeclarationGroup>_<ModeDeclaration> |
当前模式(Current 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 instance memory (PerInstanceMemory or arTypedPerInstanceMemory) is configured. Implements PIM memory address acquisition. Application Runnables call this according to implementation logic.
- Service ID
0x1E
- Sync/Async
Synchronous
- Reentrancy
Non Reentrant
Parameters
Dir |
Name |
Description |
|---|---|---|
[in] |
instance |
实例参数(多实例时存在,单实例时不存在)(Instance parameter (exists for multiple instances, absent for 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 when accessing internal calibration parameters (perInstanceParameter or sharedParameter) is configured. Implements component internal calibration parameter acquisition. Application Runnables call this according to implementation logic.
- Service ID
0x1F
- Sync/Async
Synchronous
- Reentrancy
Non Reentrant
Parameters
Dir |
Name |
Description |
|---|---|---|
[in] |
instance |
实例参数(多实例时存在,单实例时不存在)(Instance parameter (exists for multiple instances, absent for single instance)) |
Return type
Name |
Description |
|---|---|
<return> |
标定参数值类型(Calibration parameter value type) |
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 when accessing calibration parameters via RPort is configured. Implements port-based calibration parameter acquisition. Application Runnables call this according to implementation logic.
- Service ID
0x20
- Sync/Async
Synchronous
- Reentrancy
Non Reentrant
Parameters
Dir |
Name |
Description |
|---|---|---|
[in] |
instance |
实例参数(多实例时存在,单实例时不存在)(Instance parameter (exists for multiple instances, absent for single instance)) |
Return type
Name |
Description |
|---|---|
<return> |
返回标定参数值类型,复合数据类型则返回其指针(Returns parameter value type; returns pointer for composite data types) |
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 when reading implicit IRV (implicitInterRunnableVariable) data within the component is configured. Implements reading of component internal implicit IRV data. Application Runnables call this according to implementation logic.
- Service ID
0x26
- Sync/Async
Synchronous
- Reentrancy
Non Reentrant
Parameters
Dir |
Name |
Description |
|---|---|---|
[in] |
instance |
实例参数(多实例时存在,单实例时不存在)(Instance parameter (exists for multiple instances, absent for single instance)) |
Return type
Name |
Description |
|---|---|
<return> |
对应的IRV的实现数据类型(Corresponding IRV implementation data type) |
Return values
Name |
Description |
|---|---|
<return> |
返回组件内IRV变量值或地址(Returns IRV variable value or address within component) |
Rte_IrvIWrite_<re>_<o>¶
void Rte_IrvIWrite_<re>_<o>([IN RTE_Instance <instance>],IN <data>)
当配置组件内部写隐式IRV(implicitInterRunnableVariable)数据时生成。实现组件内部隐式IRV数据的写操作。应用Runnable中根据实现逻辑进行调用。
Generated when writing implicit IRV (implicitInterRunnableVariable) data within the component is configured. Implements writing of component internal implicit IRV data. Application Runnables call this according to implementation logic.
- Service ID
0x27
- Sync/Async
Synchronous
- Reentrancy
Non Reentrant
Parameters
Dir |
Name |
Description |
|---|---|---|
[in] |
instance |
实例参数(多实例时存在,单实例时不存在)(Instance parameter (exists for multiple instances, absent for 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 when writing implicit IRV (implicitInterRunnableVariable) data within the component is configured. Implements implicit IRV variable address acquisition for application write operations. Application Runnables call this according to implementation logic.
- Service ID
0x31
- Sync/Async
Synchronous
- Reentrancy
Non Reentrant
Parameters
Dir |
Name |
Description |
|---|---|---|
[in] |
instance |
实例参数(多实例时存在,单实例时不存在)(Instance parameter (exists for multiple instances, absent for single instance)) |
Return type
Name |
Description |
|---|---|
return reference |
对应的IRV的实现数据类型(Corresponding IRV implementation data type) |
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 when reading explicit IRV (explicitInterRunnableVariable) data within the component is configured. Implements reading of component internal explicit IRV data. Application Runnables call this according to implementation logic.
- Service ID
0x28
- Sync/Async
Synchronous
- Reentrancy
Non Reentrant
Parameters
Dir |
Name |
Description |
|---|---|---|
[in] |
instance |
实例参数(多实例时存在,单实例时不存在)(Instance parameter (exists for multiple instances, absent for single instance)) |
[out] |
data |
读取IRV数据的指针(complex数据类型时才存在)(Pointer to read IRV data (exists only for complex data types)) |
Return type
Name |
Description |
|---|---|
return |
对应的IRV的实现数据类型(primitive数据类型时才存在)(Corresponding IRV implementation data type (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 when writing explicit IRV (explicitInterRunnableVariable) data within the component is configured. Implements writing of component internal explicit IRV data. Application Runnables call this according to implementation logic.
- Service ID
0x29
- Sync/Async
Synchronous
- Reentrancy
Non Reentrant
Parameters
Dir |
Name |
Description |
|---|---|---|
[in] |
instance |
实例参数(多实例时存在,单实例时不存在)(Instance parameter (exists for multiple instances, absent for 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 when exclusive area canEnterExclusiveArea is configured. Implements exclusive area entry interface for application Runnables. Application Runnables call this according to implementation logic.
- Service ID
0x2A
- Sync/Async
Synchronous
- Reentrancy
Non Reentrant
Parameters
Dir |
Name |
Description |
|---|---|---|
[in] |
instance |
实例参数(多实例时存在,单实例时不存在)(Instance parameter (exists for multiple instances, absent for 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 when exclusive area canEnterExclusiveArea is configured. Implements exclusive area exit interface for application Runnables. Application Runnables call this according to implementation logic.
- Service ID
0x2B
- Sync/Async
Synchronous
- Reentrancy
Non Reentrant
Parameters
Dir |
Name |
Description |
|---|---|---|
[in] |
instance |
实例参数(多实例时存在,单实例时不存在)(Instance parameter (exists for multiple instances, absent for 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 external trigger (ExternalTriggeringPoint) is configured. Implements external Runnable triggering for application use. Application Runnables call this according to implementation logic.
- Service ID
0x2D
- Sync/Async
Synchronous
- Reentrancy
Non Reentrant
Parameters
Dir |
Name |
Description |
|---|---|---|
[in] |
instance |
实例参数(多实例时存在,单实例时不存在)(Instance parameter (exists for multiple instances, absent for 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>¶
非队列:(Queue)
void Rte_IrTrigger_<re>_<o>([IN Rte_Instance <instance>])
队列: (Non-queue)
Std_ReturnType Rte_IrTrigger_<re>_<o>([IN Rte_Instance <instance>])
当Port的配置参数indirectAPI(PortAPIOption)为TRUE时生成。实现内部触发Runnable,供应用使用。应用Runnable中根据实现逻辑进行调用。
Generated when the Port’s indirectAPI configuration parameter (PortAPIOption) is TRUE. Implements internal Runnable triggering for application use. Application Runnables call this according to implementation logic.
- Service ID
0x2E
- Sync/Async
Synchronous
- Reentrancy
Non Reentrant
Parameters
Dir |
Name |
Description |
|---|---|---|
[in] |
instance |
实例参数(多实例时存在,单实例时不存在)(Instance parameter (exists for multiple instances, absent for 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 schedules AUTOSAR BSW module MainFunction execution, provides exclusive area interfaces for BSW modules, and implements CS interfaces for cross-partition function calls between BSW modules. All SchM interfaces are application-independent and adapt solely to BSW implementation logic. Therefore, only the interface list 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 RteOsInteraction configuration primarily involves RTE startup configuration for OsAlarm, OsTask, and OsScheduleTable. Common scenarios:
激活扩展任务;
Activating extended tasks;
激活周期事件对应的OsAlarm;
Activating OsAlarm for periodic events;
激活周期事件对应的OsScheduleTable。
Activating OsScheduleTable for 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)¶
Example of RTE activating OsAlarm configuration
RTE激活OsScheduleTable(RTE Activating OsScheduleTable)¶
RTE激活OsScheduleTable配置示例 (Example of RTE activating OsScheduleTable configuration)¶
Example of RTE activating OsScheduleTable configuration
Swc在Ecu中的配置(Configuration of SWC in ECU)¶
相关配置RteSwcComponentInstance,将Swc实例关联至RteSoftwareComponentInstanceRef中。
The RteSwcComponentInstance configuration associates SWC instances with RteSoftwareComponentInstanceRef.
RteSwcComponentInstance配置示例 (Example of RteSwcComponentInstance configuration)¶
Example of RteSwcComponentInstance configuration
RunnableEntity映射(RunnableEntity Mapping)¶
相关配置RteEventToTaskMapping。
Relevant configuration: RteEventToTaskMapping.
将RteEvent映射至OsTask,定义Runnable在OsTask中的Position,使Task能够调度对应的RunnableEntity。
Maps RteEvent to OsTask, defines Runnable position within OsTask, enabling Task to schedule 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 map OsEvent.
映射至Extended(Task Mapping to Extended Task)¶
RunnableEntity映射至Extended Task配置示例 (Example of RunnableEntity mapping to Extended Task configuration)¶
Example of RunnableEntity mapping to Extended Task configuration
Attention
映射至Extended Task的RteEvent,均需要映射OsEvent。
RteEvents mapped to Extended Task must map OsEvent.
映射至Background(Task Mapping to Background Task)¶
Background Task即只映射了BackgroundEvent/BswBackgroundEvent事件,是不定周期Task,具体最低优先级(默认为1)且不能映射OsEvent。 Background Task由RTE激活后,在Task运行结尾使用ChainTask再次激活自己,实现不定周期特征。
Background Task maps only BackgroundEvent/BswBackgroundEvent events, is aperiodic, has lowest priority (default 1), and cannot map OsEvent. After RTE activation, Background Task reactivates itself using ChainTask upon termination to achieve aperiodic behavior.
初始化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 custom Initialization Task (Basic Task). If not mapped to Initialization Task, initialization Runnables are called by Rte_Start. RtePositionInTask in RteEventToTaskMapping determines calling order in Rte_Start; unmapped Runnables are 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 periodically triggering OsTask or OsEvent to achieve periodic scheduling of RunnableEntity. Configured OsAlarm, OsScheduleTable, and extended tasks must be synchronously activated in RTE调度Os(Interaction of the RTE with the OS).
OsAlarm触发Basic(Task OsAlarm Triggering Basic Task)¶
需要Basic Task映射同周期的RunnableEntity,同时设置OsAlarm的周期与RunnableEntity周期一致。
Requires Basic Task to map RunnableEntities with the same period, and set OsAlarm period to match the RunnableEntity period.
由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 schedule tables with expiry points to set activation offsets can achieve load balancing to some 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 SWC exclusive areas:
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, with ECUC queue length (≥1) configuration taking priority over SWC-side configuration. Even if SWC Trigger swImplPolicy is “QUEUED”, unconfigured queue length in ECUC results in “STANDARD” treatment. Currently, queued trigger sinks must reside in the same partition. Configuring internal/external trigger queues is not recommended.
RteExternalTriggerConfig配置示例 (Example of RteExternalTriggerConfig configuration)¶
RteInternalTriggerConfig配置示例 (Example of RteInternalTriggerConfig configuration)¶
NvM分配(NvM Allocation)¶
通过NvMSwC来进行相关的NvM分配(NvM Allocation via NvMSwC)¶
需要在NvMSwC的对应实例下的RteNvRamAllocation映射NvMSwC的RteSwNvBlockDescriptor和NvM模块的NvBlockDescriptor
RteNvRamAllocation under corresponding NvMSwC instances must map NvMSwC RteSwNvBlockDescriptor to NvM module NvBlockDescriptor.
RteNvRamAllocation通过NvMSwC来映射NvM (RteNvRamAllocation mapping NvM via NvMSwC)¶
Bsw模块在Ecu中的配置(Configuration of BSW Module in ECU)¶
Bsw模块在Ecu中的配置依赖各Bsw模块的模块描述文件作为输入。 相关配置RteBswModuleInstance,将BswImplementation(定义在模块描述文件中)关联至RteBswImplementationRef中。
BSW module configuration in ECU relies on BSW module description files as input. Relevant configuration RteBswModuleInstance associates BswImplementation (defined in BSW module description file) with RteBswImplementationRef.
RteBswModuleInstance配置示例 (Example of RteBswModuleInstance configuration)¶
BswSchduleEntity映射(BswSchduleEntity Mapping)¶
相关配置RteBswEventToTaskMapping。
Relevant configuration RteBswEventToTaskMapping.
将BswEvent映射至OsTask,从而使Task能够调度对应的BswSchduleEntity。
Maps BswEvent to OsTask, enabling Task to schedule 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 map 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 must map OsEvent.
映射至Background(Task Mapping to Background Task)¶
Background Task即只映射了BackgroundEvent/BswBackgroundEvent事件,是不定周期Task,具体最低优先级(默认为1)且不能映射OsEvent。 Background Task由RTE激活后,在Task运行结尾使用ChainTask再次激活自己,实现不定周期特征。
Background Task maps only BackgroundEvent/BswBackgroundEvent events, is aperiodic, has lowest priority (default 1), and cannot map OsEvent. After RTE activation, Background Task reactivates itself using ChainTask upon termination to achieve aperiodic behavior.
周期BswSchduleEntity映射(Periodic BswSchduleEntity Mapping)¶
支持OsAlarm、OsScheduleTable周期性触发OsTask或OsEvent,从而实现ExecutableEntity的周期性调度。 参考 周期RunnableEntity映射(Periodic RunnableEntity Mapping)。
Supports OsAlarm and OsScheduleTable periodically triggering OsTask or OsEvent to achieve 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 BSW module exclusive areas:
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 selected.
- 独占区保护 Exclusive area protection:
RTE的阻塞式API,不能运行在独占区中,造成中断时间过长,引发系统问题。打开独占区保护,如果在独占区中调用阻塞式API,API会直接返回RTE_E_IN_EXCLUSIVE_AREA。
RTE blocking APIs cannot execute within exclusive areas, as this causes excessive interrupt latency and system issues. When exclusive area protection is enabled, calling blocking APIs within exclusive areas returns RTE_E_IN_EXCLUSIVE_AREA directly.
- 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 selected.
- 数据一致性保护 Data consistency protection:
利用开关中断等手段保证数据的一致性,AUTOSAR规范要求Primitive数据同样需要进行数据一致性保护,但这样会给系统带来一定开销,可以通过开关控制是否开启对此类数据的数据一致性保护。
Ensures data consistency through methods like interrupt disabling. AUTOSAR specifications require primitive data to have consistency protection, but this introduces system overhead. The switch controls whether to enable consistency protection for such data.
- 原子数据示例 Examples of atomic data:
映射至VALUE实现数据类型的变量等。
Variables mapped to primitive implementation data types, 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 must be mapped to a Core, and a default partition must be established. SWC and BSW modules must be mapped to EcucPartition, indicating assignment to 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 grouping system objects (e.g., OsTask, OsAlarm, OsResource) and must be created in 1:1 correspondence with EcucPartition to host partition system resources. System objects like OsTask, OsAlarm, and OsResource must be mapped to OsApplication, indicating assignment to that partition.
OsApplication配置示例 (Example of OsApplication configuration)¶
RTE启动(RTE Startup)¶
Rte_Start¶
可信分区/无分区系统 Trusted Partition / Non-Partitioned(System)¶
可信分区/无分区系统由BswM调用Rte_Start,需要在BswM的配置中为可信分区添加”Rte_Start”的Action。
Trusted partitions/non-partitioned systems call Rte_Start via BswM. The “Rte_Start” Action must be added for trusted partitions in BswM configuration.
BswMModeControl配置示例 (Example of BswMModeControl configuration)¶
不可信分区(Untrusted Partition)¶
不可信分区由该分区的初始化Task调用Rte_Start,RTE代码默认生成。
Untrusted partitions call Rte_Start via their initialization Task, 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, subsequently starting SchM.
多分区/多核系统 Multi-Partition / Multi-Core(System)¶
RTE识别EcuM配置中的分区,以该分区的初始化Task中启动EcuM_StartupTwo。 每个核选一个分区(可信)填入EcuMFlexConfiguration的配置中,即EcuM_StartupTwo的启动数与核数相同。
RTE identifies partitions in EcuM configuration and starts EcuM_StartupTwo within each partition’s initialization Task. One trusted partition per core is selected for EcuMFlexConfiguration, so EcuM_StartupTwo starts match core count.
EcuMFlexConfiguration配置示例 (Example of EcuMFlexConfiguration configuration)¶
RTE的PBS支持(PBS Support of RTE)¶
RTE不支持SWC的变体,可适配BSW模块的PBS变体,主要涉及Com及LdCom的部分变体。
RTE does not support SWC variants but adapts to BSW module PBS variants, primarily involving certain Com and LdCom variants.
PBS支持约束(PBS Support Constraints)¶
支持Com、LdCom变体,不支持属性变体 |
Supports Com and LdCom variants; does not support attribute variants |
信号/信号组/LdComIPdu在所有变体下唯一 |
Signals/signal groups/LdComIPdu must be unique across all variants |
同一个信号/信号组在不同变体下分区需一致 |
Partitions for identical signals/signal groups must be consistent across variants |
ISignalToIPduMapping在不同变体下映射的Pdu分区需一致,PduLength需相同 |
ISignalToIPduMapping must have consistent Pdu partitions and identical PduLength across variants |