Week |
Tuesday |
Thursday |
1
|
Jan 18
|
Lecture 1: Introduction (Chapter 1, Sections 2.1-2.3)
|
- Course administration
- Embedded systems, development cycle
- Flow charts, data flow and call graphs
|
|
|
Jan 20
|
Lecture 2: TExaS (Appendix 1.1-1.8.2, Sections 3.1-3.5)
|
- TExaS simulator
- Numbers, hexadecimal
|
|
|
2
|
Jan 25
|
Lecture 2: Architecture (Sections 2.4-2.7, 4.1-4.4)
|
- 9212 architecture and execution
- Simple addressing modes
|
|
|
Jan 27
|
Lecture 3: I/O (Sections 2.8-2.9, 3.6-3.7)
|
- Execution, subroutines
- Parallel ports, direction registers
- Logical and shift operations
|
|
|
3
|
Feb 1
|
Lecture 4: Debugging (Section 4.7 and 5.7)
|
|
Homework 1 due at 2am
|
|
Feb 3
|
Lecture 4: Arithmetic (Section 3.8, 3.11, 5.2)
|
- Arithmetic operations
- Condition code bits
- Conditionals
|
|
|
4
|
Feb 8
|
Lecture 5: Board (Appendix 2, Section 2.6)
|
- Demo of the board (bring board to class)
- Switch input and LED output
|
|
|
Feb 10
|
Lecture 5: Modular programming (Section 5.1, 5.2)
|
- If-then, loops
- Subroutines
|
Homework 2 due Friday at 2am
|
|
5
|
Feb 15
|
Lecture 6: Pointers (Section 6.1)
|
- Index registers
- Indexed addressing mode
|
|
|
Feb 17
|
Lecture 6: Timers (Section 6.11, 4.5)
|
- Functional debugging dump
- Timers
|
Homework 3 due Friday at 2am
|
|
6
|
Feb 22
|
Review for Test 1:
|
|
|
|
Feb 24
|
Test 1 (closed book):
|
|
|
|
7
|
Mar 1
|
Lecture 7: FSMs (Section 6.2, 6.3, 6.5, 6.8)
|
- Arrays
- Strings
- Finite state machines (FSMs)
|
Homework 4 due at 2am
|
|
|
8
|
Mar 8
|
Lecture 8: Locals, parameters (Section 7.1-7.5)
|
- Local variables
- Stack frames and parameter passing
|
Homework 5 due at 2am
|
|
Mar 10
|
Lecture 8: C functions (C Primer)
|
- Local and global variables
- Parameter passing
|
|
|
9
|
|
|
10
|
Mar 22
|
Lecture 9: LCD interface (Section 8.5, 9.1, 10.1)
|
- Fixed-point numbers
- I/O synchronization
- LCD programming
|
Homework 6 due Wednesday at 2am
|
|
Mar 24
|
Test 2 (closed book):
|
- In lab (during class time), ACA 1.102 & 1.106
- Chapter 5 and 6
|
|
|
11
|
Mar 29
|
Lecture 10: Interrupts (Section 9.2, 9.4, 9.6, 9.10)
|
- 9S12 interrupts and interrupt processing
- Timer and periodic (output compare) interrupts
|
|
|
Mar 31
|
Lecture 10: C programming
|
- Metrowerks
- C/assembly interface
|
|
|
12
|
Apr 5
|
Lecture 11: A/D conversion (Section 11.1, 11.4)
|
- Analog to digital conversion (ADC)
- Lab 7 design methods
|
Homework 7 due at 2am
|
|
Apr 7
|
Lecture 11: Numerical calculations (Section 10.2)
|
- Multiplication and division
- Table lookup and interpolation
|
|
|
13
|
Apr 12
|
Lecture 12: Serial I/O (Section 8.1)
|
- Serial communications interface (SCI)
- SCI programming and interrupts
- Lab 8 introduction
|
|
|
Apr 14
|
Lecture 12: Thread communication (Section 12.1-12.4)
|
- Producer-consumer problems
- FIFO queues
|
Homework 8 due Friday at 2am
|
|
14
|
Apr 19
|
Lecture 13: D/A conversion (Section 11.2-11.3)
|
- Digital to analog conversion (DAC) on the 9S12
- Sound generation
|
|
|
Apr 21
|
Lecture 14: Stepper motors (Section 8.7)
|
- Stepper motors
- FSM control
|
|
|
15
|
Apr 26
|
Lecture 14: TRobots
|
- TRobot control
- TRobot competition
|
Homework 9 due at 2am
|
|
Apr 28
|
Guest lecture: Joe Bungo, ARM
|
- ARM architecture
- Embedded & mobile computing
|
|
|
16
|
|
|
Final
|
Wednesday, May 11
|
Final Exam:
|
2:00 pm - 5:00 pm
|
|