18-348 Embedded System Engineering

Spring 2014
Carnegie Mellon University, ECE Department

Prof. Philip Koopman

Lectures: Mon & Wed 10:30-12:20; BH A53
Labs: one of four sections: ({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 a used book. Do not buy the newer 3rd edition -- it leaves out some 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. 13-Jan-2014 Recitation / Week 1 Lab #1
Wed. 15-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. 17-Jan 2. Embedded Hardware 1.1, 1.4, 1.8
Mon. 20-Jan 3. Microcontroller Instruction Set - Part 1 1.6, 2.1-2.2.8, 2.2.10
Wed. 22-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
Fri. 24-Jan Recitation / Week 2 Lab #2
Mon. 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)
Wed. 29-Jan 6. Embedded Language Use 2.5.1, 2.5.2, Jones98, Barr09
(Supplemental: Koopman Ch. 11)
Fri. 31-Jan Recitation / Week 3 Lab #3
Mon. 3-Feb 7. Coding Tricks; Multiprecision Math; Reviews Crenshaw97, Gannsle98b
(Supplemental: Koopman Ch. 22)
Wed. 5-Feb 8. Debug & Test 2.11, Schneider04, Knoke08
(Supplemental: Koopman Ch. 7,23)
Fri. 7-Feb Recitation / Week 4 Lab #4
Mon. 10-Feb 9. Memory and Memory Bus 1.9, 9.1-9.2.2, 9.3-9.4.1, 9.6.2, 9.8, Barr01, Freescale04
Wed. 12-Feb 10. Economics, Code Optimization, and Fixed Point 1.5.5, 2.1, Kraeling96
(Supplemental: Koopman Ch. 16)
Fri. 14-Feb Recitation / Week 5 Lab #5
Mon. 17-Feb 11. Serial Ports 3.1, 3.4, 7.1, 7.2, 7.5.1-7.5.2, 7.6.3; (wikipedia)
Wed. 19-Feb First Exam
(Covers Lectures 1-11)
Fri. 21-Feb Recitation / Week 6 Lab #6
Mon. 24-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. 26-Feb 13. Interrupts 4.1, 4.4, Massey01, Ganssle94
Fri. 28-Feb Recitation / Week 7 Lab #7
Mon. 3-Mar 14. Interrupt & Cyclic Task Response Timing Ball02; Interrupt latency hand-out
(Supplemental: Koopman Ch. 14.1-14.4)
Wed. 5-Mar 15. Preemptive Context Switching 4.15, 5.1, Labross03, Kalinsky01
7-Mar to 15-Mar NO CLASS; NO RECITATION - Spring Break / Week 8 No labs, no office hours
Mon. 17-Mar 16. Concurrency 2.9, 4.2, 4.3, 5.2, 5.3,Ganssle01
(Supplemental: Koopman Ch. 20)
Wed. 19-Mar 17. Scheduling 3.5.2, 5.4, Stewart01, Stewart02
(Supplemental: Koopman Ch. 14.5-14.8)
Fri. 21-Mar Recitation / Week 9 Lab #8
Mon. 24-Mar 18. RTOS Renwick04, Jones97, Hawley03
Wed. 26-Mar 19. Digital to Analog, PWM, Stepper Motors 11.4, 6.2.3-6.2.4, 6.7, Barr01, 8.6
Fri. 28-Mar Recitation / Week 10 Lab #9
Mon. 31-Mar 20. Analog Inputs 3.5.4, 11.5. 11.10.2, 12.3.2, Maxim05, Maxim05a, Wagner02
Wed. 2-Apr 21. Other I/O, Human Interface, Security 8.1-8.3, Kalinski12 (security)
Fri. 4-Apr Recitation / Week 11 Lab #10
Mon. 7-Apr 22. Control 13.1-13.4, Barr02
Wed. 9-Apr 23. Bluetooth & CAN Schill97, Spaker00
10-Apr to 11-Apr NO RECITATION - Carnival / Week 12 No labs, no office hours
Mon. 14-Apr 24. System Resets, Robustness & Power Management 4.5-4.7, Gollakota06,
(Supplemental: Koopman Ch. 30)
Wed. 16-Apr 25. Introduction to software safety & Therac 25 Leveson (especially sections 3.5.3, 3.6.1, 4 and pg 42)
(Supplemental: Koopman Ch. 28)
Fri. 18-Apr Recitation / Week 13 Lab #11
Mon. 21-Apr 26. Validation of automotive software safety None
Wed. 23-Apr Second Exam
(Covers Lectures 12-25)
NONE
Fri. 25-Apr Recitation / Week 14 NONE
Mon. 28-Apr No lecture -- work on lab #11 this week OK to demo final project during any open lab hours this week
Wed. 30-Apr No lecture -- work on lab #11 this week OK to demo final project during any open lab hours this week
Fri. 2-May ECE Day -- No Recitation / Week 15 Curtailed lab/office hours today; see blackboard
Wed. 7-May Last day for Lab #11 demos
See Blackboard for finals week demo scheduling lab hours and details
(FINALS WEEK starts Mon 6-May; no class meetings this week)
Fri. 9-May Lab writeups due today, Friday Lab #11 writeup due today
Notes:

Office Hour Schedule


These office hours are current as of Tuesday Jan 21, 2014. See blackboard for any adjustments.
TA In-Lab
Office Hours
(50 minutes starting at time below)
TA In-Lab
Office Hours
(50 minutes starting at time below)
Lab Section
Monday Connie 9:30A Chris 6:00 P No Lab
Tuesday Patrick 9:30A Jeff 1:00P Jeff
Lab Section A
(6:30-9:20P)
Wednesday Aaron 1:00P Patrick 3:00P Chris
Lab Section B
(6:30-9:20P)
Thursday Chris 11:00A Jeff 1:00P Patrick
Lab Section C
(6:30-9:20P)
Friday Aaron 11:30 A (after recitation) Connie 12:30P Connie
Lab Section D
(1:30-4:20P)

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.)

Wk # Week of: Mon
Tue
(Sec A)
Wed
(Sec B)
Thu
(Sec C)
Fri
(Sec D)
  Lab Report Due
Wednesday
Prelab Due
Friday
  Fri. Recitation
Discusses Labs
1 13-Jan
2014
No Lab Open Lab Open Lab Open Lab Open Lab   None 1   1, 2
2 20-Jan No Lab 1 1 1 1   None 2   2, 3
3 27-Jan No Lab 2 2 2 2   1 3   3, 4
4 3-Feb No Lab 3 3 3 3   2 4   4, 5
5 10-Feb No Lab 4 4 4 4   3 5   5, 6
6 17-Feb No Lab Open Lab Open Lab Open Lab 5   4 6   6, 7
7 24-Feb No Lab 5 5 5 6   None 7   7, 8
8 3-Mar No Lab 6 6 6 SPRING   5 None   No Recitation
-- 10-Mar SPRING BREAK SPRING BREAK BREAK   None None   No Recitation
9 17-Mar No Lab Open Lab 7 7 7   None 8   8, 9
10 24-Mar No Lab 7 8 8 8   6 9   9, 10
11 31-Mar No Lab 8 9 9 9   7 10   10, 11
12 7-Apr No Lab 9 Open Lab Carnival Carnival   8 None   No Recitation
13 14-Apr No Lab 10 10 10 10   9 11   11
14 21-Apr No Lab Open Lab Open Lab Open Lab Open Lab   10 None   Office Hours
15 28-Apr No Lab Open Lab Open Lab Open Lab Open Lab   None None   No Recitation
16 Finals TBD TBD TBD TBD TBD   11 (Friday) None   No Recitation
(*See blackboard for Lab 11 prelab, demo & writeup information)