These things are complicated enough to justify an operating system, it might as well be an operating system we're all familiar with. Linux scales down to a basic firmware as well as up to a desktop operating system. FreeRTOS is also an option though.