Introduction to Embedded Systems

EE319K, Unique: 16165, 16170, 16175, 16180
Semester: Spring 2013



Lecture Schedule (tentative)

Lecture slides and notes will be posted on Blackboard.

Week Tuesday Thursday
1
Jan 15
Lecture 1: Introduction (Chapter 1; Syllabus)
  • Course administration
  • Electronics, logic
  • Numbers, binary, decimal, hexadecimal
Jan 17
Lecture 1: Embedded systems (Chapter 2)
  • Development cycle
  • Flow charts, data flow and call graphs
  • ARM programming
2
Jan 22
Lecture 2: I/O (Sections 4.1.2, 4.2.1)
  • Parallel ports, direction registers
  • Logical and shift operations
  • Keil tools
Jan 24
Lecture 2: Architecture (Chapter 3, Patt Chapter 11, 12)
  • ARM architecture and execution
  • Simple addressing modes, memory operations
  • Introduction to C programming
3
Jan 29
Lecture 3: Debugging (Section 4.6, 5.8; Patt Chapter 15)
  • Debugging techniques: monitors, breakpoints, single stepping
  • Debugging using Keil tools
Jan 31
Lecture 3: Board (Section 4.2.2)
  • Switch and LED interfacing
  • Demo of the board (bring board to class)
 
4
Feb 5
Lecture 4: Arithmetic (Section 3.3.6, 5.3; Patt Chapter 13)
  • Arithmetic overflow
  • Condition code bits, Conditionals
  • Control structures: branches, loops
Feb 7
Lecture 4: Modular programming (Section 5.2, 3.3.8; Patt Chapter 14)
  • Abstraction and refinement
  • C functions
  • Subroutines and parameter
5
Feb 12
Lecture 5: Pointers (Section 6.1-6.3; Patt Chapter 16)
  • Indexed addressing mode
  • Arrays and strings
  • C pointers
Feb 14
Lecture 5: Functional debugging (Section 6.9)
  • Debugging dump
  • Arrays and strings in C
6
Feb 19
Lecture 6: Timers (Section 4.4)
  • SysTick Timers
  • Review for Test 1
Feb 21
Test 1 (closed book):
  • Chapter 1 - 5
 
 
7
Feb 26
Lecture 7: FSMs (Section 6.4, 6.5)
  • Finite state machines (FSMs)
  • Linked structures
  • C structures
Feb 28
Lecture 7: Data structures (Patt Chapter 19)
  • Abstract C data types
  • Linked lists
  • FSMs in C
8
Mar 5
Lecture 8: Variables, parameters (Section 7.1-7.5; Patt Chapter 17)
  • Local variables
  • Stack frames and recursion
  • C parameter passing and scoping
Mar 7
Lecture 8: LCD interface (Section 7.6-7.8)
  • Fixed-point numbers, number conversions
  • LCD programming
9
Mar 12
Spring Break
Mar 14
Spring Break
10
Mar 19
Lecture 9: Interrupts (Section 9.1, 9.2, 9.4)
  • I/O synchronization
  • ARM interrupts and interrupt processing
  • Interrupt controller
Mar 21
Lecture 9: Interrupts (Section 9.6, 9.3)
  • Periodic (SysTick) interrupts
  • Thread synchronization
11
Mar 26
Lecture 10: D/A conversion (Section 10.1-10.3)
  • Digital to analog conversion (DAC)
  • Resistor networks, voltage dividers, DAC design
  • Sound and music generation
Mar 28
Test 2 (closed book):
  • In lab (room TBA), 7-9pm
  • Chapter 1 - 7
 
12
Apr 2
Lecture 11: A/D conversion (Section 10.4-10.6)
  • Analog to digital conversion (ADC)
  • Lab 8 design methods
 
Apr 4
Lecture 11: Numerical calculations (Section 7.6)
  • Multiplication and division
  • Interpolation and calibration
 
13
Apr 9
Lecture 12: Serial I/O (Section 8.1-8.2)
  • Serial communications interface (SCI)
  • Serial interrupts
  • Lab 9 introduction
Apr 11
Lecture 12: Thread communication (Section 11.1-11.4)
  • Producer-consumer problems
  • FIFO queues
 
14
Apr 16
Lecture 13: Game programming
  • 2-D arrays
  • Bitmaps, sprites
  • Data structures
Apr 18
Lecture 13: Game programming
  • Game engine design
  • Lab 10
 
15
Apr 23
Lecture 14: Floating-point
  • Number representation
  • IEEE 754
 
Apr 25
Lecture 14: Embedded system design
  • Design trends and technologies
  • Future design challenges
 
16
Apr 30
Lecture 15: Review and Wrapup
  • Chapter 1 - 11
 
 
May 2
Design Competition
  • Chapter 1 - 11
 
 
Final
Saturday, May 11
Final Exam:
7:00 pm - 10:00 pm


Contents © Copyright 2013 Andreas Gerstlauer http://www.ece.utexas.edu/~gerstl/ee319k_s13