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: |
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 |
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 |