ECE 4501/6501, CS 6501 - Spring 2024
Real-time Embedded Systems


Embedded systems are special-purpose computers at the core of Cyber-Physical Systems (CPS) that monitor and control the physical processes through real-time interactions with sensors and actuators. More than 90% of manufactured micro-processors go inside airplanes, automobiles, medical devices, digital cameras, toys, home appliances, and smart buildings. What are the building blocks of an embedded system? How can we design an embedded system and make sure it satisfies specific functionality, reliability, and timing requirements? How can we bridge the gap between the inherently sequential embedded software with the intrinsic concurrency in the physical world? How can we execute multiple data acquisition, processing, and control tasks on resource-constrained microcontrollers while satisfying real-time constraints?

This course will help you answer these questions by providing the foundational knowledge and hands-on experience in design and validation of embedded computing systems, with a focus on embedded C programming and real-time operating systems (RTOS) for ARM® Cortex™-M Microcontrollers. In the second half of the class, we will explore related topics and applications in safety and security, cyber-physical systems (CPS), internet of things (IoT), and robotics through paper presentations and discussions.


  • Embedded system architectures
  • Embedded input and output (I/O)
    • Serial and parallel I/O
    • Interrupts
    • Asynchronous vs. synchronous interfaces
    • Analog I/O
  • Embedded software development
    • Embedded C programming
    • Memory management
    • Toolchains, debugging and profiling
  • Real-time operating systems
    • Thread and process management
    • Interrupt handling
    • Real-time scheduling
  • Quantitative analysis and validation


UVA Canvas Site
GitHub Classroom

UVA Academic Calendar
Time: Mon/Wed 2:00 - 3:15 PM
Location: Rice Hall 340

Lab Location: Rice 240 (Open 24/7)

Homa Alemzadeh,
Office: 259 Olsson Hall (Link Lab)

Instructor Office Hours:
Fridays 10-11 AM
In person in Olsson 259 and via Zoom
Other times by appointment

Teaching Assistants:
Xugui Zhou
Keshara Weerasinghe
Kidus Fasil

TA Office Hours:
In person in Rice 240 and via Zoom
Mondays 3:30-4:30pm (Link Lab)
Tuesdays 2:00-3:00pm 
Wednesdays 11:00-12:00pm 
Wednesdays 1:00-2:00pm 
Thursdays 2:00-3:00pm 
Fridays 1:00-2:00pm