При наличии доступа к программному обеспечению Simulink ® Coder™ и Embedded Coder ® можно создать адаптивную модель AUTOSAR. При построении адаптивной модели AUTOSAR генератор кода создает код C++, соответствующий стандарту AUTOSAR для описаний Adaptive Platform и ARXML.
Если она еще не открыта, откройте настроенную версию модели. my_autosar_LaneGuidance.
Инициируйте создание кода, нажав клавиши Ctrl + B. Генератор кода создает файлы C++ и ARXML. Созданный код соответствует стандарту AUTOSAR, что позволяет запланировать код в среде выполнения AUTOSAR.
Генератор кода также создает и отображает отчет о создании кода.
В отчете по созданию кода просмотрите созданный код. В текущей папке MATLAB ® my_autosar_LaneGuidance_autosar_adaptive содержит основные файлы, перечисленные в этой таблице.
Созданные файлы кода
| Файлы | Описание |
|---|---|
my_autosar_LaneGuidance.cpp | Содержит точки входа для кода, реализующего алгоритм модели. Этот файл содержит код планирования скорости. |
my_autosar_LaneGuidance.h | Объявляет структуры данных модели и открытый интерфейс с точками входа модели и структурами данных. |
rtwtypes.h | Определяет типы данных, структуры и макросы, необходимые созданному коду. |
my_autosar_LaneGuidance_component.arxmlmy_autosar_LaneGuidance_datatype.arxmlmy_autosar_LaneGuidance_interface.arxml | Содержит элементы и объекты, представляющие программные компоненты, порты, интерфейсы, типы данных и пакеты AUTOSAR. Файлы ARXML интегрируются в среду выполнения AUTOSAR. Файлы ARXML можно импортировать в среду Simulink с помощью средства импорта AUTOSAR ARXML. |
main.cppMainUtils.hpp | Предоставляет инфраструктуру для запуска адаптивного кода службы компонентов программного обеспечения. |
Откройте и просмотрите отчет по кодовому интерфейсу. Эта информация записывается в файлы ARXML. Генератор среды выполнения использует описания ARXML для сопряжения кода с средой выполнения AUTOSAR.
Функции начального уровня
Инициализация функции начальной точки - void my_autosar_LaneGuidanceModelClass::initialize(). При запуске вызовите эту функцию один раз.
Выходная функция точки входа - void my_autosar_LaneGuidanceModelClass::step(). Вызывайте эту функцию периодически, каждые 0,1 секунды.
Функция точки входа окончания - void my_autosar_LaneGuidanceModelClass::terminate(). При завершении работы вызовите эту функцию один раз.
Входные порты:
Block LeftleDistance - требуется порт, интерфейс: отправитель-получатель типа real-T измерения 1
Block leftTurnIndicator - требуется порт, интерфейс: отправитель-получатель типа real-T измерения 1
Блок rightLaneDistance - Требует порта, интерфейса: отправитель-приемник типа, реального-T из 1 измерения
Block riveTurnIndicator - требуется порт, интерфейс: отправитель-получатель типа real-T измерения 1
Block leftCarInBlindSpot - требуется порт, интерфейс: отправитель-получатель типа real-T измерения 1
Block reyCarInBlindSpot - требуется порт, интерфейс: отправитель-получатель типа real-T измерения 1
Выходные порты:
Block leftLeft Indicator - Порт, определенный снаружи типа real-T размера 1
Block rightTaridIndicator - Порт, определенный снаружи типа real-T размера 1
Проверьте, отображаются ли внесенные изменения конфигурации в созданном коде, с помощью панели «Код» в ракурсе «Код». Чтобы открыть панель «Код», на вкладке AUTOSAR нажмите «Просмотр кода». Панель «Код» откроется справа от модели.
С файлом my_autosar_LaneGuidance.cpp выбрано, в поле поиска введите company (одно из значений пространства имен, определенных для сервисных интерфейсов). Представление «Код» выделяет экземпляры company, показывающий, как символы пространства имен применяются в коде.

Используйте панель «Код» для просмотра других аспектов созданного кода. Например, при выборе файла my_autosar_LaneGuidance.cpp, а затем щелкните в поле поиска, появится список ссылок на элементы кода. Используйте ссылки для быстрого перехода к ключевым областям созданного кода.