Catalogue 2016 - 2017

CPE 305 Firmware Design for Embedded Systems


3 cr.


CPE 271, EE 285, and ENGR 105/HONE 105

Course Description

This is an introductory course in the design and understanding of firmware for real-time embedded systems. After completing this course, students understand the issues involved with partitioning and managing a computation that has real-time performance constraints. Students are introduced to modeling the behavior of a system using UML. Approaches to the design of software architecture of embedded systems is presented. Students design an appropriate real-time clock scheduling mechanism and use it for task management that allows control of external devices and interpretation of data from external sensors. Students learn to use C++ for designing real-time device drivers that interface to a variety of hardware subsystems. This includes keypads, LCD displays, Analog to Digital Converters (ADC), networked (I2C and SPI) sensors as well as Stepper motors. Students learn to debug a real-time system through a semester long design project.