Asee peer logo

Top Down and From Scratch – A hybrid Approach of Teaching Real Time Embedded Operating System

Download Paper |


2019 ASEE Annual Conference & Exposition


Tampa, Florida

Publication Date

June 15, 2019

Start Date

June 15, 2019

End Date

October 19, 2019

Conference Session

Computing Research I

Tagged Division

Computing and Information Technology

Page Count




Permanent URL

Download Count


Request a correction

Paper Authors


Zhaohong Wang California State University, Chico Orcid 16x16

visit author page

Dr. Zhaohong Wang received his Ph.D. in Electrical Engineering from University of Kentucky in 2016. Prior to joining the faculty of EECE at CSU, Chico, he had worked as an embedded system engineer and software engineer throughout his graduate study. His teaching interests include embedded systems, computer networks, and digital signal processing. His current research is about algorithm design for digital signal processing in the encrypted domain and Internet of Things. He has been an active member of IEEE with the Signal Processing Society and Computational Intelligence Society since 2012 and 2016 respectively.

visit author page


Jing Guo California State University, Chico

visit author page

Dr. Jing Guo got her PhD in Epidemiology and Biostatistics from University of Kentucky in May, 2015. She has worked as a statistician at Center of Healthcare Services Research at University of Kentucky before she joined California State University, Chico as a lecturer. Her research interests include machine learning, precision medicine, and cancer epidemiology. She has taught courses in statistics, research methodology in nutritional science, and research methods for healthcare education.

visit author page

Download Paper |


Embedded system design and implementation is a key component in the undergraduate computer engineering curriculum. In an era of mobile and ubiquitous computing, a competent embedded device should have a real-time operating system (RTOS) to make full use of its potentials and to accommodate task needs. Hence, it is not a surprise that real-time embedded system has a strong demand from industry. A good understanding of RTOS opens doors for many high-tech jobs for our students. Students would benefit a lot if they have the skill set of real-time embedded systems.

However, teaching an RTOS course is really challenging. There are mainly two reasons. The first reason lies in the theoretical design of RTOS. An RTOS course is a highly comprehensive course that is built upon the knowledge of computer architecture, peripheral interfacing, and data structures. In addition to a rich set of pre-requisite knowledge, the design of RTOS involves key engineering ideas such as resource management, efficiency, and complexity. The second reason is the fast development of RTOS. Practically, there are quite a few commercial RTOS ready for use. Each of them has its strengths and weaknesses, depending on the specific application scenario. It becomes a difficult choice that which one is the best fit to our students. Learning a specific RTOS has the benefit of being able to utilize it immediately for projects. Nonetheless, the fast development and updates on the area of RTOS may cause the knowledge learned from one specific RTOS outdated in some time and not applicable to another RTOS.

In this paper, we describe our innovative and effective way of teaching RTOS using a hybrid approach. To start with, we adopt the ARM Cortex-M and Cortex-A architectures, the most popular architectures in embedded systems. We then deploy a “top down” and “from scratch” hybrid approach to teach RTOS. The “top down” approach utilizes an existing RTOS from ARM itself, the Keil RTX. Teaching RTX introduces quickly how a real time application may be designed and implemented. It also introduces high level behaviors and design ideas of an RTOS. After learning RTX, students will be able to immediately apply it to their senior design projects. They have had a working knowledge of RTOS and become curious to learn why things work. Next, the “from scratch” approach addresses the question of why things work in RTOS. The “from scratch” approach teaches how a complete RTOS is built from scratch, i.e., from the very first line of code in assembly. Moreover, students will appreciate the many common design principles in RTOS that are not obvious in commercial RTOSes like RTX. Specifically, we described what components in RTOS are essential and built them from scratch. The “from scratch” part also addresses the observed problem in teaching the theoretical part of RTOS. In conclusion, a hybrid approach of teaching RTOS has proved to be effective in helping students master a ready-to-use RTOS for practice and prepare them a solid theoretical foundation to learn a new RTOS in the future.

Wang, Z., & Guo, J. (2019, June), Top Down and From Scratch – A hybrid Approach of Teaching Real Time Embedded Operating System Paper presented at 2019 ASEE Annual Conference & Exposition , Tampa, Florida. 10.18260/1-2--33446

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: © 2019 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