ECE 4534 Embedded System Design | ECE | Virginia Tech

Undergraduate PROGRAMS

Course Information


Introduction to the design of embedded computer sytems: design, implementation, and analysis of embedded computer hardware and software; design, implementation, and debugging of complex software applications on embedded systems; and fundamentals of real-time operating systems for embedded computers. Semester-long design project including written and oral presentations.

Why take this course?

Embedded computing systems now far outnumber any other type of computing system. Computing devices are being added to an increasingly wide range of everyday products including automobiles, toys, and home appliances. The ability to design, implement, and analyze embedded computing systems is in demand in industry as well as academia.

Required course for CPE; Capstone; Technical Elective for EE


C- or better in prerequisites 2014, 2534, 3574.

This course requires that students design, implement, debug, and analyze microprocessor-based systems. The course also requires that students design and implement multi-threaded software solutions. The required background is provided in ECE 2534 and ECE 3574.

Major Measurable Learning Objectives

  • design embedded computer system hardware
  • design, implement, and debug multi-threaded application software that operates under real-time constraints on embedded computer systems
  • use and describe the implementation of a real-time operating system on an embedded computer system
  • formulate an embedded computer system design problem incljuding multiple constraints, create a design that satisfies the constraints, implement the design in hardware and software, and measure performance against the design constraints
  • create computer software and hardware implementations that operate according to well-known standards
  • organize and write design documents and project reports
  • organize and make technical presentations that describe a design.

Course Topics


Percentage of Course

1. Hardware design and implementation for embedded systems 15%
2. Designing for testing and debugging 5%
3. Software environments for embedded systems 15%
4. Design and implementations of multi-threaded applications under real-time constraints 15%
5. Real-time operating systems for embedded computers 10%
6. Embedded system networks 10%
7. Experimental evaluation of embedded systems 10%
8. Advanced topics in embedded systems 10%
9. Documenting and reporting upon embedded system designs. 10%