June 15, 2014
June 15, 2014
June 18, 2014
Computers in Education
24.1307.1 - 24.1307.11
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. https://peer.asee.org/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