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


Books


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

Homework



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/25



10/30 RTOSes pdf

11/1



11/6 embedded networks pdf

11/8



11/13 CAN bus pdf

11/15



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/6 NO CLASS


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.