Our Experience of Teaching Embedded Real-Time Operating System

Document Type


Presentation Date


Conference Name

American Society of Engineering Education 2015 Illinois-Indiana Section Conference

Conference Location

Indiana University Purdue University Fort Wayne, IN


In the last twenty years, embedded computer systems have seen significant changes. The embedded microcontrollers (MCU) have shifted from 8-bit slow CPUs, kilobytes of memory and limited peripheral devices to 32-bit, networked, megabytes of memory and rich peripheral devices such as I/Os, timers, PWMs, UART, SPI, CAN, USB, Ethernet, etc. In the last 10 years, 32-bit ARM MCUs have become dominant in embedded system designs. Recently, in ARM Cortex-M series MCUs become very popular both in industry and engineering education. The ARM Cortex-M processor family is a range of scalable and compatible, energy efficient, easy to use processors designed to help developers meet the needs of tomorrow’s smart and connected embedded applications. Those demands include delivering more features at a lower cost, increasing connectivity, better code reuse and improved energy efficiency. For Cortex-M MCUs, the development toolchains range from open-source to propriety commercial versions. Many kinds of Real-Time Operating Systems (RTOS) are also available for Cortex-M series, such as CMSIS RTX, Free RTOS, uC/OS-II/III, etc. In this paper, we shared our experiences of teaching ECE 485 – Embedded Real-Time Operating System at Indiana University Purdue University at Fort Wayne (IPFW). Several popular development toolchains are compared for their pros and cons. The features of two RTOSs (CMSIS RTX and uC/OS-II) are described. Project assignments using RTOS are illustrated.



Wang2.pdf (112 kB)

This document is currently not available here.