Релиз 4.1 AUTOSAR ввел событие инициализации AUTOSAR (InitEvent
). Можно использовать InitEvent
, чтобы назвать выполнимое AUTOSAR как инициализацию выполнимым, и затем сопоставить функцию инициализации с выполнимым. Используя InitEvent
, чтобы инициализировать компонент программного обеспечения потенциально более прост и более эффективен, чем использование управления режимом AUTOSAR, в котором вы задаете ModeDeclarationGroup
с режимом для подготовки и инициализации компонента программного обеспечения. (Для получения дополнительной информации о подходе управления режимом смотрите, Конфигурируют Коммуникацию AUTOSAR Mode-Switch.)
Если вы импортируете код arxml
, который описывает выполнимое с InitEvent
, средство импорта arxml
конфигурирует выполнимое в Simulink® как выполнимая инициализация.
Также можно сконфигурировать выполнимое, чтобы быть инициализацией, выполнимой в Simulink. Например,
Откройте модель, сконфигурированную для AUTOSAR.
Откройте диалоговое окно Configuration Parameters, перейдите к Code Generation> AUTOSAR Code Generation Options и проверьте, что выбранной версией схемы AUTOSAR является 4.1
или выше.
Откройте Словарь AUTOSAR. Перейдите к компоненту программного обеспечения и выберите представление Runnables.
Выберите выполнимое, чтобы сконфигурировать как выполнимая инициализация, и нажать Add Event. От Event Type выпадающий список выберите InitEvent
и задайте Event Name. В этом примере событие myInitEvent
инициализации сконфигурировано для выполнимого Runnable_Init
.
Можно сконфигурировать самое большее один InitEvent
для выполнимого.
Редактор Отображений Открытого кода и выбор вкладка Entry-Point Functions.
Чтобы сопоставить функцию инициализации с выполнимой инициализацией, выберите функцию. От Runnable выпадающий список выберите выполнимое, для которого вы сконфигурировали InitEvent
. В этом примере функция точки входа Simulink Initialize Function
сопоставлен с выполнимым Runnable_Init
AUTOSAR.
Когда вы экспортируете код arxml
из модели, содержащей выполнимую инициализацию, средство экспорта arxml
генерирует InitEvent
, который сопоставлен с выполнимой инициализацией и функция. Например:
<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>