В чем разница между встроенной программой с RTOS и без RTOS - PullRequest
1 голос
/ 14 июня 2019

Может кто-нибудь объяснить мне, в чем разница между встроенной программой с RTOS и без нее. Так как, когда я начинаю изучать встроенный, я всегда пишу код без какой-либо ОС, весь код разделяется на подфункцию и основную функцию, подфункция вызывается внутри основной функции, и она по-прежнему работает правильно, почему она по-прежнему работает без ОС? И если я добавлю RTOS к своему коду, что произойдет? Все ответы приветствуются, большое спасибо

Ответы [ 2 ]

1 голос
/ 15 июня 2019

Вы не дали никакого контекста этому вопросу, но допустим, что вы пытаетесь запрограммировать какой-то микроконтроллер со средой разработки, которая позволяет вам работать с бесплатной ОСРВ .

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

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

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

0 голосов
/ 27 июня 2019

Вы, похоже, заинтересованы в переходе от базовой архитектуры "superloop" (так называемый передний план-фон или "main + ISRs") к ОСРВ.

Для этого я бы порекомендовал следующие видеоуроки на YouTube:

Архитектура переднего плана / фона: https://youtu.be/AoLLKbvEY8Q

RTOS part1: несколько суперциклов и ручное переключение контекста https://youtu.be/TEq3-p0GWGI

RTOS part2: автоматизация переключения контекста https://youtu.be/PKml9ki3178

RTOS часть 3: планирование (циклический перебор) https://youtu.be/PX_LDyiXs5Y

RTOS часть 4: эффективное блокирование https://youtu.be/JurV5BgjQ50

RTOS часть 5: планирование в реальном времени (на основе приоритетов) https://youtu.be/kLxxXNCrY60

RTOS часть 6: синхронизация с семафорами https://youtu.be/IrDcBZX0AdY

RTOS часть 7: взаимное исключение https://youtu.be/kcpVI3IjUUM

...