Генерация кода программных задач

Simulink® модель, содержащая блок Task Manager, моделирует выполнение задачи. Когда модель развертывается на аппаратной плате SoC, SoC- Blockset™ автоматически создает и присваивает задачи потокам, связывает прерывания, сообщения и системные события с сгенерированным кодом модели.

Задачи, управляемые таймером

Модель SoC Blockset, при реализации на оборудовании в качестве сгенерированного и скомпилированного кода, использует таймер операционной системы (OS), чтобы управлять временным шагом модели с базовой скоростью. Все основанные на времени сигналы выводят свои временные шаги, известные как субскорости, из временного шага базовой скорости модели. Задача, управляемая таймером, созданная из блока Task Manager, использует счетчик, который увеличивается на каждом шаге таймера базовой скорости. Когда счетчик достигает целого числа, кратного базовой скорости, сгенерированный код постится в семафоре, связанном с этой задачей. Запись в семафор разблокирует поток и выполняет задачу.

Событийно-управляемая задача

Каждая событийно-управляемая задача, созданная из блока Task Manager, получает уникальный семафор. Уникальное событие в другом месте системы постирует в этом семафоре и переводит поток задачи в рабочее состояние. Ядро ОС обрабатывает управление потоком задач до тех пор, пока оно не вернется в состояние ожидания.

См. также

|

Похожие темы