Introduction to Embedded Systems

EE319K, Unique: 16320, 16325, 16330, 16335
Semester: Spring 2011



Lecture Schedule (tentative)

Lecture slides will be posted on Blackboard. Notes that are very similar to the slides and what I'll be discussing are available at http://users.ece.utexas.edu/~valvano/EE319K. Short videos explaining many of the concepts and showing some demos are available at http://users.ece.utexas.edu/~valvano/Lessons.

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


Contents © Copyright 2011 Andreas Gerstlauer http://lph.ece.utexas.edu/users/Sp11_EE319k