Main Content

Configure AUTOSAR Initialization Runnable (R4.1)

AUTOSAR Release 4.1 introduced the AUTOSAR initialization event (InitEvent). You can use an InitEvent to designate an AUTOSAR runnable as an initialization runnable, and then map an initialization function to the runnable. Using an InitEvent to initialize a software component is a potentially simpler and more efficient than using AUTOSAR mode management, in which you define a ModeDeclarationGroup with a mode for setting up and initializing a software component. (For more information on the mode management approach, see Configure AUTOSAR Mode-Switch Communication.)

If you import ARXML code that describes a runnable with an InitEvent, the ARXML importer configures the runnable in Simulink® as an initialization runnable.

Alternatively, you can configure a runnable to be the initialization runnable in Simulink. For example,

  1. Open a model configured for AUTOSAR.

  2. Open the Configuration Parameters dialog box, go to Code Generation > AUTOSAR Code Generation Options, and verify that the selected AUTOSAR schema version is 4.1 or higher.

  3. Open the AUTOSAR Dictionary. Navigate to a software component, and select the Runnables view.

  4. Select a runnable to configure as an initialization runnable, and click Add Event. From the Event Type drop-down list, select InitEvent, and specify the Event Name. In this example, initialization event myInitEvent is configured for runnable Runnable_Init.

    You can configure at most one InitEvent for a runnable.

  5. Open the Code Mappings editor and select the Functions tab.

  6. To map an initialization function to the initialization runnable, select the function. From the Runnable drop-down list, select the runnable for which you configured an InitEvent. In this example, Simulink entry-point function Initialize is mapped to AUTOSAR runnable Runnable_Init.

When you export ARXML code from a model containing an initialization runnable, the ARXML exporter generates an InitEvent that is mapped to the initialization runnable and function. For example:

<EVENTS>
    <INIT-EVENT UUID="...">
        <SHORT-NAME>myInitEvent</SHORT-NAME>
        <START-ON-EVENT-REF DEST="RUNNABLE-ENTITY">/.../Runnable_Init</START-ON-EVENT-REF>
    </INIT-EVENT>
</EVENTS>