Of those approaches mentioned, RTIC is the one I find most interesting. It's worth investigating whether you're dealing with RTOS problems or not. It's not actually an RTOS the conventional sense, but a concurrency framework that repurposes the Cortex-M NVIC as a highly efficient hardware accelerated scheduler, with compile time guaranteed deadlock-free operation in Rust.
Of those approaches mentioned, RTIC is the one I find most interesting. It's worth investigating whether you're dealing with RTOS problems or not. It's not actually an RTOS the conventional sense, but a concurrency framework that repurposes the Cortex-M NVIC as a highly efficient hardware accelerated scheduler, with compile time guaranteed deadlock-free operation in Rust.