Необязательно: Сгенерируйте адаптивный код Компонента программного обеспечения AUTOSAR (требует Embedded Coder)

Если у вас есть доступ к Simulink® Coder™ и Embedded Coder® программное обеспечение, можно создать адаптивную модель AUTOSAR. Когда вы создаете адаптивную модель AUTOSAR, генератор кода производит код С++, который соответствует стандарту AUTOSAR для описаний адаптивной платформы и ARXML.

  1. Если еще не открыть, откройте сконфигурированную версию модели my_autosar_LaneGuidance.

  2. Инициируйте генерацию кода нажатием Ctrl+B. Генератор кода производит код С++ и файлы ARXML. Сгенерированный код соответствует стандарту AUTOSAR, что позволяет планировать код с помощью окружения времени выполнения AUTOSAR.

    Генератор кода также создает и отображает отчет генерации кода.

  3. В отчете генерации кода проверьте сгенерированный код. В текущем 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
    Обеспечьте среду для выполнения кода услуги адаптивного программного компонента.
  4. Откройте и проверьте отчет по интерфейсам кода. Эти сведения содержатся в файлах 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 размерности

  5. Проверить, появляются ли внесенные строением изменения в сгенерированном коде, можно с помощью панели «Код» в ракурсе «Код». Чтобы открыть панель « Код», на вкладке AUTOSAR, нажмите View Code. Панель Code откроется справа от модели.

    С файловой my_autosar_LaneGuidance.cpp выбран, в поле поиска введите company (одно из значений пространства имен, заданных для сервисных интерфейсов). Это Представление кода подчёркивает образцы company, показывающий, как символы пространства имен применяются в коде.

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

Похожие темы