RTOS and Bare Metal Software Development