everything.study
18-642

Introduction to Embedded Systems

12 units · Graduate

Fall and Spring: 12 units This practical, hands-on course introduces the various building blocks and underlying scientific and engineering principles behind embedded real-time systems. The course covers the integrated hardware and software aspects of embedded processor architectures, along with advanced topics such as real-time, resource/device and memory management. Students can expect to learn how to program with the embedded architecture that is ubiquitous in smartphones, portable gaming devices, robots, etc. Students will then go on to learn and apply real-time principles that are used to drive critical embedded systems like automobiles, avionics, medical equipment, etc. 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 with state-of-the-art embedded processors, sensors, actuators and industry-strength development tools, students will acquire skills in the design/implementation/debugging of core embedded real-time functionality. This course is crosslisted with 18642. Although students in 18349 will share lectures with students in 18642, they will be cohorted for project purposes by class. The assignments in 18642, while sharing the same infrastructure as the assignments for 18349, will be scoped in breadth and depth appropriately for graduate students. Prerequisite: 18-349 Min. grade C Course Website: https://course.ece.cmu.edu/~ece642/policy.html

Sources