Цитата
Понятно, что использование RTOS (в данном случае ucos) несколько затормозит систему. А какая будет от нее польза, кроме возможности перехода на другой кристалл? Есть ли существенное ускорение в написании программы (и за счет чего)?
Скорее не ускорение, а удобство пользования, модификаций и повторного использования кода.
Например printf() не самая легкая функция, часто съедает место сравнимое с остальным кодом, но.... Правильно, никаких проблем с формированием строк любого вида и возможность изменить формат представления заменой двух-трех форматных флагов. Более того, копая этот код много времени спустя, легко понять, что идет на вывод, что не всегда возможно в случае супероптимальных самописных функций.
RTOS можно с некоторой натяжкой интерпретировать, как библиотеку, которая предоставляет функции разруливания приоритетов задач и арбитража доступа к аппаратным ресурам.
Обычно любой сложный код обязательно содержит флаги, которые говорят о занятости какой-либо периферии, определяют последовательность выполнения задач и их приоритет.
RTOS предоставляет все это хозяйство в удобном для работы виде,
с возможностью эти приоритеты менять быстро и без побочных последствий.
Если контроллер крутится на одной задаче (контроллер клавиатуры-индикации, опрос датчика), то RTOS скорее всего излишня. Если надо работать с двумя УАРТами, сканить клавиатуру, выводить на дисплей текущее время, писать лог в датафлэш и при этом успевать дергать ногами, RTOS позволит легко структурировать эти задачи по отдельным процессам. С возможностью легко добавлять и изымать оные из общей программы.