Asee peer logo

Use of FreeRTOS in Teaching Real-time Embedded Systems Design Course

Download Paper |


2014 ASEE Annual Conference & Exposition


Indianapolis, Indiana

Publication Date

June 15, 2014

Start Date

June 15, 2014

End Date

June 18, 2014



Conference Session

Laboratory Applications of Computers

Tagged Division

Computers in Education

Page Count


Page Numbers

24.1307.1 - 24.1307.11



Permanent URL

Download Count


Request a correction

Paper Authors


Nannan He Minnesota State University, Mankato

visit author page

Nannan He received the Ph.D. in computer engineering from Virginia Tech. From 2012 to present she is an Assistant Professor at the ECET department in Minnesota State University at Mankato. Her teaching and research interests are in safety-critical embedded software, real-time embedded systems, and software verification. She is an IEEE member and reviewers for many conferences and journals in EDA field.

visit author page


Han-Way Huang Minnesota State University, Mankato

visit author page

Ph.D. in computer engineering from Iowa State University
Professor of ECET Department of Minnesota State University, Mankato

visit author page

Download Paper |


Use of FreeRTOS in Teaching Real-time Embedded Systems Design CourseAbstractThis paper presents our experience on teaching the course of “Real-time Embedded SystemsDesign” using the free, open source Real-time Operating System (RTOS) called FreeRTOS.It introduces the objectives, student outcomes and instruction approach employed in this course.The focus is to describe the details of utilizing FreeRTOS as a case study of RTOS and its usagein the lab sessions from exercises preparation, lab equipment setup and implementation.This real-time embedded systems design course is for senior and graduate electrical andcomputer engineering major students. It focuses on teaching students real-time systems designand applications from the practitioner’s point of view, as compared with many graduate-levelreal-time computing courses which target at the research and theoretical topics. This course notonly includes RTOS relevant contents, such as multi-task scheduling, system services, andresource policies; but also covers some application issues for developing real-time systems, suchas microcontroller hardware, requirement analysis, performance analysis and verification. Aftertaking this course, students are expected to demonstrate the ability of correctly defining anddesigning real-time systems, and the ability of basic real-time application development. Activelearning and hands-on learning are the fundamental teaching approaches applied to this real-timesystems design course.FreeRTOS is an open source real-time kernel/scheduler designed to be small enough to run on amicrocontroller. It provides the real time scheduling functionality, inter-task communication,timing analysis and synchronization primitives for teaching RTOS. It also offers the richexample projects as the bases for developing embedded real-time systems. FreeRTOS supports alarge number of underlying microcontroller architectures including advanced ARM CortexTM-Mx series, and has become the standard RTOS for microcontrollers. For instance, Atmel Studio(v6.1), a free embedded development tool from Atmel, has included FreeRTOS into its AtmelSoftware Framework as one of software libraries. The FreeRTOS kernel is responsible for timingand provides the time-related APIs. This allows the structure of the application code to besimpler. As a result, complex embedded real-time applications can be efficiently built to meettheir real-time processing deadlines on top of FreeRTOS. In this course, FreeRTOS is applied toconducting experiments with multitask scheduling algorithms and real-time interfacing withmicrocontrollers for all our lab sessions and course projects. The lab assignment covers fivebasic RTOS components: Task management, Queue management, Interrupt management,Resource management and Memory management. Each component includes three to eightexercises. Our experiences demonstrate that FreeRTOS is a richly featured, cost efficient andeasy to use software platform for teaching real-time systems design and developing themicrocontroller-based embedded real-time applications.

He, N., & Huang, H. (2014, June), Use of FreeRTOS in Teaching Real-time Embedded Systems Design Course Paper presented at 2014 ASEE Annual Conference & Exposition, Indianapolis, Indiana. 10.18260/1-2--23240

ASEE holds the copyright on this document. It may be read by the public free of charge. Authors may archive their work on personal websites or in institutional repositories with the following citation: © 2014 American Society for Engineering Education. Other scholars may excerpt or quote from these materials with the same citation. When excerpting or quoting from Conference Proceedings, authors should, in addition to noting the ASEE copyright, list all the original authors and their institutions and name the host city of the conference. - Last updated April 1, 2015