Week |
Monday |
Wednesday |
Friday |
1
|
|
Jan 21
|
Lecture 1: Introduction (Chapter 1)
|
- Course administration
- Embedded systems, development cycle
- Flow charts, data flow and call graphs
|
|
|
|
2
|
Jan 26
|
Lecture 2: TExaS (Appendix 1.1-1.8.2, Chapter 2 and 3)
|
- TExaS simulator
- Numbers, hexadecimal
|
|
|
Jan 28
|
Lecture 2: Architecture (Chapter 2 and 4)
|
- 9212 architecture and execution
- Simple addressing modes
|
|
|
|
3
|
Feb 2
|
Lecture 3: I/O (Chapter 2 and 3)
|
- Execution, subroutines
- Parallel ports, direction registers
- Logical and shift operations
|
Homework 1 due at midnight
|
|
Feb 4
|
Lecture 4: Debugging (Section 4.7 and 5.7)
|
|
|
|
|
4
|
Feb 9
|
Lecture 4: Arithmetic (Chapter 3 and 5)
|
- Arithmetic operations
- Condition code bits
|
Homework 2 due at midnight
|
|
Feb 11
|
Lecture 5: Board (Appendix 2, Section 2.6)
|
- Demo of the board (bring board to class)
- Switch input and LED output
|
|
|
|
5
|
Feb 16
|
Lecture 5: Modular programming (Section 5.1, 5.2, 6.11)
|
- If-then, loops
- Subroutines and the stack
- Debugging dump
|
Homework 3 due at midnight
|
|
Feb 18
|
Review for Test 1:
|
|
|
|
|
6
|
Feb 23
|
Test 1 (closed book):
|
|
Homework 4 due Tuesday midnight
|
|
Feb 25
|
Lecture 6: Pointers (Section 6.1-6.3, 6.11)
|
- Indexed addressing
- Arrays
- Strings
|
|
|
|
7
|
Mar 2
|
Lecture 7: State machines (Section 4.5, 6.8)
|
- Timer
- Finite state machines (FSMs)
|
Homework 5 due at midnight
|
|
Mar 4
|
Lecture 8: Locals (Section 7.1-7.3, 10.1)
|
- Advanced functional debugging
- Fixed-point numbers
- Local variables
|
|
|
|
8
|
Mar 9
|
Lecture 9: Parameters (Section 7.4-7.5, 9.1)
|
- Review for Test 2
- Stack frames and parameter passing
- I/O synchronization, LCD interface
|
Homework 6 due at midnight
|
|
Mar 11
|
Test 2 (closed book):
|
- In lab (during class time), ACA 1.102
- Chapter 5 and 6
|
|
|
|
9
|
|
|
|
10
|
Mar 23
|
Lecture 10: Interrupts (Section 9.2, 9.4, 9.6, 9.10)
|
- LCD programming
- 9S12 interrupts and interrupt processing
- Timer and periodic (output compare) interrupts
|
|
|
Mar 25
|
Lecture 11: A/D conversion (Section 11.1, 11.4)
|
- Analog to digital conversion (ADC)
- Lab 6 design methods
|
|
|
|
11
|
Mar 30
|
Lecture 11: Numerical calculations (Section 10.2)
|
- Multiplication and division
- Table lookup and interpolation
|
Homework 7 due at midnight
|
|
Apr 1
|
Lecture 12: Serial I/O (Section 8.1)
|
- Serial communications interface (SCI)
- SCI programming and interrupts
- Lab 7 introduction
|
|
|
|
12
|
Apr 6
|
Lecture 12: Thread communication (Section 12.3-12.4)
|
- Producer-consumer problems
- FIFO queues
|
Homework 8 due at midnight
|
|
Apr 8
|
Lecture 13: D/A conversion (Section 11.2-11.3)
|
- Digital to analog conversion (DAC) on the 9S12
- Sound generation
|
|
|
|
13
|
Apr 13
|
Lecture 14: TRobots (Section 8.7)
|
- Stepper motors
- TRobot discussion
|
Homework 9 due at midnight
|
|
Apr 15
|
Review for Test 3:
|
|
|
|
|
14
|
Apr 20
|
Test 3 (closed book):
|
|
|
|
Apr 22
|
Guest lecture (Prof. Erez): Floating point
|
- Floating point number representation
- Floating point arithmetic
|
|
|
|
15
|
Apr 27
|
Lecture 15: C programming
|
- Metrowerks CodeWarrior
- TRobots in C
- Recursion
|
Homework 10 due at midnight
|
|
Apr 29
|
Lecture 16: Embedded systems
|
- Embedded system design
- Systems engineering
|
|
|
|
16
|
|
|
|
Final
|
|
|
May 15
|
Final Exam:
|
7:00 pm - 10:00 pm
|
|