CS/ECE 5785/6785: Advanced Embedded Software (Fall 2012)

General Information

This course is about building reliable and efficient embedded software, with a bias towards whole-system issues. Students complete several projects in C running on ARM/Linux-based embedded development boards. The course covers a number of special topics such as embedded software architectures, digital signal processing, feedback control, real-time scheduling, verification and validation, wired and wireless embedded networks, and safety-critical embedded systems.

Also see this blog entry: Why Take an Embedded Systems Course


There is no required textbook. However, these books are recommended:


Required Lab Equipment

Every student needs to purchase a Raspberri Pi model B board. Of the distributors in the USA, Element14/Newark has the shortest lead times. Please order your board ASAP. You also need accessories such as an Ethernet cable, a memory card, a power adapter, a video adapter, etc. It is strongly possible that you can scrounge up this stuff at little or no cost, but if not, you'll need to buy it.

Lab Work

Course Schedule

This schedule is always tentative, I always reserve the right to move lectures around. However, exam dates are fixed once they appear here. Due dates for homeworks and labs may rarely be moved later, but will never be moved earlier.

Slides from a previous version of this course (Fall 2010) can all be found here.

date topic slides assigned due
8/21 intro pdf

8/23 requirements and architectures pdf homework 1
8/28 device teardown

homework 1
8/30 architectures

9/4 ISA survey pdf

9/6 more ISA survey

9/11 toolchains pdf read this
9/13 debuggers; embedded C pdf

9/18 embedded C pdf

9/20 more embedded C

LI handin #1
9/25 volatile pdf

9/27 more volatile

10/2 embedded C pdf

10/4 more embedded C

10/9 fall break

10/11 fall break

10/16 bounded resources pdf

10/18 code review, more stack depth

10/23 interrupts pdf


10/30 RTOSes pdf


11/6 embedded networks pdf


11/13 CAN bus pdf


11/20 intro to real-time and cyclic executives pdf

11/22 Thanksgiving

11/27 scheduling with priorities pdf

11/29 response time analysis pdf

12/4 rocket launch


12/11 take-home final exam due at 3:00pm

This page is maintained by John Regehr, mail me if you find a mistake or if any content is unclear.