This is the junior-level embedded-systems course in the Electrical & Computer Engineering Department at Carnegie Mellon. Topics covered include embedded architectures (building up to modern 16/32/64-bit embedded processors); interaction with devices (buses, memory architectures, memory management, device drivers); concurrency (software and hardware interrupts, timers); real-time principles (multi-tasking, scheduling, synchronization); implementation trade-offs, profiling and code optimization (for performance and memory); embedded software (exception handling, loading, mode-switching, programming embedded systems). Through a series of laboratory exercises using the ARM processor, students will acquire skills in the design/implementation/debugging of core embedded real-time functionality.
The course will managed via its Piazza page and its Carnegie Mellon University Blackboard site. If you are a student in this class, please enroll there.