Course Outline, Spring 2020
An embedded system is a computer system with a dedicated function within a larger mechanical or electrical system, often with real-time computing constraints. It is embedded as part of a complete device often including hardware and mechanical parts. Embedded systems control many devices in common use today. Ninety-eight percent of all microprocessors are manufactured as components of embedded systems. (Extracted from https://en.wikipedia.org/wiki/Embedded_system).
This course is concerned with the theory and practice of developing embedded systems with time and resource constraints on hardware ranging from bare-metal micro-controllers to systems with a real-time Operating System to Embedded Linux systems.
Learning outcomes focus on key competencies in the design, development and verification of Real-Time and Embedded systems including:
Bertolatti and Tingting Hu. Programming Embedded Systems: With C and
GNU Development Tools, Michael Barr and Anthony Massa. Mastering the
FreeRTOS Real Time Kernel, Richard Barry.
One (1) project proposal and report | 20% |
One (1) project presentation and report | 50% |
Max of ten (10) lab exercises | 30% |
NOTE: You must receive a passing mark (>= 50%) on all components of the course in order to pass the course (components are listed in the Evaluation section).