Требования к файловой структуре проекта

Рекомендуется следующее распределение модулей ОС по файлам проекта:

Файл Что содержит
global.c Описание всех глобальных переменных проекта
int.c Модуль поддержки ISR (если это задано в индивидуальном задании)
os.c Модуль, предназначенный для управления ОС
resource.c Модуль, предназначенный для управления ресурсами
task.c Модуль, предназначенный для управления задачами
event.c Модуль, предназначенный для управления событиями (если это задано в индивидуальном задании)

Тем не менее, соблюдение этих рекомендаций не является обязательным. Можно, например, поместить весь полезный код операционной системы в один файл os.c, а остальные оставить пустыми.

Все макросы, описания типов, декларации функций и другие объекты языка С, которые необходимо включать в пользовательское приложение, должны быть сосредоточены в одном заголовочном файле rtos_api.h.

Для организации взаимодействия модулей операционной системы между собой можно использовать любое количество заголовочных файлов. Их названия и содержимое не регламентируется.


[1] Это состояние необходимо реализовать только в проектах с управлением событиями.

[2] Вызов диспетчера необходим не во всех случаях. Необходимость вызова диспетчера при захвате/освобождении ресурса зависит от протокола управления ресурсами и определяется тем был ли измены приоритеты задач при вызове планировщика или нет.

[3] Вызов диспетчера необходим если флаги нужных задаче событий не установлены и задача переводится в состояние ожидания.




double arrow
Сейчас читают про: