Сгенерировать 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
;
Vartype
, memclass
varName
;
где
consttype
и type
типы данных
memclass
макро-строка
(SWC
varSWC
идентификатор компонента программного обеспечения),
varname
идентификатор переменной
Для функций (модель и подсистема), макросы находятся в следующей форме:
FUNC (
type
, memclass
) funcname (пусто)
где
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 на modelname
*.arxmlSingle file
или Modular
.
Если вы импортировали arxml
файлы в Simulink, обновленные версии тех же файлов.
Следующая таблица показывает который
файлы сгенерированы, на основе значения опции Exported XML file packaging, сконфигурированной в Словаре AUTOSAR.modelname
*.arxml
Экспортируемый 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 и XML-описания.
Сгенерируйте XML-файл для версии схемы | Максимальная длина КРАТКОГО НАЗВАНИЯ | Поддержите матричный ввод-вывод корневого уровня с помощью одномерных массивов | Используйте макросы абстракции компилятора AUTOSAR