Сгенерировать AUTOSAR-совместимый код С и описания компонента ARXML из модели, сконфигурированной для Классической Платформы AUTOSAR:
В диалоговом окне Configuration Parameters, на Code Generation> панель AUTOSAR Code Generation Options, конфигурируют параметры генерации кода AUTOSAR.
Сконфигурируйте опции экспорта AUTOSAR XML при помощи функций свойства AUTOSAR Dictionary или AUTOSAR.
Создайте модель.
Для импорта и экспорта файлов ARXML и генерации AUTOSAR-совместимого кода С, программное обеспечение поддерживает следующие Классические версии схемы Платформы AUTOSAR.
Значение версии схемы | Версии схемы, поддержанные для импорта | Экспортируйте версию схемы |
---|---|---|
4.4
| 4.4.0 | 4.4.0 |
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 |
Выбор системного конечного файла AUTOSAR для вашей модели впервые устанавливает параметр версии схемы на значение по умолчанию, 4.3
.
Если вы импортируете файлы ARXML в Simulink®, средство импорта ARXML обнаруживает версию схемы и устанавливает параметр версии схемы в модели. Например, если вы импортируете файлы ARXML на основе версии схемы 4.3 4.3.0 или 4.3.1, средство импорта устанавливает параметр версии схемы на 4.3
.
Когда вы создаете модель AUTOSAR, генератор кода экспортирует описания ARXML и генерирует код С, которые выполняют текущую версию схемы. Например, если Generate XML file for schema version (Embedded Coder) равняется 4.3
, экспорт использует версию схемы экспорта, упомянутую выше для схемы 4.3, то есть, версия 4.3.1.
Прежде, чем экспортировать ваш компонент программного обеспечения AUTOSAR, проверяйте выбранную версию схемы. Если необходимо изменить выбранную версию схемы, используйте параметр конфигурации модели Generate XML file for schema version.
Примечание
Установите параметры конфигурации модели AUTOSAR на те же значения для главных и моделей, на которые ссылаются. Эта инструкция применяется к Generate XML file for schema version (Embedded Coder), Maximum SHORT-NAME length (Embedded Coder), Use AUTOSAR compiler abstraction macros (Embedded Coder) и Support root-level matrix I/O using one-dimensional arrays (Embedded Coder).
Стандарт AUTOSAR указывает что максимальная длина SHORT-NAME
Элементами XML являются 128 символов.
Задавать максимальную длину для SHORT-NAME
элементы экспортированы генератором кода, набор параметр конфигурации модели Maximum SHORT-NAME length (Embedded Coder) к целочисленному значению между 32 и 128, включительно. Значением по умолчанию являются 128 символов.
Компиляторы для 16-битных платформ (например, Cosmic и Metrowerks для S12X или Определяющий задачу для ST10) используют специальные ключевые слова, чтобы иметь дело с ограниченной 16-битной областью значений обращения. Местоположение данных и кода вне границы 64k выбрано явным образом специальными ключевыми словами. Однако, если такие ключевые слова используются непосредственно в рамках исходного кода, то программное обеспечение должно быть портировано отдельно для каждого семейства микроконтроллеров. Таким образом, программное обеспечение не платформенно независимо.
AUTOSAR задает макросы C, чтобы абстрагировать директивы компилятора (близкие/далекие вызовы памяти) платформенно независимым способом. Эти директивы компилятора, выведенные из 16-битных платформ, включают лучшие КПД кода для 16-битных микроконтроллеров без отдельного портирования исходного кода для каждого компилятора. Этот подход позволяет вашего системного интегратора, а не ваше лицо, осуществляющее внедрение компонента программного обеспечения, чтобы выбрать местоположение данных и кода для каждого компонента программного обеспечения.
Для получения дополнительной информации об абстракции компилятора AUTOSAR смотрите www.autosar.org
.
Чтобы включить генерацию макроса компилятора AUTOSAR, выберите параметр конфигурации модели Use AUTOSAR compiler abstraction macros (Embedded Coder).
Когда вы создаете модель, программное обеспечение применяет макросы абстракции компилятора к глобальным данным и функциональным определениям в сгенерированном коде.
Для данных макросы находятся в следующей форме:
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)
Для модели компонента AUTOSAR с многомерными массивами, если вы устанавливаете размещение параметра конфигурации Массивов модели (Simulink Coder) на Row-major
, можно сохранить размерности многомерных массивов в сгенерированном коде C. Сохранение измерений массива в сгенерированном коде может улучшить интеграцию кода.
Если ваше проектирование приложений требует Column-major
размещение массивов, можно сконфигурировать экспорт ARXML, чтобы поддержать матричный ввод-вывод корневого уровня. Программное обеспечение может экспортировать описания ARXML, которые реализуют матрицы как одномерные массивы.
По умолчанию, для Column-major
размещение массивов, программное обеспечение не позволяет матричный ввод-вывод на корневом уровне. Создавание модели генерирует ошибку. Чтобы включить матричный ввод-вывод корневого уровня, выберите параметр конфигурации модели Support root-level matrix I/O using one-dimensional arrays (Embedded Coder).
Когда размещение Массивов установлено в Row-major
, Матричный ввод-вывод корневого уровня поддержки с помощью одномерных массивов не оказывает влияния.
Исследуйте опции XML, которые вы сконфигурировали при помощи Словаря AUTOSAR. Если вы еще не сконфигурировали их, смотрите, Конфигурируют Опции AUTOSAR XML.
После конфигурирования генерации кода AUTOSAR и опций XML, сгенерируйте код. Чтобы сгенерировать код С и экспортировать XML-описания, создайте модель компонента.
Процесс сборки генерирует 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 |
| Компоненты программного обеспечения, включая:
Это - основной файл ARXML, экспортируемый для модели Simulink. В дополнение к компонентам программного обеспечения файл компонента содержит packageable элементы, которые средство экспорта не перемещает в тип данных, реализацию, интерфейс или файлы синхронизации на основе категории элемента AUTOSAR. |
| Типы данных и связанные элементы, включая:
| |
| Реализация компонента программного обеспечения, включая дескрипторы кода. | |
| Интерфейсы, включая S-R, C-S, M-S, NV, параметр и триггерные интерфейсы. Интерфейсы включают специфичные для типа элементы, такие как элементы данных S-R, операции C-S, основанные на порте параметры или триггеры. | |
| Синхронизация модели, включая выполнимые ограничения порядка выполнения. |
Можно объединить описания компонента XML AUTOSAR назад в инструмент разработки AUTOSAR. Информация компонента AUTOSAR разделена в отдельные файлы, чтобы упростить слияние. Разделение пытается минимизировать количество слияний, которые необходимо сделать. Вы не должны объединять файл типа данных в инструмент разработки, потому что типы данных обычно задаются рано в процессе проектирования. Необходимо, однако, объединить внутренний файл поведения, потому что этой информацией является часть реализации модели.
Чтобы помочь поддержать цикл обработки элементов AUTOSAR между Инструментом разработки AUTOSAR (AAT) и средой модельно-ориентированного проектирования Simulink, генератор кода сохраняет элементы AUTOSAR и их универсальные уникальные идентификаторы (UUIDs) через импорт и экспорт ARXML. Для получения дополнительной информации смотрите Сохранение Туда и обратно Структуры XML-файла AUTOSAR и Информации об элементе.
Для примера того, как сгенерировать AUTOSAR-совместимый код С и экспортировать описания компонента XML AUTOSAR из модели Simulink, смотрите, Генерируют код С AUTOSAR и XML-описания.
Сгенерируйте XML-файл для версии схемы (Embedded Coder) | Максимальная длина КРАТКОГО НАЗВАНИЯ (Embedded Coder) | матричный ввод-вывод корневого уровня Поддержки с помощью одномерных массивов (Embedded Coder) | Использование макросы абстракции компилятора AUTOSAR (Embedded Coder)