Генератор кода поддерживает интегрирование сгенерированного кода с операционными системами и процессорами. Для получения дополнительной информации смотрите Embedded Coder Поддерживаемые аппаратные средства.
Этот пример показывает, как моделировать и сгенерировать код для асинхронных событий на примере RTOS (VxWorks).
Методы интегрирования операционной системы, которые продемонстрированы в этом примере, используют один или несколько блоков блоки в библиотеке vxlib1
. Эти блоки обеспечивают примеры отправной точки, чтобы помочь вам разработать авторские блоки для своего целевого окружения.
Модель в качестве примера
Откройте модель rtwdemo_vxworks
.
model = 'rtwdemo_vxworks'; open_system(model); %
Образцовое описание
Модель в качестве примера содержит две асинхронно выполняемых подсистемы, Count
и Algorithm
. Count
выполняется на уровне прерывания. Algorithm
выполняется в асинхронной задаче. Сгенерированный код для этих блоков адаптируется для операционной системы VxWorks®. Однако можно изменить Async Interrupt
и блоки Task Sync
, чтобы сгенерировать код для среды выполнения, используете ли вы операционную систему или нет.
Сопутствующая информация
Сгенерируйте процедуры обработки прерывания (Simulink Coder)
Таймеры в асинхронных задачах (Simulink Coder)
Создайте индивидуально настраиваемую асинхронную библиотеку (Simulink Coder)
Импортируйте асинхронные данные о событиях для симуляции (Simulink Coder)
Загрузите данные к входным портам Корневого Уровня (Simulink)
Асинхронные События (Simulink Coder)
Переходы уровня и асинхронные блоки (Simulink Coder)
Асинхронные ограничения поддержки (Simulink Coder)
Этот пример генерирует код для многоскоростной модели дискретного времени, сконфигурированной для цели многозадачной операционной системы (VxWorks®). Модель содержит два шага расчета. Блок 1 Inport и блок 2 Inport задают 1 второй и 2-секундный шаг расчета, соответственно, которые осуществляются Периодической ограничительной установкой параметра конфигурации решателя шага расчета. Решатель установлен для многозадачной операции, что означает, что блок Rate Transition требуется, чтобы гарантировать, что целостность данных осуществляется, когда 1 вторая задача вытесняет 2 вторых задачи. Simulink® и генератор кода осуществляют соответствующие переходы уровня. Эта модель задает явный блок Rate Transition. Также можно сообщить, что Simulink®, чтобы вставить этот блок для вас путем установки образцового параметра конфигурации Автоматически обрабатывает переход уровня для передачи данных.
Модель сконфигурирована, чтобы отобразить цвета шага расчета после обновления схемы. Красный представляет самый быстрый дискретный шаг расчета в модели, зеленый представляет второе самое быстрое, и желтый представляет смешанные шаги расчета. Нажмите кнопку Display Sample Time Colors, чтобы обновить схему и показать цвета шага расчета.
Модель в качестве примера
model = 'rtwdemo_mrmtos';
open_system(model);