Arduino + FreeRTOS + C++ = Platform for Teaching Real-Time Software Design

I've run FreeRTOS on a 328P, so it's certainly possible. But having multiple threads, each with its own stack, is a real challenge given the tiny RAM on that target.