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.

../../../_images/RTE_1_1.png

图 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_Start、Rte_Stop、SchM_Init等);(Lifecycle function definitions (Rte_Start, Rte_Stop, SchM_Init, etc.))

  • 定义多实例变量(Rte_Instance)、公用状态变量(类似Rte_State等);(Multi-instance variable definitions (Rte_Instance), common state variables (e.g., Rte_State))

  • 定义OsTask,填充其内容;(OsTask definitions and task body implementations)

  • 定义临界区访问函数;(Rte_Enter/Rte_Exit等);(Exclusive area access function definitions (Rte_Enter/Rte_Exit, etc.))

  • 定义Com/LdCom通信的回调函数,如Rte_Cbkxxx等;(Callback function definitions for Com/LdCom communication (e.g., Rte_Cbkxxx))

  • 定义与关联SWC有关的接口,如Rte_Write/Rte_Read等;(Interface definitions for associated SWCs (e.g., Rte_Write/Rte_Read))

Rte_<Swc>.h

包含如下内容:(Contains the following contents:)

  • SWC定义的RteEvent触发的Runnable函数声明;(Declaration of Runnable functions triggered by SWC-defined RteEvents)

  • SWC的Runnable中要用到的Rte函数的声明,如Rte_Write等;(Declaration of Rte functions used in SWC Runnables (e.g., Rte_Write))

  • 定义CDS结构(Rte_Instance);(CDS structure definition (Rte_Instance))

  • 定义S/R(或者NV)端口配置的初始值;(Initial value definition for S/R (or NV) port configuration)

  • 定义PerInstanceMemory类型;(PerInstanceMemory type definition)

  • 定义C/S通信的应用特定的错误返回类型值;(Application-specific error return type definition for C/S communication)

Rte_<Swc>_Type.h

包含如下内容:(Contains the following contents:)

  • 定义Enumeration Data Types (5.5.4);(Enumeration Data Types definition (5.5.4))

  • 定义Range Data Types (5.5.5);(Range Data Types definition (5.5.5))

  • 重定义定义Implementation Data Type symbols;(Implementation Data Type symbols redefinition)

Rte_Cbk.h

包含如下内容:(Contains the following contents:)

  • 回调函数头文件;(Callback functions header file)

Rte_DataHandleType.h

包含如下内容:(Contains the following contents:)

  • 定义CDS结构里面Data Handle Type结构体;(Definition of Data Handle Type structure within CDS structure)

  • data element without status;(Data element without status)

  • data element with status;(Data element with status)

  • data element with extended status;(Data element with extended status)

Rte_Type.h

包含如下内容:(Contains the following contents:)

  • 针对所有的AUTOSAR Data Types:type declarations、structure defintions以及union definitions;(For all AUTOSAR Data Types: type declarations, structure definitions and union definitions)

  • 定义Inter-ECU C/S通信的数据结构Rte_Cs_TransactionHandleType;(Definition of Rte_Cs_TransactionHandleType data structure for Inter-ECU C/S communication)

  • 定义RTE Modes;(Definition of RTE Modes)

Rte_Main.h

包含如下内容:(Contains the following contents:)

  • 声明生命周期函数;(Declaration of lifecycle functions)

Rte.h

包含如下内容:(Contains the following contents:)

  • 定义版本号;(Version number definition)

  • 定义错误返回值;(Error return value definition)

SchM.h

包含如下内容:(Contains the following contents:)

  • SchM 外部函数的声明;(Declaration of SchM external functions)

SchM.c

包含如下内容:(Contains the following contents:)

  • SchM 生命周期函数定义;(Definition of SchM lifecycle functions)

  • SchM 内部函数的实现;(Implementation of SchM internal functions)

SchM_Type.h

包含如下内容:(Contains the following contents:)

  • SchM 内部数据类型/宏定义的实现;(Implementation of SchM internal data types/macro definitions)

SchM_Internal.h

包含如下内容:(Contains the following contents:)

  • SchM 内部函数的声明;(Declaration of SchM internal functions)

SchM_<Mip>.h

包含如下内容:(Contains the following contents:)

  • SchM 接口声明;(SchM interface declarations)

  • BswSchduleEntity和BswCalledEntity原型声明;(BswSchduleEntity and BswCalledEntity prototype declarations)

SchM_<Mip>_Type.h

包含如下内容:(Contains the following contents:)

  • Bsw模块使用的数据类型定义;(Data type definitions for BSW modules)

SchM_<Mip>.c

包含如下内容:(Contains the following contents:)

  • SchM接口实现;(SchM interface implementation)

错误处理(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:

    1. 全自动配置集成:通过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);

    2. 半自动配置集成:手动创建OsTask,通过RTE第二界面手动拖拽Runnable至目标OsTask;

      Semi-automatic configuration integration: Manually create OsTask, then manually drag and drop Runnable to the target OsTask through “Rte Editor”;

    3. 全手动配置集成: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)

../../../_images/RTE_4_13.png

导入ECU萃取arxml文件 (Import ECU extracted arxml files)

RTE同步(RTE Synchronization)

../../../_images/RTE_4_15.png

打开RTE第二界面 (Open the Rte Editor)

../../../_images/RTE_4_14.png

进行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.

../../../_images/RTE_4_3.png

更新全部Bswmd文件 (Update all Bswmd files)

../../../_images/RTE_4_4.png

更新单个模块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.

../../../_images/RTE_4_1.png

RTE-OS同步流程 (RTE-OS Synchronization Process)

../../../_images/RTE_4_2.png

RTE-OS自动同步配置 (Synchronized RTE-OS Configuration)

../../../_images/RTE_4_11.png

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.

../../../_images/RTE_4_12.png

在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.

../../../_images/RTE_4_6.png

打开RTE第二界面 (Opening the Rte Editor)

../../../_images/RTE_4_7.png

执行实体信息显示 (Display of runnable entity information)

../../../_images/RTE_4_8.png

拖动执行实体至相应分区的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

../../../_images/RTE_4_9.png

自动生成周期执行实体的相关Os配置 (Automatically generating relevant OS configurations for periodic runnable entities)

../../../_images/RTE_4_10.png

自动生成周期执行实体的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.

../../../_images/RTE_4_5.png

应用桩代码生成 (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.

../../../_images/RTE_4_16.png

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)

../../../_images/RTE_5_1.png

RTE激活OsTask配置示例 (Example of RTE activating OsTask configuration)

RTE激活OsAlarm(RTE Activating OsAlarm)

../../../_images/RTE_5_2.png

RTE激活OsAlarm配置示例 (Example of RTE activating OsAlarm configuration)

Example of RTE activating OsAlarm configuration

RTE激活OsScheduleTable(RTE Activating OsScheduleTable)

../../../_images/RTE_5_3.png

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.

../../../_images/RTE_5_4.png

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)
../../../_images/RTE_5_5.png

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)
../../../_images/RTE_5_6.png

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.

../../../_images/RTE_5_7.png

初始化Runnable映射配置示例 (Example of initialization Runnable mapping configuration)

../../../_images/RTE_5_8.png

初始化Task配置示例

Example of initialization Task configuration

../../../_images/RTE_5_24.png

只设置位置信息的初始化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.

../../../_images/RTE_5_9.png

由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.

../../../_images/RTE_5_10.png

由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.

../../../_images/RTE_5_11.png

OsScheduleTable配置示例 (Example of OsScheduleTable configuration)

../../../_images/RTE_5_12.png

OsScheduleTableExpiryPoint配置示例 (Example of OsScheduleTableExpiryPoint configuration)

../../../_images/RTE_5_13.png

OsScheduleTableExpiryPoint激活Basic Task配置示例 (Example of OsScheduleTableExpiryPoint activating Basic Task configuration)

../../../_images/RTE_5_14.png

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

../../../_images/RTE_5_22.png

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.

../../../_images/RTE_5_25.png

RteExternalTriggerConfig配置示例 (Example of RteExternalTriggerConfig configuration)

../../../_images/RTE_5_26.png

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.

../../../_images/RTE_5_27.png

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.

../../../_images/RTE_5_19.png

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)
../../../_images/RTE_5_20.png

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)
../../../_images/RTE_5_21.png

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

../../../_images/RTE_5_23.png

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.

../../../_images/RTE_5_29.png

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.

../../../_images/RTE_5_31.png

RteAtomicDataProtection配置示例 (Example of RteAtomicDataProtection configuration)

RTE的多核支持 Multi-Core(Support of RTE)

分区映射(Partition Mapping)

Core(Definition)
../../../_images/RTE_5_15.png

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.

../../../_images/RTE_5_16.png

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.

../../../_images/RTE_5_17.png

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.

../../../_images/RTE_5_30.png

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.

../../../_images/RTE_5_18.png

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