Iowa State University

CprE 288 - Embedded Systems

Lecture Schedule

Date Lecture (pdf) Topics
Topic 1
Lecture
Lectures 1 & 2
  • Syllabus and introduction to embedded systems
  • Hardware overview, base conversion, micro-processor/controller overview
  • Textbook Readings: Chapter 1, Sections 2.1 and 2.7. Scan Section 2.6
Topic 2
Lecture
Lectures 3 & 4, Lab 1 Instructions
  • C programming: history, variables, types, arrays, strings
  • Lab 1 Intro: LCD Banner (Hello World)
Topic 3
Lecture
Lectures 5 & 6, Lab 2 Instructions
  • C programming: String manipulation, control flow, structures, enum, unions, memory layout, pointers, cast
  • Lab 2 Intro : iRobot Open Interface
Topic 4
Lecture
Lectures 7 & 8, Lab 3 Instructions
  • C programming: Bitwise operators I/O ports, pointer review
  • Lab 3: Push Buttons, Knob Control, and Stepper Motor
  • Textbook Readings: Sections 2.6.1, 2.6.2.3, 2.6.3, 7.1-7.3, Example application 7.4
Topic 5
Lecture
Lectures 9 & 10, Lab 4 Instructions (Complete Prelab)
  • Embedded C programming: Interrupt programming, library functions
  • Lab 4: Push button clock (Timers, Interrupts, & Debugging)
  • Textbook Readings: Section 2.4, and Chapter 5 (pages 261-306)
Topic 6
Lecture

Lecture 11,
Lab 5 Instructions (Complete Prelab)

 

  • Serial Communication and USART  & SPI
  • Lab 5: USART Communication
  • Textbook Readings: Section 8.5

 

Topic 7
Lecture
Lecture 12 & 13,
Lab 6 Instructions (Complete Prelab) Exam 1 (Tuesday, October 2)
  • ADC: Analog-to-Digital Conversion
  • Lab 6: IR Distance (ADC)
  • Textbook Readings: Section 7.5
  • Exam 1 Review slides
Topic 8
Lecture
Lectures 14 & 15,
Lab 7 Instructions (Complete Prelab)
  • Time Processing: Input Capture
  • Lab 7: Sonar based distance estimation ( PING))) Sensor )
  • Textbook Readings: Sections 9.1 and 9.2
Topic 9
Lecture
Lectures 16 & 17,
Lab 8 Instructions (Complete Prelab)
  • Time Processing: Output Compare & Pulse- Wave Modulation (PWM)
  • Lab 8: Servo Position Control with PWM
  • Textbook Readings: Sections 9.1 and 9.2
Topic 10
Lecture
Lectures 18 & 19,
ADC Review,
Lab 9 Instructions
Topic 11
Lecture

Lecture 20
Lectures 21 & 22 & 23
  • ARM Assembly Introduction
  • Lab 9: Object Counting and Size Discrimination (cont.)
  • Textbook Readings: Sections 2.1-2.3, 2.6.1-2.6.2, 4.1-4.3
  • ARM Assembly Instruction set manual: Preface, Chapter 3, and Chapter 4
  • ARM Procedure Call Standard: Sections 5, 7.1.1, 7.2

 

Topic 12
Lecture
Exam 2 (Thursday, November 8)
  • ARM RISC architecture and ARM Assembly Language Introduction
  • Exam 2 Review slides
  • Lab Project: VORTEX Rover
Topic 13
Lecture
  • ARM Assembly Language, Control Instructions
  • Lab Project: VORTEX Rover
Topic 14
Lecture
Lectures 24 & 25
  • ARM Assembly Language, Translating If-Statement and Function Call Convention
  • Lab Project: VORTEX Rover
Topic 15
Lecture
Lecture 26
  • ARM Assembly Language, Translating C Loop Statements
  • Lab Project: VORTEX Rover
  • PROJECT DEMO DUE (Last day of Lab)
Final Exam Exam 3 Review slides EXAM 3:
  • Morning Section: Thursday, Dec. 13 @ 9:45-11:45 a.m.
  • Afternoon Section: Monday, Dec. 10 @ 12:00-2:00 p.m.
  • Final Exam Schedule Link