Сопоставьте элементы AUTOSAR для генерации кода

В Simulink®можно использовать редактор Code Mappings и словарь AUTOSAR отдельно или вместе, чтобы графически сконфигурировать программный компонент AUTOSAR и сопоставить элементы модели Simulink с элементами компонента AUTOSAR. Дополнительные сведения см. в разделе Строении компонента AUTOSAR.

Используйте редактор Отображения, чтобы сопоставить элементы модели Simulink с элементами компонента AUTOSAR с точки зрения модели Simulink. Отображение редактора состоит из нескольких таблиц с вкладками, включая Functions, Inports и Outports. Используйте таблицы, чтобы выбрать элементы Simulink и сопоставить их с соответствующими элементами AUTOSAR. Конфигурируемые отображения отражены в сгенерированном совместимом с AUTOSAR коде C и экспортированных описаниях ARXML.

Редактор Кода Отображений также предоставляет отображение для подмоделей, на которые ссылаются модели компонента программного обеспечения AUTOSAR. Для получения дополнительной информации см. раздел «Данные калибровки карты для подмоделей, на которые ссылаются модели компонента AUTOSAR».

Рабочий процесс от Simulink до AUTOSAR Отображения

Чтобы сопоставить элементы модели Simulink с элементами компонента программного обеспечения AUTOSAR:

  1. Откройте модель, для которой системный целевой файл AUTOSAR autosar.tlc выбран.

  2. Создайте или откройте сопоставленное представление модели AUTOSAR. В окне модели выполните одно из следующих действий:

    • На вкладке Apps откройте приложение AUTOSAR Component Designer.

    • Щелкните элемент управления перспективой в правом нижнем углу и выберите Code.

    Если модель еще не была сопоставлена с программным компонентом AUTOSAR, откроется окно AUTOSAR Component Quick Start. Чтобы сконфигурировать модель для разработки компонента AUTOSAR, выполните процедуру быстрого запуска и нажмите Finish. Для получения дополнительной информации смотрите Создание сопоставленного компонента AUTOSAR с помощью функции Quick Start.

    Модель откроется в перспективе кода AUTOSAR. В этой перспективе отображается панель справки, диалоговое окно Property Inspector и, непосредственно под моделью, редактор Отображения.

    Редактор Code Mappings обеспечивает доступ в холсте к информации отображения AUTOSAR с пакетным редактированием, фильтрацией элементов, легкой навигацией к элементам модели и свойствам AUTOSAR и трассируемостью элемента модели.

  3. Перейдите на вкладки редактора Отображения, чтобы выполнить следующие действия:

    • Сопоставьте функцию точки входа Simulink с выполняемой функцией AUTOSAR.

    • Сопоставьте входной или выходной порт Simulink с приемником или отправителя AUTOSAR и элементом данных отправителя-получателя с определенным режимом доступа к данным.

    • Сопоставьте параметр рабочего пространства модели Simulink с параметром компонента AUTOSAR.

    • Сопоставьте хранилище данных Simulink с переменной AUTOSAR.

    • Сопоставьте сигнал или состояние блока Simulink с переменной AUTOSAR.

    • Сопоставьте линию передачи данных Simulink с промежуточной переменной AUTOSAR (IRV).

    • Сопоставьте вызывающего абонента функции Simulink с клиентским портом AUTOSAR и операцией клиент-сервер.

    Используйте поле Filter contents (где доступно), чтобы выборочно отобразить некоторые элементы, опуская другие, в текущем представлении.

  4. После отображения элементов модели нажмите кнопку Validate, чтобы подтвердить строение компонента AUTOSAR. Если сообщается об ошибках, устраните их и повторите валидацию.

Сопоставление функций точки входа и выполняемых функций AUTOSAR

Вкладка Functions редактора Кода Отображений поддержек моделирования выполняемых сущностей AUTOSAR (runnables) в Simulink. После использования AUTOSAR Dictionary для создания runnables AUTOSAR и событий AUTOSAR, которые реализуют аспекты внутреннего поведения в компоненте AUTOSAR, откройте редактор Отображения. Используйте вкладку Functions, чтобы сопоставить функции точки входа Simulink с выполняемыми AUTOSAR.

Для получения дополнительной информации см. раздел «Настройка выполняемых функций AUTOSAR и событий».

Вкладка Functions редактора Отображения сопоставляет каждую функцию точки входа Simulink с выполняемой AUTOSAR. Нажмите кнопку Update, чтобы загрузить или обновить функции точки входа Simulink в модели.

На вкладке Functions можно:

  • Сопоставьте функцию точки входа Simulink, выбрав функцию точки входа и затем выбрав значение меню для выполнения AUTOSAR, среди перечисленных для компонента AUTOSAR.

  • Укажите методы адреса программного обеспечения (SwAddrMethods) для кода выполняемой функции и внутренних данных. Если вы задаете SwAddrMethod имена, генерация кода использует имена, чтобы сгруппировать выполняемую функцию и определения данных в разделах памяти. Дополнительные сведения см. в разделе Настройка SwAddrMethod.

    Чтобы задать SwAddrMethods для runnable, выберите соответствующую функцию точки входа. Property Inspector отображает атрибуты кода SwAddrMethod и Internal Data SwAddrMethod для выбранной функции. В Property Inspector выберите SwAddrMethod имена из допустимых значений, перечисленных для каждого свойства.

    Создание дополнительных SwAddrMethod имена в компоненте, используйте AUTOSAR Dictionary, представление SwAddrMethods. Дополнительные сведения см. в разделе Настройка AUTOSAR SwAddrMethods.

Примечание

Генерация кода для выполняемых внутренних SwAddrMethod данныхs требует установки опции строения модели Code Generation > Interface > Generate separate internal data per entry-point function (GroupInternalDataByFunction) к on.

Сопоставление входных и выходных портов с портами отправителя-получателя AUTOSAR

Вкладки Inports и Outports редактора Code Mappings поддерживают моделирование коммуникации отправитель-получатель (S-R) Autosar в Simulink. После использования AUTOSAR Dictionary для создания портов AUTOSAR S-R, интерфейсов S-R и элементов данных S-R в модели откройте редактор Отображения. Используйте вкладки Inports и Outports, чтобы сопоставить корневые входные и выходные порты Simulink с портами приемника и отправителя AUTOSAR S-R и элементами данных авто-РСА.

Для получения дополнительной информации см. раздел «Настройка связи между отправителем и получателем AUTOSAR» и «Настройка связи между отправителем и получателем в очереди AUTOSAR».

Вкладка Inports редактора Code Mappings сопоставляет каждый корневой входной порт Simulink с портом приемника AUTOSAR и элементом данных интерфейса S-R. На вкладке Inports можно:

  • Сопоставьте входной порт Simulink, выбрав входной порт и затем выбрав значения меню для порта AUTOSAR и элемента AUTOSAR, среди перечисленных для компонента AUTOSAR.

  • Выберите режим доступа к данным AUTOSAR для порта: ImplicitReceive, ExplicitReceive, ExplicitReceiveByVal, QueuedExplicitReceive, ErrorStatus, IsUpdated, EndToEndRead, или ModeReceive.

При выборе входного порта Property Inspector отображает дополнительные атрибуты спецификации коммуникации портов (ComSpec).

  • Для портов приемника без очереди AUTOSAR можно изменить атрибуты ComSpec AliveTimeout, HandleNeverReceived, и InitValue.

  • Для портов приемника в очереди можно изменить атрибут ComSpec QueueLength.

Дополнительные сведения см. в разделе Настройка ComSpecs порта отправителя-получателя AUTOSAR.

Вкладка Outports редактора Отображения сопоставляет каждый исходящий порт корня Simulink с портом отправителя AUTOSAR и элементом данных интерфейса S-R. На вкладке Outports можно:

  • Сопоставьте выходной порт Simulink, выбрав выходной порт и затем выбрав значения меню для порта AUTOSAR и элемента AUTOSAR.

  • Выберите режим доступа к данным AUTOSAR для порта: ImplicitSend, ImplicitSendByRef, ExplicitSend, QueuedExplicitSend, EndToEndWrite, или ModeSend.

При выборе порта вывода, который сопоставляется с неквадровым портом отправителя AUTOSAR, Property Inspector отображает дополнительные атрибуты спецификации связи портов (ComSpec). Можно изменить атрибут ComSpec InitValue. Дополнительные сведения см. в разделе Настройка ComSpecs порта отправителя-получателя AUTOSAR.

Сопоставьте параметры рабочего пространства модели с параметрами компонента AUTOSAR

На вкладке Parameters редактора Кода Отображений можно сопоставить параметры Simulink рабочего пространства модели с параметрами AUTOSAR для калибровки во время выполнения AUTOSAR. Примеры параметров рабочего пространства модели, которые вы можете сопоставить, включают:

  • Объекты параметра Simulink

  • Объекты интерполяционной таблицы Simulink

  • Объекты точек останова Simulink

Путем сопоставления интерполяционной таблицы и объектов точек по оси Х с параметрами калибровки AUTOSAR, можно смоделировать параметры AUTOSAR для интегрированных и распределенных интерполяций. Для получения дополнительной информации см. «Настройка интерполяционных таблиц для измерений и калибровки AUTOSAR».

После создания параметров рабочего пространства модели, например, с помощью Model Explorer, откройте редактор Отображения и выберите вкладку Parameters. Выберите параметры рабочего пространства модели и сопоставьте их с:

  • Внутренние параметры компонента AUTOSAR, такие как постоянная память, общие параметры или параметры по экземплярам.

  • Параметры, основанные на портах AUTOSAR, используемые компонентами приемника параметров для основанного на портах доступа к данным о параметрах.

Для получения дополнительной информации см. раздел «Настройка постоянной памяти AUTOSAR», «Настройка общих параметров AUTOSAR или параметров по экземплярам» и «Настройка параметров порта AUTOSAR для связи с компонентом».

На вкладке Parameters перечислены каждый параметр рабочего пространства модели Simulink, который можно сопоставить с параметром AUTOSAR. На вкладке Parameters:

  • Если параметр рабочего пространства модели Simulink не сконфигурирован как аргумент модели (то есть не уникальный для каждого образца мультиобразца), можно сопоставить параметр, выбрав его и затем выбрав значение меню для типа параметра AUTOSAR. Для этого рабочего процесса допустимые типы параметров ConstantMemory, SharedParameter, или Auto. Чтобы принять значения по умолчанию для сопоставления программного обеспечения, задайте Auto.

    Для примера вот вкладка Parameters для примера модели autosar_swc_counter.

  • Если параметр рабочего пространства модели Simulink сконфигурирован как аргумент модели (то есть уникальный для каждого образца мультиобразца), сопоставьте параметр с помощью его выбора и затем выберите значение меню для типа параметра AUTOSAR. Для этого рабочего процесса допустимые типы параметров PerInstanceParameter, PortParameter, или Auto. Чтобы принять значения по умолчанию для сопоставления программного обеспечения, задайте Auto.

    Для примера вот вкладка Parameters для примера модели autosar_swc_throttle_sensor. Пример модели autosar_composition содержит два образцов autosar_swc_throttle_sensor.

  • Если вы выбираете тип параметра, отличный от Auto, используйте Property Inspector, чтобы просмотреть или изменить другой код и атрибуты калибровки для параметра.

    ПризнакЦель
    Const (ConstantMemory только)Укажите, включать ли квалификатор типа C const в сгенерированном коде для параметра AUTOSAR. Для получения дополнительной информации смотрите Specify C Type Qualifiers для AUTOSAR Static и Constant Memory.
    Volatile (ConstantMemory только)Укажите, включать ли квалификатор типа C volatile в сгенерированном коде для параметра AUTOSAR. Для получения дополнительной информации смотрите Specify C Type Qualifiers для AUTOSAR Static и Constant Memory.
    AdditionalNativeTypeQualifier (ConstantMemory только)Укажите дополнительный собственный критерий типа AUTOSAR, который будет включен в сгенерированный код для параметра AUTOSAR. Для получения дополнительной информации смотрите Specify C Type Qualifiers для AUTOSAR Static и Constant Memory.
    SwAddrMethodВыберите SwAddrMethod имя из имен, перечисленных как допустимые для параметра AUTOSAR. Генерация кода использует SwAddrMethod имя для группирования параметров AUTOSAR в разделе памяти для доступа по измерениям и инструментам калибровки. Дополнительные сведения см. в разделе Настройка SwAddrMethod.
    SwCalibrationAccessУкажите, как инструменты измерения и калибровки могут получить доступ к параметру AUTOSAR. Допустимые значения доступа включают ReadOnly, ReadWrite, и NotAccessible. Дополнительные сведения см. в разделе Настройка SwCalibrationAccess.
    DisplayFormatЗадайте формат отображения для параметра AUTOSAR. Спецификации формата отображения AUTOSAR управляют отображением ширины и точности для данных измерений и калибровки. Дополнительные сведения см. в разделе Настройка DisplayFormat.
    Port (PortParameter только)Укажите имя порта приемника параметров, настроенного в словаре AUTOSAR.
    DataElement (PortParameter только)Укажите имя элемента данных интерфейса параметра, сконфигурированного в словаре AUTOSAR.

Сопоставление хранилищ данных с переменными AUTOSAR

На вкладке Data Stores редактора Отображения можно сопоставить блоки памяти хранилища данных Simulink с переменными AUTOSAR для калибровки во время выполнения AUTOSAR. После создания блоков памяти хранилища данных в вашей модели откройте редактор Code Mappings и выберите вкладку Data Stores. Выберите хранилища данных и сопоставьте их с переменными AUTOSAR, такими как память по экземплярам с типом AUTOSAR или статическая память AUTOSAR.

Дополнительные сведения см. в разделах Настройка памяти AUTOSAR по экземплярам и Настройка статической памяти AUTOSAR.

На вкладке Data Stores перечислены все хранилища данных, которые можно сопоставить с переменной AUTOSAR. Вы можете:

  • Сопоставьте хранилище данных Simulink, выбрав хранилище данных и затем выбрав значение меню для типа переменной AUTOSAR: ArTypedPerInstanceMemory, StaticMemory, или Auto. Чтобы принять значения по умолчанию для сопоставления программного обеспечения, задайте Auto.

    Для примера вот вкладка Local Data Stores для примера модели autosar_bsw_sensor1.

  • Если вы выбираете тип переменной, отличный от Auto, используйте Property Inspector, чтобы просмотреть или изменить другой код и атрибуты калибровки для переменной.

    ПризнакЦель
    ShortName

    Задайте краткое имя переменной AUTOSAR. Если не задано, экспорт ARXML генерирует краткое имя.

    Volatile (StaticMemory только)Укажите, включать ли квалификатор типа C volatile в сгенерированном коде для переменной AUTOSAR. Для получения дополнительной информации смотрите Specify C Type Qualifiers для AUTOSAR Static и Constant Memory.
    AdditionalNativeTypeQualifier (StaticMemory только)Укажите дополнительный собственный критерий типа AUTOSAR, который будет включен в сгенерированный код переменной AUTOSAR. Для получения дополнительной информации смотрите Specify C Type Qualifiers для AUTOSAR Static и Constant Memory.
    NeedsNVRAMAccess (ArTypedPerInstanceMemory только)Укажите, нужен ли переменной AUTOSAR доступ к энергонезависимой оперативной памяти на процессоре. Выберите true чтобы сконфигурировать память по экземплярам как зеркальный блок для определенного блока NVRAM.
    SwAddrMethodВыберите SwAddrMethod имя из имен, перечисленных как допустимые для переменной AUTOSAR. Генерация кода использует SwAddrMethod имя для группы переменных AUTOSAR в разделе памяти для доступа с помощью инструментов измерений и калибровки. Дополнительные сведения см. в разделе Настройка SwAddrMethod.
    SwCalibrationAccessУкажите, как инструменты измерения и калибровки могут получить доступ к переменной AUTOSAR. Допустимые значения доступа включают ReadOnly, ReadWrite, и NotAccessible. Дополнительные сведения см. в разделе Настройка SwCalibrationAccess.
    DisplayFormatУкажите формат отображения переменной AUTOSAR. Спецификации формата отображения AUTOSAR управляют отображением ширины и точности для данных измерений и калибровки. Дополнительные сведения см. в разделе Настройка DisplayFormat.

Сопоставление сигналов блоков и состояний с переменными AUTOSAR

На вкладке Signals/States редактора Code Mappings можно:

  • Сопоставьте сигналы блока Simulink и состояния с переменными AUTOSAR для калибровки во время выполнения AUTOSAR.

  • Селективно добавляйте или удаляйте сигналы блока из отображения сигнала компонента AUTOSAR.

В редакторе Отображения для отображения доступны состояния блока Simulink, которые соответствуют блокам владельцев состояний.

Чтобы сделать Блок Simulink сигналы доступными для отображения, используйте кнопку редактора Кода Mappings или сигнал модели:

  • В холсте модели выберите один или несколько сигналов. Откройте редактор Отображения, Signals/States вкладку и нажмите кнопку Add.

  • В холсте модели выберите сигнал. Наведите курсор на отображаемый эллипсис и выберите Add selected signals to code mappings сигнала модели.

Также вызовите MATLAB® функция addSignal.

После выборочного добавления блока сигналов к отображению сигнала компонента AUTOSAR откройте редактор Кода Отображений и выберите вкладку Signals/States. Выберите сигналы блоков и состояния и сопоставьте их с переменными AUTOSAR, такими как память по экземплярам с типом AUTOSAR или статическая память AUTOSAR.

Дополнительные сведения см. в разделах Настройка памяти AUTOSAR по экземплярам и Настройка статической памяти AUTOSAR.

Вкладка Signals/States, Signals узел, приводит список каждого сигнала блока Simulink, который можно сопоставить с переменной AUTOSAR. Можно сопоставить сигнал блока Simulink, выбрав сигнал и затем выбрав значение меню для типа переменной AUTOSAR: ArTypedPerInstanceMemory, StaticMemory, или Auto. Чтобы принять значения по умолчанию для сопоставления программного обеспечения, задайте Auto.

Для примера вот вкладка Signals/States для примера модели autosar_swc_counter.

На вкладке Signals/States, States узел, перечислены каждое конфигурируемое состояние блока Simulink, которое можно сопоставить с переменной AUTOSAR. Можно сопоставить состояние блока Simulink, выбрав состояние и затем выбрав значение меню для типа переменной AUTOSAR: ArTypedPerInstanceMemory, StaticMemory, или Auto. Чтобы принять значения по умолчанию для сопоставления программного обеспечения, задайте Auto.

Если вы сопоставляете сигнал или состояние с типом переменной, отличным от Autoможно использовать Property Inspector для просмотра или изменения другого кода и атрибутов калибровки переменной.

ПризнакЦель
ShortName

Задайте краткое имя переменной AUTOSAR. Если не задано, экспорт ARXML генерирует краткое имя.

  • Для сигналов автоматически сгенерированное краткое имя может отличаться от имени сигнала.

  • Для состояний автоматически сгенерированное краткое имя основывается на наименовании состояния, если оно существует. Если состояние не называется, сгенерированное имя может отличаться от имени блока.

Volatile (StaticMemory только)Укажите, включать ли квалификатор типа C volatile в сгенерированном коде для переменной AUTOSAR. Для получения дополнительной информации смотрите Specify C Type Qualifiers для AUTOSAR Static и Constant Memory.
AdditionalNativeTypeQualifier (StaticMemory только)Укажите дополнительный собственный критерий типа AUTOSAR, который будет включен в сгенерированный код переменной AUTOSAR. Для получения дополнительной информации смотрите Specify C Type Qualifiers для AUTOSAR Static и Constant Memory.
SwAddrMethodВыберите SwAddrMethod имя из имен, перечисленных как допустимые для переменной AUTOSAR. Генерация кода использует SwAddrMethod имя для группы переменных AUTOSAR в разделе памяти для доступа с помощью инструментов измерений и калибровки. Дополнительные сведения см. в разделе Настройка SwAddrMethod.
SwCalibrationAccessУкажите, как инструменты измерения и калибровки могут получить доступ к переменной AUTOSAR. Допустимые значения доступа включают ReadOnly, ReadWrite, и NotAccessible. Дополнительные сведения см. в разделе Настройка SwCalibrationAccess.
DisplayFormatУкажите формат отображения переменной AUTOSAR. Спецификации формата отображения AUTOSAR управляют отображением ширины и точности для данных измерений и калибровки. Дополнительные сведения см. в разделе Настройка DisplayFormat.

Чтобы удалить сигналы блока Simulink из отображения сигнала компонента AUTOSAR, используйте кнопку редактора Code Mappings или сигнал модели:

  • В холсте модели или на вкладке Signals/States выберите один или несколько сигналов. На вкладке Signals/States нажмите кнопку Remove.

  • В холсте модели выберите сигнал. Наведите курсор на отображаемый эллипсис и выберите Remove selected signals from code mappings сигнала модели.

Также вызовите функцию MATLAB removeSignal.

Сопоставление переносов данных с переменными AUTOSAR Inter-Runnable

Вкладка Data Transfers редактора Code Mappings поддерживает моделирование межпрограммных переменных AUTOSAR (IRVs) в Simulink. После использования AUTOSAR Dictionary для создания Авто-РСА, которые соединяют runnable и реализуют аспекты внутреннего поведения в компоненте AUTOSAR, откройте редактор Code Mappings. Используйте вкладку Data Transfers, чтобы сопоставить линии передачи данных Simulink с IRV AUTOSAR.

Для получения дополнительной информации см. «Модель поведения компонента AUTOSAR». Для рисунков того, как IRV используются с runnable на основе скорости и function-call, смотрите примеры моделей в Model AUTOSAR Software Components.

Вкладка Data Transfers редактора Code Mappings преобразует каждую строку передачи данных Simulink в AUTOSAR IRV. Нажмите кнопку Update, чтобы загрузить или обновить передачи данных Simulink в вашей модели.

На вкладке Data Transfers можно сопоставить линию передачи данных Simulink, выбрав имя сигнала и затем выбрав значения меню для режима доступа IRV (Implicit или Explicit) и имя AUTOSAR IRV, среди перечисленных для компонента AUTOSAR.

Для примера вот вкладка Data Transfers для примера модели autosar_swc_slfcns.

Сопоставление вызывающих абонентов функций с портами и операциями клиента-сервера AUTOSAR

Вкладка Function Callers редактора Code Mappings поддерживает моделирование клиентской стороны связи клиент-сервер (C-S) Autosar в Simulink. После использования AUTOSAR Dictionary для создания клиентских портов AUTOSAR, интерфейсов C-S и операций C-S в вашей модели откройте редактор Отображения. Используйте вкладку Function Callers, чтобы сопоставить вызывающие абоненты функции Simulink с клиентскими портами AUTOSAR и операциями AUTOSAR C-S.

Дополнительные сведения см. в разделе Настройка связи клиент-сервер AUTOSAR.

Вкладка Function Callers редактора Отображения сопоставляет каждого вызывающего абонента функции Simulink с клиентским портом AUTOSAR и операцией авто-РСА C-S. Нажмите кнопку Update, чтобы загрузить или обновить вызывающие абоненты функции Simulink в модели.

На вкладке Function Callers можно сопоставить вызывающего абонента функции Simulink, выбрав имя вызывающего абонента функции и затем выбрав значения меню для клиентского порта AUTOSAR и операции AUTOSAR, среди перечисленных для компонента AUTOSAR.

Задайте проверку типа C для статической и постоянной памяти AUTOSAR

Для компонента AUTOSAR можно сконфигурировать классификаторы типов C, чтобы настроить сгенерированный AUTOSAR-совместимый код C для статической памяти AUTOSAR и постоянной памяти AUTOSAR. Для примера можно применить проверку типа C, такую как const или volatile для управления оптимизацией компилятора.

В модели AUTOSAR используйте редактор Отображения, чтобы сконфигурировать проверку типа C для сигналов модели, состояний, хранилищ данных и параметров, которые сопоставлены с AUTOSAR StaticMemory или AUTOSAR ConstantMemory. Построение модели экспортирует проверку типа в файлы ARXML и генерирует совместимый с AUTOSAR код C, который использует проверку типа.

Например, в редакторе Отображения, Signals/States вкладке, предположим, что вы сопоставляете сигнал с StaticMemory. Выберите сигнал для отображения атрибутов кода в Property Inspector.

Если вы задаете Volatile атрибут к true и задайте AdditionalNativeTypeQualifier чтобы быть my_qualifier:

  • Экспортированные файлы ARXML определяют AdditionalNativeTypeQualifier:

    <ADDITIONAL-NATIVE-TYPE-QUALIFIER>volatile my_qualifier</ADDITIONAL-NATIVE-TYPE-QUALIFIER>
  • Сгенерированный код C использует квалификаторы типов C, например:

    /* Static Memory for Internal Data */
    volatile my_qualifier boolean SM_equal_to_count;

Для получения дополнительной информации смотрите Сопоставление сигналов блоков и состояний с переменными AUTOSAR, Сопоставление хранилищ данных с переменными AUTOSAR и Сопоставление параметров рабочего пространства модели с параметрами компонента AUTOSAR.

Задайте упаковку данных по умолчанию для внутренних переменных AUTOSAR

AUTOSAR Blockset предоставляет функции для управления упаковкой данных по умолчанию, используемой для внутренних переменных в сгенерированном коде для модели компонента AUTOSAR. Можно задать, что внутреннее хранилище данных, сигнал и данные о состоянии упакованы:

  • С или без упаковки в структуру

  • С частной или публичной видимостью

Функции getInternalDataPackaging и setInternalDataPackaging возвращает и устанавливает настройку упаковки данных по умолчанию, используемую для внутренних хранилищ данных, сигналов и состояний в сгенерированном коде для модели компонента AUTOSAR. Допустимые значения параметров:

  • Default - Примите внутреннюю упаковку данных по умолчанию, предоставляемую программным обеспечением. Использование Default для мультиобразцов и подмоделей, на которые ссылаются модели компонента AUTOSAR.

  • PrivateGlobal - Упаковать внутренние переменные данные без struct и сделать его частным (видимым только для model.c).

  • PrivateStructure - Упаковать внутренние данные переменной в struct и сделать его частным (видимым только для model.c).

  • PublicGlobal - Упаковать внутренние переменные данные без struct и сделать его публичным (extern объявление в model.h).

  • PublicStructure - Упаковать внутренние данные переменной в struct и сделать его публичным (extern объявление в model.h).

Этот пример изменяет настройку упаковки данных по умолчанию, используемую для внутренних переменных в сгенерированном коде для модели компонента AUTOSAR. Во-первых, он возвращает текущую настройку внутренней упаковки данных для модели. Затем он устанавливает внутреннюю упаковку данных таким образом, чтобы генератор кода упаковывал внутренние данные переменной в struct и делает его частным.

hModel = 'autosar_swc';
addpath(fullfile(matlabroot,'/examples/autosarblockset/main'));
open_system(hModel);
slMap = autosar.api.getSimulinkMapping(hModel);
pkgSetting1 = getInternalDataPackaging(slMap)
setInternalDataPackaging(slMap,'PrivateStructure')
pkgSetting2 = getInternalDataPackaging(slMap)
pkgSetting1 =
    'Default'

pkgSetting2 =
    'PrivateStructure'

Если для упаковки данных задано значение PrivateGlobal или PrivateStructure, создание модели генерирует заголовочный файл model_private.h, даже если для параметра конфигурации модели File packaging format (Embedded Coder) задано значение Compact.

Если для модели AUTOSAR задана опция строения модели Сгенерировать отдельные внутренние данные на функцию точки входа (Embedded Coder), внутренняя группировка данных на основе задач переопределяет настройку внутренней упаковки данных AUTOSAR. Однако настройка AUTOSAR определяет открытую или частную видимость сгенерированных внутренних групп данных.

Для получения дополнительной информации смотрите getInternalDataPackaging и setInternalDataPackaging страницы с описанием.

Похожие примеры

Подробнее о