Skip to Content
Home /  Courses And Programs / Embedded Real-Time Operating System (RTOS)

Learn to write real-time event-driven applications


running under an embedded Real Time Operating System (RTOS). FreeRTOS is used as an example which will be examined at the C source code level. Practical applications running on an RTOS for embedded computers in event-driven systems are also described.  This course is targeted for an embedded software engineer or scientist developing applications with hard real-time scheduling requirements. Course instruction and lab assignments are conducted using the C programming language. Therefore, a working level knowledge of C is required.


Course Learning Outcomes:

  • Differentiate between a real-time and logical time system
  • Prioritize tasks in a real-time system using rate monotonic analysis
  • Identify the differences between various scheduling algorithms such as table-driven and priority preemptive schedulers
  • Construct single and multitask applications using a real time operating system
  • Synchronize tasks created within the operating system using semaphores and mutexes
  • Analyze real-rime application performance through the use of statistics

Course Typically Offered: Online in Fall and Spring quarters.

Prerequisites: Completion of ECE-40097 Embedded Controller Programming for Real-Time Systems or equivalent knowledge and experience.

Hardware: STM32 IOT Discovery Node 915MHZ - Mfg. Part # B-L475E-IOT01A. Part can be purchased from MOUSER Electronics or Digi-Key Electronics or any other reputable electronics dealer. This microcontroller is used in all four required courses in this program.

Next Step: Upon completion of this class, consider enrolling in other courses in the Embedded Systems Engineering certificate program.

Contact: For more information about this course, please email

Course Number: ECE-40290
Credit: 3.00 unit(s)
Related Certificate Programs: Embedded Systems Engineering