Если у вас есть доступ к 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 importer. |
main.cpp MainUtils.hpp | Обеспечьте среду для выполнения кода услуги адаптивного программного компонента. |
Откройте и проверьте отчет по интерфейсам кода. Эти сведения содержатся в файлах ARXML. Генератор окружения во время выполнения использует описания ARXML для взаимодействия кода с окружением во время выполнения AUTOSAR.
Функции точки входа
Функция точки входа инициализации - void my_autosar_LaneGuidanceModelClass::initialize()
. При запуске вызовите эту функцию один раз.
Выход точки входа - void my_autosar_LaneGuidanceModelClass::step()
. Вызывайте эту функцию периодически, каждые 0,1 секунды.
Функция точки входа терминала - void my_autosar_LaneGuidanceModelClass::terminate()
. При завершении работы вызовите эту функцию один раз.
Входные порты:
Block leftLaneDistance - Требуется порт, интерфейс: отправитель-получатель типа real-T размерности 1
Блок leftTurnIndicator - Требуется порт, интерфейс: отправитель-получатель типа real-T из 1 размерности
Блок rightLaneDistance - Требуется порт, интерфейс: отправитель-получатель типа real-T из 1 размерности
Блок rightTurnIndicator - Требуется порт, интерфейс: отправитель-получатель типа real-T из 1 размерности
Block leftCarInBlindSpot - Требуется порт, интерфейс: отправитель-получатель типа real- T размерности 1
Блокируйте rightCarInBlindSpot - Требуйте порт, интерфейс: отправитель-получатель типа real- T размерности 1
Выходные порты:
Блок leftHazardIndicator - Порт, заданный внешне для типа real-T из 1 размерности
Block rightHazardIndicator - Порт, заданный внешне для типа real-T из 1 размерности
Проверить, появляются ли внесенные строением изменения в сгенерированном коде, можно с помощью панели «Код» в ракурсе «Код». Чтобы открыть панель « Код», на вкладке AUTOSAR, нажмите View Code. Панель Code откроется справа от модели.
С файловой my_autosar_LaneGuidance.cpp
выбран, в поле поиска введите company
(одно из значений пространства имен, заданных для сервисных интерфейсов). Это Представление кода подчёркивает образцы company
, показывающий, как символы пространства имен применяются в коде.
Используйте панель Code perspective Code, чтобы исследовать другие аспекты сгенерированного кода. Для примера, если вы выбираете файл my_autosar_LaneGuidance.cpp
, а затем щелкните в поле поиска, появится список ссылок на элементы кода. Используйте ссылки для быстрого перехода к ключевым областям сгенерированного кода.