Если у вас есть доступ к Simulink® Coder™ и Embedded Coder® ПО можно создать модель AUTOSAR. Когда вы создаете модель AUTOSAR, генератор кода производит код С, который соответствует стандарту AUTOSAR и описаниям ARXML.
Если еще не открыть, откройте сконфигурированную версию модели my_autosar_swc
.
Инициируйте генерацию кода нажатием Ctrl+B. Генератор кода производит коды С и ARXML. Сгенерированный код соответствует стандарту AUTOSAR, что позволяет планировать код с помощью окружения времени выполнения AUTOSAR.
Генератор кода также создает и отображает отчет генерации кода.
В отчете генерации кода проверьте сгенерированный код. В текущем MATLAB® папка, my_autosar_swc_autosar_rtw
папка содержит основные файлы, перечисленные в этой таблице.
Сгенерированные коды
Файлы | Описание |
---|---|
my_autosar_swc.c | Содержит точки входа для кода, который реализует алгоритм модели. Этот файл включает код планирования скорости. |
my_autosar_swc.h | Объявляет структуры данных моделей и открытый интерфейс для точек входа модели и структур данных. |
rtwtypes.h | Определяет типы данных, структуры и макросы, которые требуются сгенерированному коду. |
my_autosar_swc_component.arxml my_autosar_swc_datatype.arxml my_autosar_swc_implementation.arxml my_autosar_swc_interface.arxml | Содержат элементы и объекты, которые представляют компоненты программного обеспечения AUTOSAR, порты, интерфейсы, типы данных и пакеты. Файлы ARXML интегрируются в окружение выполнения AUTOSAR. Можно импортировать файлы ARXML в окружение Simulink с помощью инструмента AUTOSAR ARXML importer. |
Откройте и проверьте отчет по интерфейсам кода. Эти сведения содержатся в файлах ARXML. Генератор окружения во время выполнения использует описания ARXML для взаимодействия кода с окружением во время выполнения AUTOSAR.
Функции точки входа:
Функция точки входа инициализации - void my_autosar_swc_Init(void)
. При запуске вызовите эту функцию один раз.
Выход и обновление функции точки входа - void my_autosar_swc_Step(void)
. Периодически вызывайте эту функцию с самой быстрой скоростью в модели. Для этой модели вызывайте функцию каждую секунду. Чтобы добиться выполнения в реальном времени, присоедините эту функцию к таймеру.
Выход и обновление функции точки входа - void my_autosar_swc_Step1(void)
. Периодически вызывайте эту функцию на второй самой быстрой скорости в модели. Для этой модели вызывайте функцию каждые 2 секунды. Чтобы добиться выполнения в реальном времени, присоедините эту функцию к таймеру.
Функции точки входа также доступны в редакторе Отображения, на вкладке Functions. Эти сгенерированные функции вызываются из внешнего кода или из версии сгенерированной основной функции, которую вы изменяете. При необходимости можно изменить имя функции. Для функции шага базовой скорости модели на основе скорости и для функций шага для моделей экспорта функций, можно настроить имя функции и аргументы.
Входные порты:
Блок In1_1s - Требуйте порт, интерфейс: отправитель-получатель типа real-T из 1 размерности
Блок In2_2s - Требуйте порт, интерфейс: отправитель-получатель типа real-T из 1 размерности
Выходные порты:
Блок Out1 - Обеспечивает порт, интерфейс: отправитель-получатель типа real-T из 1 размерности
Блок Out2 - Обеспечивает порт, интерфейс: отправитель-получатель типа real-T из 1 размерности
Проверить, появляются ли внесенные строением изменения в сгенерированном коде, можно с помощью панели «Код» в ракурсе «Код». Чтобы открыть панель « Код», на вкладке AUTOSAR, нажмите View Code. Панель Code откроется справа от модели. В поле поиска введите In1_1s_SS1
новое имя порта компонента программного обеспечения AUTOSAR In1_1s
. Затем нажмите кнопку со стрелой, чтобы перейти к образцам имени в файле ARXML my_autosar_swc_component.arxml
. Проверьте правильность параметров атрибутов связи, измененных для порта компонента программного обеспечения AUTOSAR.
Используйте панель Code perspective Code, чтобы исследовать другие аспекты сгенерированного кода. Для примера, если вы выбираете файл my_autosar_swc.c
, а затем щелкните в поле поиска, появляется список ссылок на элементы кода, включая функции точки входа. Используйте ссылки для быстрого перехода к ключевым областям сгенерированного кода C.