18-348 Embedded System Engineering

Spring 2016
Carnegie Mellon University, ECE Department

Prof. Philip Koopman

Lectures: Mon & Wed 10:30-12:20; BH A53
Labs: one of five sections: ({Mon OR Tues OR Wed OR Thu} 6:30-9:20 PM) OR (Fri 1:30-4:20 PM) Room: HH 1303
Recitations: Fri 10:30-11:20; BH A53

Required Hardware: You will be loaned a microcontroller board for the course based on the Freescale MC9S12C128 processor (one per student) and a prototype board (one per team). You must return these boards at the end of the semester, but they will be available if you choose to take 18-549 in a later semester. Required Text: Valvano, Embedded Microcomputer Systems: Real Time Interfacing, 2nd Edition, ISBN 0534551629. Note that this is an old 2006 edition that you will probably want to buy as an inexpensive used book. Do not buy the newer 3rd edition -- it leaves out significant important material.

Supplemental Text: Koopman, Better Embedded System Software, ISBN-13: 978-0-9844490-0-2. The material in this book will help you understand some of the key concepts, but is not testable material. This book is the primary text used for 18-649.

Handouts are provided in class. Lecture materials are only available in printed form, and is not available electronically. Note that dates in table below are subject to change if box is gray.

Meeting Date Scheduled Lecture Reading
Valvano text unless otherwise noted
.pdf links are CMU-only access
(Lab dates shown are pre-lab due date)
Mon. 11-Jan-2016 Recitation / Week 1 Read Lab #1 before coming to class
(See grid below for assignment due dates)
Wed 13-Jan 1. Course Intro & Background Valvano book sections: 1.2, 1.5, Murray12
E-mail lab partner requests to course staff by WEDNESDAY 4 PM at: {e-mail}
Fri 15-Jan 2. Embedded Hardware 1.1, 1.4, 1.8
(NOTE: this is a one-time, full 2-hour lecture 10:30-12:20. Future Friday recitations will run 10:30-11:20)
Mon. 18-Jan No Class (Martin Luther King Day)  
Wed. 20-Jan 3. Microcontroller Instruction Set - Part 1 1.6, 2.1-2.2.8, 2.2.10
Fri. 22-Jan Recitation / Week 2 Lab #2
Mon. 25-Jan 4. Microcontroller Instruction Set - Part 2 2.2.9, 2.2.11, 2.2.12, 2.5.1, 2.5.2, 2.5.4
Wed. 27-Jan 5. Engineering Process & Design Techniques 1.3, 2.3, 2.4.5, 2.5.3, 2.6, Gannsle98a, Wolf07 -- state machine section only.
(Supplemental: Koopman Ch. 2-3, 12-13)
Fri. 29-Jan Recitation / Week 3 Lab #3
Mon. 1-Feb 6. Embedded Language Use 2.5.1, 2.5.2, Jones98, Barr09
(Supplemental: Koopman Ch. 11)
Wed. 3-Feb 7. Coding Tricks; Multiprecision Math; Reviews Crenshaw97, Gannsle98b
(Supplemental: Koopman Ch. 22)
Fri. 5-Feb Recitation / Week 4 Lab #4
Mon. 8-Feb 8. Memory and Memory Bus 1.9, 9.1-9.2.2, 9.3-9.4.1, 9.6.2, 9.8, Barr01, Freescale04
Wed. 10-Feb 9. Economics, Code Optimization, and Fixed Point 1.5.5, 2.1, Kraeling96
(Supplemental: Koopman Ch. 16)
Fri. 12-Feb Recitation / Week 5 Lab #5
Mon. 15-Feb 10. Debug & Test 2.11, Schneider04, Knoke08
(Supplemental: Koopman Ch. 7,23)
Wed. 17-Feb 11. Serial Ports 3.1, 3.4, 7.1, 7.2, 7.5.1-7.5.2, 7.6.3; (wikipedia)
Fri. 19-Feb Recitation / Week 6 Lab #6
Mon. 22-Feb 12. Time; Timer/Counters; Watchdog Timers 2.4.2-2.4.4, 6.1.4-6.1.5.1; Murphy01
(Supplemental: Koopman Ch. 29; Murphy00)
Wed. 24-Feb
First Exam
(Covers Lectures 1-11, and omits Lecture 12)
Fri. 26-Feb Recitation / Week 7 Lab #7 (Note special, later due date)
Mon. 29-Feb 13. Interrupts 4.1, 4.4, Massey01, Ganssle94
Wed. 2-Mar 14. Software safety case study
Supplemental: Leveson (especially sections 3.5.3, 3.6.1, 4 and pg 42); Koopman Ch. 28)
4-Mar to 13-Mar NO CLASS; NO RECITATION - Spring Break / Week 8 No labs, no office hours
Mon. 14-Mar 15. Interrupt & Cyclic Task Response Timing Ball02; Interrupt latency hand-out
(Supplemental: Koopman Ch. 14.1-14.4)
Wed. 16-Mar 16. Preemptive Context Switching 4.15, 5.1, Labross03, Kalinsky01
Fri. 18-Mar Recitation / Week 9 Lab #8
Mon. 21-Mar 17. Concurrency 2.9, 4.2, 4.3, 5.2, 5.3,Ganssle01
(Supplemental: Koopman Ch. 20)
Wed. 23-Mar 18. Scheduling 3.5.2, 5.4, Stewart01, Stewart02
(Supplemental: Koopman Ch. 14.5-14.8)
Fri. 25-Mar Recitation / Week 10 Lab #9
Mon. 28-Mar 19. Digital to Analog, PWM 11.4, 6.2.3-6.2.4, 6.7, Barr01, 8.6
Wed. 30-Mar 20. Analog Inputs 3.5.4, 11.5. 11.10.2, 12.3.2, Maxim05, Maxim05a, Wagner02
Fri. 1-Apr Recitation / Week 11 Lab #10
Mon. 4-Apr 21. Other I/O 8.1-8.3
Wed. 6-Apr 22. Control 13.1-13.4, Barr02
Fri. 8-Apr Recitation / Week 12 Lab #11
Mon. 11-Apr 23. RTOS Selection; Why Software Quality Matters Renwick04, Jones97, Hawley03, Kalinski12 (security)
Wed. 13-Apr 24. Bluetooth & CAN Schill97, Spaker00
14-Apr to 15-Apr NO RECITATION - Carnival / Week 13 No labs, no office hours
Mon. 18-Apr 25. System Resets, Robustness & Power Management 4.5-4.7, Gollakota06,
(Supplemental: Koopman Ch. 30)
Wed. 20-Apr Second Exam
(Covers Lectures 12-25)
NONE
Fri. 22-Apr No Recitation NONE
Mon. 25-Apr No Lecture; Work on project 11 instead OK to demo final project during any open lab hours and office hours this week
Wed. 27-Apr No Lecture; Work on project 11 instead OK to demo final project during any open lab hours and office hours this week
Fri. 29-Apr ECE Day -- No Recitation / Week 15 Curtailed lab/office hours today; see blackboard
Wed. 4-May Last day for Lab #11 demos
See Blackboard for finals week demo scheduling lab hours and details
FINALS WEEK
No class meetings this week. See Blackboard for TA schedule.
Thu. 5-May Lab writeups due today, Thursday Lab #11 writeup due today
Notes:

Office Hour Schedule

Please see blackboard for office hour & lab staffing schedule schedule

Lab demo schedule

Subject to change. Lab Demos are due during scheduled demo slot.
All hand-ins are due at 9:00 PM US Eastern Time unless otherwise noted. (Prelab early bonus cutoff is 1:30 PM ET.)

Wk # Week of: Mon
(Sec E)
Tue
(Sec A)
Wed
(Sec B)
Thu
(Sec C)
Fri
(Sec D)
  Lab Report Due
Wednesday
Prelab Due
Friday
  Fri. Recitation
Discusses Labs
1 11-Jan
2016
No Lab No Lab Open Lab Open Lab Open Lab   None 1   1, 2
2 18-Jan MLK Day 1 1 1 1   None 2   2, 3
3 25-Jan 1 2 2 2 2   1 3   3, 4
4 1-Feb 2 3 3 3 3   2 4   4, 5
5 8-Feb 3 4 4 4 4   3 5   5, 6
6 15-Feb 4 5 5 5 5   4 6   6, 7
7 22-Feb 5 Open Lab Open Lab Open Lab 6   None None   7, 8
8 29-Feb 6 6 6 6 BREAK   5 7 Due
Thursday
  No Recitation
-- 7-Mar SPRING BREAK SPRING BREAK BREAK   None None   No Recitation
9 14-Mar Open Lab Open Lab 7 7 7   6 8   8, 9
10 21-Mar 7 7 8 8 8   7 9   9, 10
11 28-Mar 8 8 9 9 9   8 10   10, 11
12 4-Apr 9 9 10 10 10   9 11   11
13 11-Apr 10 10 Open Lab Carnival Carnival   None None   No Recitation
14 18-Apr Open Lab Open Lab Open Lab Open Lab Open Lab   10 None   Optional/In-Lab
15 25-Apr Open Lab Open Lab Open Lab Open Lab Open Lab   None None   Optional/In-Lab
16 2-May Finals TBD TBD TBD TBD TBD   11 Due
(Thursday)
None   No Recitation
(*See blackboard for Lab 11 prelab, demo & writeup information)