Week |
Tuesday |
Thursday |
1
|
Jan 17
|
Lecture 0: Introduction (Chapter 1)
|
- Course administration
- Embedded systems, development cycle
- Flow charts, data flow and call graphs
|
|
|
Jan 19
|
Lecture 1: Architecture (Sections 2.1-2.3, 3.1-3.5; Appendix 1.1-1.8.2)
|
- Numbers, hexadecimal
- 9S12 assembly programming
- TExaS simulator
|
|
|
2
|
Jan 24
|
Lecture 2: Execution (Sections 2.4-2.8, 4.1-4.4; Patt Chapter 11)
|
- 9212 micro-architecture, execution, subroutines
- Simple addressing modes, memory operations
- Introduction to C, structure of a C program (C Primer)
|
|
|
Jan 26
|
Lecture 2: I/O (Sections 2.9, 3.6-3.7; Patt Chapter 12)
|
- Parallel ports, direction registers
- Logical and shift operations
- C assignments and boolean expressions (C Primer)
|
|
|
3
|
Jan 31
|
Lecture 3: Debugging (Section 4.7, 5.7; Patt Chapter 14, 15)
|
- Debugging in TExaS
- C functions
|
|
|
Feb 2
|
Lecture 3: Arithmetic (Section 3.8, 3.11, 5.2; Patt Chapter 12, 13)
|
- Addition/subtraction operations
- Condition code bits
- Conditionals
|
|
|
4
|
Feb 7
|
Lecture 4: Board (Appendix 2, Section 2.9)
|
- Demo of the board (bring board to class)
- Switch input and LED output
|
|
|
Feb 9
|
Lecture 4: Modular programming (Section 5.1, 5.2; Patt Chapter 13, 14)
|
- Control structures, if-then, loops
- Subroutines
|
|
|
5
|
Feb 14
|
Lecture 5: Pointers (Section 6.1-6.3; Patt Chapter 16)
|
- Index registers
- Indexed addressing mode
- Arrays and strings
|
|
|
Feb 16
|
Lecture 5: Timers (Section 6.11, 4.5)
|
- Functional debugging dump
- Timers
|
|
|
6
|
Feb 21
|
Review for Test 1:
|
|
|
|
Feb 23
|
Test 1 (closed book):
|
|
|
|
7
|
Feb 28
|
Lecture 6: FSMs (Section 6.5, 6.8; Patt Chapter 19)
|
- Finite state machines (FSMs)
- Structures
- C structs
|
|
|
Mar 1
|
Lecture 6: Data structures (C Primer; Patt Chapter 19)
|
- C data structures
- Linked lists
- FSMs in C
|
|
|
8
|
Mar 6
|
Lecture 7: Locals, parameters (Section 7.1-7.5, 5.4)
|
- Local variables
- Stack frames and parameter passing
- Recursion
|
|
|
Mar 8
|
Lecture 7: Function hierarchy (C Primer; Patt Chapter 17)
|
- Local and global scoping
- Parameter passing
- Recursion
|
|
|
9
|
|
|
10
|
Mar 20/21
|
Test 2 (closed book):
|
- In lab, during lab time, ACA 1.106 & 1.108
- Chapter 5 and 6
- Review during regular class slot
|
|
|
Mar 22
|
Lecture 8: LCD interface (Section 8.5, 9.1, 10.1)
|
- Fixed-point numbers, number conversions
- I/O synchronization
- LCD programming
|
|
|
11
|
Mar 27
|
Lecture 9: Interrupts (Section 9.2, 9.4, 9.6, 9.10)
|
- 9S12 interrupts and interrupt processing
- Timer and periodic (output compare) interrupts
|
|
|
Mar 29
|
Lecture 9: C development environment (C Primer)
|
- Metrowerks
- C/assembly interface
|
|
|
12
|
Apr 3
|
Lecture 10: D/A conversion (Section 11.2)
|
- Digital to analog conversion (DAC) on the 9S12
- Resistor networks, voltage dividers, DAC design
|
|
|
Apr 5
|
Lecture 10: Sound generation (Section 11.3)
|
- Sound and music basics
- Sound and music synthesis
|
|
|
13
|
Apr 10
|
Lecture 11: A/D conversion (Section 11.1, 11.4)
|
- Analog to digital conversion (ADC)
- Lab 8 design methods
|
|
|
Apr 12
|
Lecture 11: Numerical calculations (Section 10.2)
|
- Multiplication and division
- Table lookup and interpolation
|
|
|
14
|
Apr 17
|
Lecture 12: Serial I/O (Section 8.1)
|
- Serial communications interface (SCI)
- SCI programming and interrupts
- Lab 9 introduction
|
|
|
Apr 19
|
Lecture 12: Thread communication (Section 12.1-12.4)
|
- Producer-consumer problems
- FIFO queues
|
|
|
15
|
Apr 24
|
Lecture 13: Stepper motors (Section 8.7)
|
- Stepper motors
- FSM control
|
|
|
Apr 26
|
Lecture 13: TRobots
|
- TRobot control
- TRobot competition overview
|
|
|
16
|
|
|
Final
|
Saturday, May 12
|
Final Exam:
|
2:00 pm - 5:00 pm
|
|