This course surveys these issues and various techniques for dealing with them. In particular, you study approaches to task scheduling, memory management, interrupt handling, and data consistency. You explore embedded system design based on a real-time multitasking kernel. Programming assignments provide experience in support of the lectures. This course provides you with the basic skills you need to start designing and writing software for embedded systems.
Enrollment is limited.
Knowledge of assembly language is helpful. He has 20 years of experience in applications and systems software development, is the author of four computer textbooks, and has been teaching embedded software for UC Berkeley Extension for 4 years.