Documentation for Arccore Autosar 4 solution version 4.1.
Documentation for other versions of Autosar 4 solution is available too.

Integrator license - The features described in this document are included in the Integrator license

Introduction

The RTE editor is used to instantiate Autosar software component (SWC) prototypes on an ECU and to generate the Autosar Runtime Environment which glues the SWC prototypes together with the basic software (BSW) platform.

Features and restrictions

The following limitations and exceptions to the specifications apply:

  • Multiple instantiation: When using multiple instantiation in the RTE only one internal behavior per software component type is supported.
  • Fan-in for ISignals is not supported. Or supported with undefined behavior. When reading from COM the last read will always set the value on the port. Therefore fan-in does not make sense. Could perhaps be implemented for DataReceivedEvents but for implicit/explicit read it does not work.
  • Multi-dimensional array and record types are not supported.
  • Only ALL_INTERRUPT_BLOCKING is supported as implementation mechanism for exclusive areas.

Input to the RTE editor

The RTE editor requires an ECU configuration with a ECU extract as input. To create an ECU configuration using the ArcCore Autosar 4 toolchain refer to the BSW editor documentation. To create an ECU Extract using the ArcCore Autosar 4 toolchain refer to the Working with SWCs documentation. ECU extracts from other toolchain vendors are supported as long as they fulfill the Autosar 4 specifications. Open the RTE editor by right clicking on the ECU configuration arxml file and select "Open With -> RTE Editor for Autosar 4".

Instantiating SWC prototypes

The first step to create an RTE is to instantiate SWC prototypes from the ECU extract. The first tab of the RTE editor, Event Mappings, shows a table of all prototypes available. Right click on any prototype and select "Instantiate" to create an RTE instance for it. Note that although not required, all prototypes from the extract should generally be instantiated in the RTE.


Mapping runnables to OS tasks

Once a SWC prototype is instantiated it is possible to map the runnables included in that SWC to operating system (OS) tasks. Only runnables activated by events that should be scheduled by the operating system needs to be mapped to a task. DataReceivedEvents and OperationInvokedEvens are examples of events that does not need to be mapped. Expand the SWC prototype shown in the Event Mappings tab to view all mappable runnables. Right click on a runnable and select "Map to task" to choose OS task.


If a runnable is mapped to an extended task, then the activating OS event for the runnable should be selected in the drop down box in the table. The position (order) of the runnable within the task should also be specified for both basic and extended tasks.

Setting exclusive area implementation mechanisms

If exclusive areas have been defined in SWCs, they must be associated with implementation mechanisms. This directs what type of protection the RTE generator will generate for each exclusive area.

Exclusive area implementations are configured in a separate tab in the RTE editor:

The view shows all exclusive areas in all SWC prototypes in the extract.

First right-click an exclusive area and select "Create implementation", then select implementation mechanism from the drop-down in the Mechanism column. Currently ALL_INTERRUPT_BLOCKING is the only mechanism supported by the RTE generator.

Configuring partitions

Partitions are used to create memory protected or multi core ECUs. This section describes how to configure partitions in the RTE editor. For detailed information on how to setup Arctic Core for safety level ECUs please refer to our Safety Manual. 

There are three goals of configuring partitions in the RTE editor:

  1. To create the actual EcuC partition object.
  2. To add software component prototypes to the EcuC partition
  3. To map Os applications to EcuC partitions

A partition is a pair of one Os application and one EcuC partition, however, creating and configuring Os applications must be done in the BSW editor. Refer to the Os manual for details on how to configure Os applications. A partition contains a set of component prototypes that belong to the partition. These components will be executed in the context of the partition, for example on a separate core, or with limited memory accesses.

Partitions are configured in a separate tab in the RTE editor:

The picture above shows an ECU with three mapped patitions, one EcuC partition currently not mapped to an Os application, and one Os application currently not mapped to an EcuC partition. The columns shows the following detailed information about the configuration:

  • Entity: the name of the partition, or the os application if there are unmapped Os applications
  • Os Application: name of the os application, or "Not mapped" if this row is showing an unmapped EcuC partition.
  • EcuC Partition: name of the EcuC partitions, or "Not mapped" if this row is showing an unmapped Os application. This value can be changed by editing the data in the column.
  • Safety Level: If the Os application is trusted or untrusted. This value is changed in the Os configuration. Refer to the safety manual for details.
  • Core: The core the partition is mapped to. This value is changed in the Os configuration.

All actions in the editor is triggered by right-clicking in the tree view. The following actions are available:

  1. Create new unmapped EcuC partition by right-clicking anywhere.
  2. Add component prototypes to partition by right-clicking an unmapped EcuC partition or a mapped partition.
  3. Remove component prototypes from partitions by right-clicking it.
  4. Map an Os application to an EcuC partition by right-clicking an unmapped EcuC partition or unmapped Os application.
  5. Remove an unmapped EcuC partition by right-clicking it.

Configuring memory protected or multi core ECUs is a complex process involving configuration of several BSW modules and the RTE. We recommend to read our safety manual to ensure correct setup.

On this page: