18-348 Embedded System Engineering

Spring 2015
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. 12-Jan-2015 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}
Wed 14-Jan 2. Embedded Hardware 1.1, 1.4, 1.8
Fri 16-Jan Recitation / Week 1 Lab #1 (See grid below for due dates)
Mon. 19-Jan No Class (Martin Luther King Day)  
Wed. 21-Jan 3. Microcontroller Instruction Set - Part 1 1.6, 2.1-2.2.8, 2.2.10
Fri. 23-Jan Recitation / Week 2 Lab #2
Mon. 26-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. 28-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. 30-Jan Recitation / Week 3 Lab #3
Mon. 2-Feb 6. Embedded Language Use 2.5.1, 2.5.2, Jones98, Barr09
(Supplemental: Koopman Ch. 11)
Wed. 4-Feb 7. Coding Tricks; Multiprecision Math; Reviews Crenshaw97, Gannsle98b
(Supplemental: Koopman Ch. 22)
Fri. 6-Feb Recitation / Week 4 Lab #4
Mon. 9-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. 11-Feb 9. Economics, Code Optimization, and Fixed Point 1.5.5, 2.1, Kraeling96
(Supplemental: Koopman Ch. 16)
Fri. 13-Feb Recitation / Week 5 Lab #5
Mon. 16-Feb 10. Debug & Test 2.11, Schneider04, Knoke08
(Supplemental: Koopman Ch. 7,23)
Wed. 18-Feb 11. Serial Ports 3.1, 3.4, 7.1, 7.2, 7.5.1-7.5.2, 7.6.3; (wikipedia)
Fri. 20-Feb Recitation / Week 6 Lab #6
Mon. 23-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. 25-Feb First Exam
(Covers Lectures 1-11)
Fri. 27-Feb Recitation / Week 7 Lab #7
Mon. 2-Mar 13. Interrupts 4.1, 4.4, Massey01, Ganssle94
Wed. 4-Mar 14. Interrupt & Cyclic Task Response Timing Ball02; Interrupt latency hand-out
(Supplemental: Koopman Ch. 14.1-14.4)
6-Mar to 15-Mar NO CLASS; NO RECITATION - Spring Break / Week 8 No labs, no office hours
Mon. 16-Mar 15. Preemptive Context Switching 4.15, 5.1, Labross03, Kalinsky01
Wed. 18-Mar 16. Concurrency 2.9, 4.2, 4.3, 5.2, 5.3,Ganssle01
(Supplemental: Koopman Ch. 20)
Fri. 20-Mar Recitation / Week 9 Lab #8
Mon. 23-Mar 17. Scheduling 3.5.2, 5.4, Stewart01, Stewart02
(Supplemental: Koopman Ch. 14.5-14.8)
Wed. 25-Mar
18. Introduction to software safety Leveson (especially sections 3.5.3, 3.6.1, 4 and pg 42)
(Supplemental: Koopman Ch. 28)
Fri. 27-Mar Recitation / Week 10 Lab #9
Mon. 30-Mar 19. Digital to Analog, PWM, Stepper Motors 11.4, 6.2.3-6.2.4, 6.7, Barr01, 8.6
Wed. 1-Apr 20. Analog Inputs 3.5.4, 11.5. 11.10.2, 12.3.2, Maxim05, Maxim05a, Wagner02
Fri. 3-Apr Recitation / Week 11 Lab #10
Mon. 6-Apr 21. RTOS Renwick04, Jones97, Hawley03
Wed. 8-Apr 22. Other I/O, Human Interface, Security 8.1-8.3, Kalinski12 (security)
Fri. 10-Apr Recitation / Week 12 Lab #11
Mon. 13-Apr 23. Control 13.1-13.4, Barr02
Wed. 15-Apr 24. System Resets, Robustness & Power Management 4.5-4.7, Gollakota06,
(Supplemental: Koopman Ch. 30)
16-Apr to 17-Apr NO RECITATION - Carnival / Week 13 No labs, no office hours
Mon. 20-Apr 25. Bluetooth & CAN Schill97, Spaker00
Wed. 22-Apr Second Exam
(Covers Lectures 12-25)
NONE
Fri. 24-Apr Recitation / Week 14 NONE
Mon. 27-Apr Work on projects OK to demo final project during any open lab hours this week
Wed. 29-Apr Work on projects OK to demo final project during any open lab hours this week
Fri. 1-May ECE Day -- No Recitation / Week 15 Curtailed lab/office hours today; see blackboard
Wed. 6-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)
Thu. 7-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.)

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 12-Jan
2015
No Lab No Lab Open Lab Open Lab Open Lab   None 1   1, 2
2 19-Jan No Lab 1 1 1 1   None 2   2, 3
3 26-Jan 1 2 2 2 2   1 3   3, 4
4 2-Feb 2 3 3 3 3   2 4   4, 5
5 9-Feb 3 4 4 4 4   3 5   5, 6
6 16-Feb 4 5 5 5 5   4 6   6, 7
7 23-Feb 5 Open Lab Open Lab Open Lab 6   None 7   7, 8
8 2-Mar 6 6 6 6 BREAK   5 None   No Recitation
-- 9-Mar SPRING BREAK SPRING BREAK BREAK   None None   No Recitation
9 16-Mar Open Lab 7 7 7 7   6 8   8, 9
10 23-Mar 7 8 8 8 8   7 9   9, 10
11 30-Mar 8 9 9 9 9   8 10   10, 11
12 6-Apr 9 10 10 10 10   9 11   11
13 13-Apr 10 Open Lab Open Lab Carnival Carnival   None None   No Recitation
14 20-Apr Open Lab Open Lab Open Lab Open Lab Open Lab   10 None   Optional/In-Lab
15 27-Apr Open Lab Open Lab Open Lab Open Lab Open Lab   None None   Optional/In-Lab
16 Finals TBD TBD TBD TBD TBD   11 (Friday) None   No Recitation
(*See blackboard for Lab 11 prelab, demo & writeup information)