Если у вас есть доступ к Simulink® Coder™ и программному обеспечению Embedded Coder®, можно создать адаптивную модель AUTOSAR. Когда вы создаете адаптивную модель AUTOSAR, генератор кода производит Код С++, который выполняет стандарт AUTOSAR для Адаптивной Платформы и описания ARXML.
Если не уже открытый, откройте свою сконфигурированную версию модели my_autosar_LaneGuidance
.
Инициируйте генерацию кода путем нажатия Ctrl+B. Генератор кода производит Код С++ и файлы ARXML. Сгенерированный код выполняет стандарт AUTOSAR так, чтобы можно было запланировать код со средой выполнения AUTOSAR.
Генератор кода также производит и отображает отчет генерации кода.
В отчете генерации кода рассмотрите сгенерированный код. В вашей текущей папке MATLAB®, my_autosar_LaneGuidance_autosar_adaptive
папка содержит первичные файлы, перечисленные в этой таблице.
Файлы сгенерированного кода
Файлы | Описание |
---|---|
my_autosar_LaneGuidance.cpp | Содержит точки входа для кода, который реализует алгоритм модели. Этот файл включает код планирования уровня. |
my_autosar_LaneGuidance.h | Объявляет структуры данных модели и открытый интерфейс к точкам входа модели и структурам данных. |
rtwtypes.h | Задает типы данных, структуры и макросы, которых требует сгенерированный код. |
my_autosar_LaneGuidance_component.arxml my_autosar_LaneGuidance_datatype.arxml my_autosar_LaneGuidance_interface.arxml | Содержите элементы и объекты, которые представляют компоненты программного обеспечения AUTOSAR, порты, интерфейсы, типы данных и пакеты. Вы интегрируете файлы ARXML в среду выполнения AUTOSAR. Можно импортировать файлы ARXML в окружение Simulink при помощи инструмента средства импорта AUTOSAR ARXML. |
main.cpp MainUtils.hpp | Служите основой для выполнения адаптивного служебного кода компонента программного обеспечения. |
Откройте и рассмотрите Отчет Интерфейса Кода. Эта информация получена в файлах ARXML. Генератор среды выполнения использует описания ARXML, чтобы соединить интерфейсом с кодом в среду выполнения AUTOSAR.
Функции точки входа
Функция точки входа инициализации — void my_autosar_LaneGuidanceModelClass::initialize()
. При запуске вызовите эту функцию однажды.
Выведите функцию точки входа — void my_autosar_LaneGuidanceModelClass::step()
. Вызывайте эту функцию периодически каждую 0.1 секунды.
Функция точки входа завершения — void my_autosar_LaneGuidanceModelClass::terminate()
. При завершении работы вызовите эту функцию однажды.
Input port:
Блокируйте leftLaneDistance — порт Require, интерфейс: получатель отправителя типа, действительного-T из 1 размерности
Блокируйте leftTurnIndicator — порт Require, интерфейс: получатель отправителя типа, действительного-T из 1 размерности
Блокируйте rightLaneDistance — порт Require, интерфейс: получатель отправителя типа, действительного-T из 1 размерности
Блокируйте rightTurnIndicator — порт Require, интерфейс: получатель отправителя типа, действительного-T из 1 размерности
Блокируйте leftCarInBlindSpot — порт Require, интерфейс: получатель отправителя типа, действительного-T из 1 размерности
Блокируйте rightCarInBlindSpot — порт Require, интерфейс: получатель отправителя типа, действительного-T из 1 размерности
Выходные порты:
Блокируйте leftHazardIndicator — Порт, заданный внешне типа, действительного-T из 1 размерности
Блокируйте rightHazardIndicator — Порт, заданный внешне типа, действительного-T из 1 размерности
Проверяйте, появляются ли изменения конфигурации, которые вы сделали, в сгенерированном коде при помощи Сигнального полотнища в перспективе Кода. Чтобы открыть Сигнальное полотнище, на вкладке AUTOSAR, выбирают View Code. Сигнальное полотнище открывается справа от модели.
С файлом my_autosar_LaneGuidance.cpp
выбранный, в поле поиска, company
типа (одно из значений пространства имен, которые вы задали для сервисных интерфейсов). Представление кода подсвечивает экземпляры
company
, показ, как символы пространства имен применяются в коде.
Используйте перспективное Сигнальное полотнище Кода, чтобы исследовать другие аспекты сгенерированного кода. Например, если вы выбираете файл my_autosar_LaneGuidance.cpp
, и затем щелкните в поле поиска, список ссылок на элементы кода появляются. Используйте ссылки, чтобы быстро перейти к ключевым областям сгенерированного кода.