I used RTEMS on Movidius Myriad vision CPU (running on LEON- a SPARC clone).
I remember the RTEMS event concept was not very good- the events are globally shared. You are better off using semaphores.
>I have realized that for a majority of the embedded software using an RTOS is an overkill
I agree with this. Instead of an OS, we like to use a small framework that provides a CLI, database and UART communications (YMODEM protocol). It's a single stack system that provides a simple work-queue for scheduling callbacks, and for interrupt code to schedule non-interrupt code. It works for almost everything as long as you are comfortable programming in an event-driven style.
https://github.com/nklabs/libnklabs
(recently added support for AVR 8-bit processors).