В некотором проектике есть встроенный шелл. Команды принимает из аппаратного USART порта, либо через другие интерфейсы. Вывод отдает туда же. Сейчас все реализовано вручную, на прерываниях и DMA. Никакой ОС с готовым механизмом синхронизации или блокирования задач нет. Так вот, вопрос, можно ли будет упростить код используя некую ОС, например freeRTOS. Мне кажется, что я получу больше проблем, чем их решу. Блокирование же надо самому будет делать.
Немного подробнее о задаче. Все потоки байтовые, передается текст. У шелла есть два потока, на ввод и на вывод. Есть USART который тоже может на ввод и вывод. Сейчас они соединены перекрестно, выход одного на вход другого. Может появится другой порт, несколько сложнее чем USART, данные будут обернуты в пакеты. У него тоже будет ввод и вывод. И тогда понадобится соединить не два конца а три. То есть читать из одного места а записывать в два и наоборот. Это можно сделать и тем способом, что есть сейчас, но хочется сделать код простым и понятным, не обязательно за счет использования rtos.
Других причин использования rtos не нахожу, основная работа идет в прерываниях и там важно отсутствие лишних задержек.
Спасибо.