Рекурсивная функция с автоматической переменной-массивом размером с минимальный размер стека (байт 256 эдак) спасёт в общем-то. Хуже другое, я смысла в кооперативной RTOS практически не вижу. Нужна скорей некая (а-ля libevent хотя бы) библиотека для событийного программирования, а уж работать оно может и в одном треде вытесняющей RTOS, и без RTOS...