Carnegie Mellon University

Electrical and Computer Engineering

College of Engineering

Course Information

18-349: Introduction to Embedded Systems

Units:

12

Description:

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.

Prerequisites: 18-213 and 18-240

Last Modified: 2024-11-19 1:13PM

Semesters offered:

  • Spring 2025
  • Fall 2024
  • Spring 2024
  • Fall 2023
  • Spring 2023
  • Fall 2022
  • Spring 2022
  • Fall 2021
  • Fall 2020
  • Spring 2020
  • Fall 2019
  • Spring 2019
  • Fall 2018
  • Spring 2018
  • Fall 2017
  • Spring 2017
  • Fall 2016
  • Fall 2015
  • Fall 2014
  • Fall 2013
  • Fall 2012
  • Fall 2011
  • Fall 2010
  • Fall 2008
  • Fall 2007