RTOS против традиционного кодирования прошивки

Я довольно новичок во встроенном мире. У меня есть небольшой опыт по программированию прошивок для свободно распространяемого микропроцессора на базе ARM M0+. В настоящее время я работаю над новым проектом с использованием платы разработки CML-5282 (M5282LITE), и он поставляется с RTXC Quadros RTOS. Мне было интересно, в чем разница между RTOS и просто кодированием в IDW codewarrior. Они сосуществуют, а ОСРВ просто облегчают планирование? Или вы можете заменить IDE на RTOS все вместе? Я понятия не имею, что такое RTOS, пожалуйста, дайте мне понимание, я был бы признателен.

3 ответа

Основным отличием является возможность выполнять многозадачность: выполнять больше задач параллельно. Это делается планировщиком, который является ядром операционной системы. Поскольку это операционная система реального времени (ОСРВ), задачи могут планироваться в соответствии с некоторым агорифмом планирования в реальном времени. Наиболее популярным является фиксированный приоритет (т. Е. Задачи имеют статический приоритет, и планировщик всегда запускает задачу с наивысшим приоритетом).

Плюсы RTOS:

  • Вы можете разделить ваше приложение на несколько задач, которые выполняются одновременно
  • Некоторые драйверы могут быть уже доступны и доступны через стандартные API

Минусы RTOS:

  • Некоторые издержки из-за переключения контекста
  • Более сложная отладка (из-за расы на ресурсы, распределенные между задачами)

Разные ОСРВ различаются по размеру и функциям, но, по сути, ОСРВ обеспечивает планирование (обычно приоритетное планирование на основе приоритетов) задач или потоков, механизмов синхронизации, таймеров и межпроцессного взаимодействия.

Типичная ОСРВ предоставляется в виде статической библиотеки ссылок, которую вы связываете со своим приложением, как и любая другая библиотека. IDE - это совсем другое, хотя в некоторых случаях вы получаете некоторую интеграцию RTOS с IDE с инструментами отладки во время выполнения и (реже) отладкой на уровне потоков.

Вы можете ознакомиться с курсом " Основы операционных систем реального времени" Джека Гансле. Он использует uC/OS-II в примерах, но является достаточно общим, и принципы применяются.

RTOS- это библиотека кода, которую вы свяжете с кодом вашего приложения. RTOS предоставляет процедуры, которые помогут вам создать многозадачное приложение. Это включает в себя планировщик и функции взаимодействия между задачами, такие как семафоры, очереди и почтовые ящики.

ОСРВ не заменяет вашу IDE. Вам все еще нужны инструменты для редактирования, компиляции, компоновки и отладки вашего приложения, и это то, что предоставляет IDE. Иногда среда IDE поддерживает RTOS, а это означает, что отладчик предоставляет дополнительную помощь в отладке многозадачного приложения. Например, он может отображать типы данных RTOS, такие как задачи и семафоры, в удобочитаемом виде. Или, возможно, он поддерживает точки останова для конкретных задач.

Другие вопросы по тегам