Я пытаюсь сгенерировать ШИМ с использованием приложения в пространстве пользователя (работающего с приоритетом 99) на исправленном PREEMPT_RT ядре Linux (v4.1.30) на четырехъядерной машине PowerP C с тактовой частотой 1,4 ГГц. Я пытаюсь найти следующее относительно точности и пределов моей системы:
Какую минимальную продолжительность можно установить в nanosleep()
для достижения точного ШИМ?
Есть ли какой-либо метод / уравнение, которое я могу использовать для прогнозирования точности моей системы (например, время планирования / переключения контекста)?
В контексте пункт 1, есть ли ограничение по времени, до которого я могу считать свою систему сложной в реальном времени?
Я пишу этот вопрос, потому что видел противоречивые утверждения относительно исправленного ядра PREEMPT_RT. Некоторые люди утверждают, что жесткое поведение в реальном времени все еще невозможно в Linux, в то время как другие выступают против этого.
PS: я использую пример PWM только для тестирования, варианты использования могут также включать выполнение спецификации c в точности интервалы и обработка внешних прерываний et c.