ECE271: Microcomputer Architecture and Applications

University of Maine ECE

Spring 2022

Instructor: Vincent Weaver
Lecture is Tuesday/Thursday at 11:00am-12:15pm, Barrows 119

Labs are Mo/We/Th from 2:00pm-4:50pm, Kepware Lab (Barrows 225)

Lab TA: The final exam is scheduled for: Thursday 5 May 2022, 8:00am-10:00am, Barrows 119


Office hours:

Syllabus

ece271_2022s.pdf

Course Listing

The microcomputer and its component parts including microprocessors, registers, memory and I/O. Programming in C and Assembly and applying the microcomputer in engineering systems. Lec 4. (Spring.)

Class Schedule

LabTuesdayThursday
Week 1 No Lab 18 January
Intro to Computers
Lecture 1 Notes
20 January
GPIO on the STM32L4
Read Chapter 14
Lecture 2 Notes
Week 2 Lab1: GPIO: LEDs + Joystick
Lab1 Prelab Assignment
Lab1 Lab Assignment
Lab1 Template Code
25 January
Lab1 Topics / Bare Metal Programming
Read Chapter 1
Lecture 3 Notes
27 January
Computer Architecture / LCD Lab2 Prep
Read Chapter 1
Lecture 4 Notes
Week 3 Lab2: LCD Display
Lab2 Prelab Assignment
Lab2 Lab Assignment
Lab2 Template Code
1 February
Thumb-2 Assembly Language (Intro)
Read Chapter 3
Lecture 5 Notes
3 February
Thumb-2 Assembly Language (ALU instructions)
Read Chapters 4 and 14.9
Lecture 6 Notes
Week 4 Lab3: Keypad
Lab3 Prelab Assignment
Lab3 Lab Assignment
8 February
Thumb-2 Assembly Language (Load/Stores)
Read Chapters 4 and 5
Lecture 7 Notes
10 February
Thumb-2 Assembly Language (Branches/Control Flow)
Read Chapters 5 and 6
Lecture 8 Notes
Week 5 Lab4: LED in Assembly
Lab1 Prelab Assignment
Lab1 Lab Assignment
Lab1 Template Code
15 February
Function Calls, Assembler Directives
Read Chapter 3.5-3.7
Lecture 9 Notes
17 February
Debuggers, More obscure ARM instructions
Read Chapter 2
Lecture 10 Notes
Week 6 Catch-up Lab 22 February
Two's Complement Numbers
Read Chapter 2
Lecture 11 Notes
24 February
Stepper Motors
Read Chapter 16
Lecture 12 Notes
Week 7 Lab5: Stepper Motor
Lab5 Prelab Assignment
Lab5 Lab Assignment
1 March
Subroutines, Recursive Functions
Read Chapters 7 and 8
Lecture 13 Notes
3 March
Lab6 Prep / Functions in Assembly
Read Chapter 7 and 8
Lecture 14 Notes
Sample NZVC Problems
Week 8 Lab6: Stepper in Assembly
Lab6 Prelab Assignment
Lab6 Lab Assignment
8 March
Midterm
10 March
Sys Timer / Interrupt
Lecture 15 Notes
Read Chapter 11
No Lab 15 March
Spring Break
17 March
Spring Break
Week 9 Lab7: System Timer
Lab7 Prelab Assignment
Lab7 Lab Assignment
22 March
More Interrupts / Inline Assembly
Lecture 16 Notes
Read Chapter 11
24 March
Timers
Lecture 17 Notes
Read Chapter 15
Week 10 Lab8: Servo/PWM
Lab8 Prelab Assignment
Lab8 Lab Assignment
29 March
Floating Point
Lecture 18 Notes
Read Chapter 12
31 March
Input Capture / More Floating Point
Lecture 19 Notes
Read Chapter 15.4
Week 11 Lab9: Input Capture / Ultrasonic Sensor
Lab9 Prelab Assignment
Lab9 Lab Assignment
5 April
Fixed Point, Cortex-M4 FPU
Lecture 20 Notes
Read Chapter 12
7 April
Analog/Digital Converter, Exam Review
Lecture 21 Notes
Sample FP Problem
Read Chapter 20
Week 12 Lab10: ADC / Infrared Sensor
Lab10 Prelab Assignment
Lab10 Lab Assignment
12 April
Midterm Exam #2
14 April
Digital/Analog Converter
Lecture 23 Notes
Read Chapter 21
Week 13 Lab11: DAC / Digital Music
Lab11 Prelab Assignment
Lab11 Lab Assignment
19 April
DMA / Computer Music
Read Chapter 19
Lecture 24 Notes
21 April
Other Discovery Board Features (Part1) Lecture 25 Notes

Week 14 Makeup Lab
26 April
Final Exam Review
Lecture 26 Notes
28 April
Other Discovery Board Features (Part2)
Lecture 27 Notes

Linux Lab Templates


Textbook

Other Reference Books

Gitlab Instructions

Datasheets/Manuals


ARM Assembly Language Links

Useful Links


Back to my homepage
Last updated 28 April 2022, 14:00