Сгенерировать AUTOSAR-совместимый код С и описания компонента arxml
из модели, сконфигурированной для AUTOSAR:
Исследуйте параметры генерации кода AUTOSAR на Code Generation> панель AUTOSAR Code Generation Options диалогового окна Configuration Parameters.
Исследуйте опции экспорта AUTOSAR XML с помощью функций свойства AUTOSAR Dictionary или AUTOSAR.
Создайте модель.
Программное обеспечение поддерживает следующие Классические версии схемы Платформы AUTOSAR для импорта и экспорта файлов arxml
и генерации AUTOSAR-совместимого кода С.
Значение версии схемы | Версии схемы, поддержанные для импорта | Экспортируйте версию схемы |
---|---|---|
4.3 (значение по умолчанию) | 4.3.0, 4.3.1 | 4.3.1 |
4.2 | 4.2.1, 4.2.2 | 4.2.2 |
4.1 | 4.1.1, 4.1.2, 4.1.3 | 4.1.3 |
4.0 | 4.0.1, 4.0.2, 4.0.3 | 4.0.3 |
3.2 | 3.2.1, 3.2.2 | 3.2.2 |
3.1 | 3.1.1, 3.1.2, 3.1.3, 3.1.4 | 3.1.4 |
3.0 | 3.0.1, 3.0.2, 3.0.3, 3.0.4, 3.0.5, 3.0.6 | 3.0.2 |
2.1 | 2.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 символов.
Компиляторы для 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
является макро-строкой. Этой строкой может быть любой
для runnables (внешние функции), или SWC_CODE
для внутренних функций (SWC_CODE_LOCAL
является идентификатором компонента программного обеспечения).SWC
Если вы не выбираете 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.
Исследуйте опции XML, что вы сконфигурировали использование Словарь AUTOSAR. Если вы еще не сконфигурировали их, смотрите, Конфигурируют Опции AUTOSAR XML.
После конфигурирования генерации кода AUTOSAR и опций XML, сгенерируйте код. Чтобы сгенерировать код С и экспортировать XML-описания, создайте модель (Ctrl+B).
Процесс сборки генерирует AUTOSAR-совместимый код С и XML-описания AUTOSAR к папке сборки модели. Следующая таблица показывает, какие XML-файлы сгенерированы, на основе значения опции Exported XML file packaging, сконфигурированной в Словаре AUTOSAR.
Экспортируемый XML-файл упаковочное значение | Экспортируемое имя файла | По умолчанию содержит... |
---|---|---|
Single file |
| Все элементы AUTOSAR. |
Modular |
| Компоненты программного обеспечения. Это - основной файл |
|
Типы данных и связанные элементы. | |
|
Реализация компонента программного обеспечения. | |
|
Интерфейсы, включая S-R, C-S, M-S, NV и другие интерфейсы. | |
|
Компонент программного обеспечения внутреннее поведение (сгенерированный только для схемы 3.x или ранее). |
Можно объединить описания компонента XML AUTOSAR назад в инструмент разработки AUTOSAR. Информация компонента AUTOSAR разделена в отдельные файлы, чтобы упростить слияние. Разделение пытается минимизировать количество слияний, которые необходимо сделать. Вы не должны объединять файл типа данных в инструмент разработки, потому что типы данных обычно задаются рано в процессе проектирования. Необходимо, однако, объединить внутренний файл поведения, потому что этой информацией является часть образцовой реализации.
Чтобы помочь поддержать цикл обработки элементов AUTOSAR между AAT и средой модельно-ориентированного проектирования Simulink, генератор кода сохраняет элементы AUTOSAR и их UUIDs через импорт arxml
и экспорт. Для получения дополнительной информации смотрите Сохранение Туда и обратно Структуры XML-файла AUTOSAR и Информации об элементе.
Для примера того, как сгенерировать AUTOSAR-совместимый код С и экспортировать описания компонента XML AUTOSAR из модели Simulink, смотрите, Генерируют AUTOSAR C или Код С++ и XML-описания.