Сконфигурируйте генерацию кода AUTOSAR

Сгенерировать AUTOSAR-совместимый код С и описания компонента arxml из модели, сконфигурированной для AUTOSAR:

  1. Исследуйте параметры генерации кода AUTOSAR на Code Generation> панель AUTOSAR Code Generation Options диалогового окна Configuration Parameters.

  2. Исследуйте опции экспорта AUTOSAR XML с помощью функций свойства AUTOSAR Dictionary или AUTOSAR.

  3. Создайте модель.

Выберите AUTOSAR Schema

Программное обеспечение поддерживает следующие Классические версии схемы Платформы AUTOSAR для импорта и экспорта файлов arxml и генерации AUTOSAR-совместимого кода С.

Значение версии схемыВерсии схемы, поддержанные для импортаЭкспортируйте версию схемы
4.3 (значение по умолчанию)4.3.0, 4.3.14.3.1
4.24.2.1, 4.2.24.2.2
4.14.1.1, 4.1.2, 4.1.34.1.3
4.04.0.1, 4.0.2, 4.0.34.0.3
3.23.2.1, 3.2.23.2.2
3.13.1.1, 3.1.2, 3.1.3, 3.1.43.1.4
3.03.0.1, 3.0.2, 3.0.3, 3.0.4, 3.0.5, 3.0.63.0.2
2.12.1 (Версия XSD 0014, 0015, 0017, 0018)2.1 (Версия XSD 0017)

Выбор системного конечного файла AUTOSAR для вашей модели впервые устанавливает параметр версии схемы на значение по умолчанию, 4.3.

Когда вы импортируете код arxml в Simulink®, средство импорта arxml обнаруживает версию схемы и устанавливает параметр версии схемы в модели. Например, если вы импортируете код arxml на основе версии схемы 4.0 4.0.1, 4.0.2, или 4.0.3, средство импорта устанавливает параметр версии схемы на 4.0.

Когда вы экспортируете свой компонент программного обеспечения AUTOSAR, генерация кода экспортирует XML, который совместим с текущим значением версии схемы. Например, если Generate XML file for schema version равняется 4.0, экспорт использует версию схемы экспорта, упомянутую выше для схемы 4.0, то есть, версия 4.0.3.

Если необходимо изменить версию схемы, необходимо сделать так прежде, чем экспортировать компонент программного обеспечения AUTOSAR. Чтобы выбрать версию схемы, на Code Generation>, панель AUTOSAR Code Generation Options диалогового окна Configuration Parameters, от Generate XML file for schema version выпадающий список, выбирает версию схемы, которой вы требуете.

Примечание

Параметры модели AUTOSAR на панели AUTOSAR Code Generation Options должны быть установлены на те же значения для главных и моделей, на которые ссылаются. Эта инструкция применяется к Generate XML file for schema version, Maximum SHORT-NAME length, Use AUTOSAR compiler abstraction macros и Support root-level matrix I/O using one-dimensional arrays.

Задайте максимальную длину КРАТКОГО НАЗВАНИЯ

Стандарт AUTOSAR указывает, что максимальная длина SHORT-NAME элементы XML является 128 символами, для версии 4.x схемы или позже, или 32 символами, для более ранних версий схемы. Даже для более ранних версий схемы, ваш инструмент разработки AUTOSAR может поддержать использование более длинных элементов SHORT-NAME, например, чтобы назвать порты и интерфейсы.

Используйте параметр Maximum SHORT-NAME length, чтобы задать максимальную длину для элементов SHORT-NAME, экспортируемых генератором кода. На Code Generation> панель AUTOSAR Code Generation Options диалогового окна Configuration Parameters, в поле Maximum SHORT-NAME length, задают положительное число символов, меньше чем или равных 128. Значением по умолчанию являются 128 символов.

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

Компиляторы для 16-битных платформ (например, Cosmic и Metrowerks для S12X или Определяющий задачу для ST10) используют специальные ключевые слова, чтобы иметь дело с ограниченной 16-битной областью значений обращения. Местоположение данных и кода вне границы 64k выбрано явным образом специальными ключевыми словами. Однако, если такие ключевые слова используются непосредственно в рамках исходного кода, то программное обеспечение должно быть портировано отдельно для каждого семейства микроконтроллеров. Таким образом, программное обеспечение не платформенно независимо.

AUTOSAR задает макросы C, чтобы абстрагировать директивы компилятора (близкие/далекие вызовы памяти) платформенно независимым способом. Эти директивы компилятора, выведенные с 16-битных платформ, включают лучшую эффективность кода для 16-битных микроконтроллеров без отдельного портирования исходного кода для каждого компилятора. Этот подход позволяет вашего системного интегратора, а не ваше лицо, осуществляющее внедрение компонента программного обеспечения, чтобы выбрать местоположение данных и кода для каждого компонента программного обеспечения.

Для получения дополнительной информации об абстракции компилятора AUTOSAR смотрите www.autosar.org.

Чтобы сконфигурировать генерацию макроса компилятора AUTOSAR, в Code Generation> панель AUTOSAR Code Generation Options диалогового окна Configuration Parameters, выбирают Use AUTOSAR compiler abstraction macros.

Когда вы создаете модель, программное обеспечение применяет макросы абстракции компилятора к глобальным данным и функциональным определениям в сгенерированном коде.

Для данных макросы находятся в следующей форме:

  • CONST(consttype, memclass) varname;

  • VAR(type, memclass) varname;

где

  • consttype и type являются типами данных

  • memclass является макро-строкой SWC_VAR (SWC является идентификатором компонента программного обеспечения),

  • varname является идентификатором переменной

Для функций (модель и подсистема), макросы находятся в следующей форме:

  • FUNC(type, memclass) funcname(void)

где

  • type является типом данных возвращаемого аргумента

  • memclass является макро-строкой. Этой строкой может быть любой SWC_CODE для runnables (внешние функции), или SWC_CODE_LOCAL для внутренних функций (SWC является идентификатором компонента программного обеспечения).

 Пример 1. Пример

Если вы не выбираете Use AUTOSAR compiler abstraction macros, генератор кода производит следующий код:

/* Block signals (auto storage) */
BlockIO rtB;

/* Block states (auto storage) */
D_Work rtDWork;

/* Model step function */
void Runnable_Step(void)

Однако, если вы выбираете Use AUTOSAR compiler abstraction macros, генератор кода производит макросы в коде:

/* Block signals (auto storage) */
VAR(BlockIO, SWC1_VAR) rtB;

/* Block states (auto storage) */
VAR(D_Work, SWC1_VAR) rtDWork;

/* Model step function */
FUNC(void, SWC1_CODE) Runnable_Step(void)

Матричный ввод-вывод корневого уровня

Программное обеспечение поддерживает матричный ввод-вывод на корневом уровне путем генерации кода, который реализует матрицы как одномерные массивы. Однако это поведение не является значением по умолчанию. Чтобы сконфигурировать матричный ввод-вывод корневого уровня, на Code Generation> панель AUTOSAR Code Generation Options диалогового окна Configuration Parameters, выбирают Support root-level matrix I/O using one-dimensional arrays.

Осмотрите опции AUTOSAR XML

Исследуйте опции XML, что вы сконфигурировали использование Словарь AUTOSAR. Если вы еще не сконфигурировали их, смотрите, Конфигурируют Опции AUTOSAR XML.

Сгенерируйте AUTOSAR C и XML-файлы

После конфигурирования генерации кода AUTOSAR и опций XML, сгенерируйте код. Чтобы сгенерировать код С и экспортировать XML-описания, создайте модель (Ctrl+B).

Процесс сборки генерирует AUTOSAR-совместимый код С и XML-описания AUTOSAR к папке сборки модели. Следующая таблица показывает, какие XML-файлы сгенерированы, на основе значения опции Exported XML file packaging, сконфигурированной в Словаре AUTOSAR.

Экспортируемый XML-файл упаковочное значениеЭкспортируемое имя файлаПо умолчанию содержит...
Single filemodelname.arxmlВсе элементы AUTOSAR.
Modularmodelname_component.arxml

Компоненты программного обеспечения.

Это - основной файл arxml, экспортируемый для модели Simulink. В дополнение к компонентам программного обеспечения AUTOSAR файл включает элементы, для которых пакеты AUTOSAR (AR-PACKAGEs) не сконфигурированы, и AR-PACKAGEs, которые не выравниваются с путями к пакету в других экспортируемых файлах arxml. Для получения дополнительной информации о AR-PACKAGEs и их местоположении в модульных экспортируемых файлах arxml, смотрите, Конфигурируют Пакеты AUTOSAR.

modelname_datatype.arxml

Типы данных и связанные элементы.

modelname_implementation.arxml

Реализация компонента программного обеспечения.

modelname_interface.arxml

Интерфейсы, включая S-R, C-S, M-S, NV и другие интерфейсы.

modelname_behavior.arxml

Компонент программного обеспечения внутреннее поведение (сгенерированный только для схемы 3.x или ранее).

Можно объединить описания компонента XML AUTOSAR назад в инструмент разработки AUTOSAR. Информация компонента AUTOSAR разделена в отдельные файлы, чтобы упростить слияние. Разделение пытается минимизировать количество слияний, которые необходимо сделать. Вы не должны объединять файл типа данных в инструмент разработки, потому что типы данных обычно задаются рано в процессе проектирования. Необходимо, однако, объединить внутренний файл поведения, потому что этой информацией является часть образцовой реализации.

Чтобы помочь поддержать цикл обработки элементов AUTOSAR между AAT и средой модельно-ориентированного проектирования Simulink, генератор кода сохраняет элементы AUTOSAR и их UUIDs через импорт arxml и экспорт. Для получения дополнительной информации смотрите Сохранение Туда и обратно Структуры XML-файла AUTOSAR и Информации об элементе.

Для примера того, как сгенерировать AUTOSAR-совместимый код С и экспортировать описания компонента XML AUTOSAR из модели Simulink, смотрите, Генерируют AUTOSAR C или Код С++ и XML-описания.