ELEC 2220 - Computer Systems

Summer Term, 2018 - Victor P. Nelson

Office Hours: MWF: 9:30-11:00 am; TH: 2:00-4:00 pm

Class Meetings:  MWF: 1:15 – 2:30 pm, Broun 125


Significant Dates:

Monday, May 28: Memorial Day holiday

Thursday-Friday, June 21-22: No class (Mini-semester 1 reading day/final exams)

Wednesday, July 4: Independence Day holiday

Friday, July 27: Classes End

Final Exam – Thursday, August 2, 4:00-6:30 p.m.


Homework Assignments (by due date)

  1. Monday, May 21 (Review – programming and digital logic design)
  2. Wednesday, May 23 (Review – programming and binary numbers)
  3. Friday, May 25 (Binary arithmetic – Text Chapter 2)
  4. Wednesday, May 30 (Assembly language project setup)
  5. Friday, June 1 (Data placement in memory)
  6. Monday, June 4 (Short assembly language program)
  7. Wednesday, June 6 (Memory addressing and organization)
  8. Friday, June 8 (Memory addressing and arithmetic)
  9. Monday, June 11 (Multi-precision arithmetic; ASCII to binary conversion)
  10. Wednesday, June 13 (Logical and shift operations)
  11. Friday, June 15 (Conditional jump operations)

Monday, June 18 – No homework (Midterm Exam day)

  1. Wednesday, June 20  (Subroutines)

Friday, June 22 – No class (Mini-Semester Exams)

Monday, June 25 – No homework (Nelson at ASEE Conference)

  1. Wednesday, June 27 – Subroutine, Microcontroller Information
  2. Friday, June 29 – I/O on the Discovery Board
  3. Monday, July 2 – Busy-wait I/O (paper design only)
  4. Friday, July 6 – I/O on the Discovery Board
  5. Thursday, July 12 – Interrupt-driven I/O on the Discovery Board
  6. Wednesday, July 19 – Timer interrupts on the Discovery Board
  7. Friday, July 27 – Memory design worksheet (will not be collected)


Friday, July 27 - FINAL PROJECT   (Project demonstration checklist)


Lecture Topics and Notes (Textbook chapters in parentheses)

5/18. Overview of Computer System Organization (Chap. 1) – Class scans

5/21. Overview of Computer System Organization (Chap. 1) – Class scans

5/23. Digital representation of information (Chap. 2) – Class scans

5/25. Computer arithmetic (Chap. 2) – Class scans; , Assembly language projects (see Keil MDK-ARM software documents below.)

5/28. Memorial Day Holiday

5/30. Binary arithmetic and project review.  Assembly language introduction slides.  (Chap. 3)

6/01. Assembly language     Move and memory reference ops (Chap 4 & 5), Class scans

6/04. Memory addressing (Chap. 5)  Class scans

6/06. Memory addressing (Chap. 5), Arithmetic instructions (Chap. 4),  Class scans

6/08. Arithmetic instructions (Chap. 4) Shift instructions (Chap. 4.3)  Class scans

6/11. Logical and shift instructions (Chap. 4)   Class scans

6/13. Flow control instructions (Chap. 4.9, Chap. 6)  Class scans

6/15. Review. Functions and subroutines (Chap. 8) Class scans

6/18. Midterm Exam (or “Quiz” or ”Written Exercise”)

6/20. Stacks, functions and subroutines (Chap. 8) Class scans

6/22. No class (Mini-Semester Final Exam Days)

6/25. No class meeting – recorded presentation on Input/Output will be posted on Canvas.

6/27. General-Purpose Input/Output (GPIO) (Chap. 14) Class scans

6/29. Program-controlled (busy-wait) input/output (Chap. 14) Class scans

7/2.   Program-controlled I/O (Chap. 14) Class scans

7/6.   Interrupt-driven I/O. (Chap. 11)

7/9.   Cortex-M4 Interrupts (Chap. 11, Cortex-M User Manual) Class scans

7/11. Cortex-M4 Interrupts (Chap. 11) Class scans

7/13. Timer interrupts (Chap. 15) Class scans

7/16. Other timer functions (Chap. 15)  Analog Interfacing (Chap. 20,21)

7/18. Analog to digital conversion (Chap. 20) Computer memory,  Class scans

7/20. Computer memory devices    Class scans

7/23. Computer memory devices    Class scans

7/25  Computer memory  Class scans


8/2    Final Exam 4:00 – 6:30 pm

Class Resources

·         Yifeng Zhu, Embedded Systems with ARM Cortex-M Microcontrollers in Assembly Language and C, 3nd Edition, E-Man Press, LLC, 2017, ISBN 978-0-9826926-6-0. (amazon.com)  Textbook web page: http://web.eece.maine.edu/~zhu/book/lab.php

·         Jonathan W. Valvano, Introduction to ARM Cortex-M Microcontrollers (Volume 1), ISBN-13: 978-1477508992, ISBN-10: 1477508996 (amazon.com - paperback or Kindle)

Prof. Valvano’s ARM Web Site: http://users.ece.utexas.edu/~valvano/arm/


·         Other course web pages with ARM-related material:


http://www.eng.auburn.edu/~nelsovp/courses/elec3040_3050/ (STM32L100C-Discovery)

·         Kiel MDK-ARM software (download): http://www.keil.com/demo/

·         Installing MDK-ARM

·         Creating Projects for STM32F4-Discovery with MDK-ARM

·         Debugging Projects for STM32F4-Discovery with MDK-ARM

·         Sample “simple” assembly language source file.

·         STMicroelectronics Development Boards and Microcontrollers

·         Discovery Kits/Boards (Used in the course - bottom of page lists vendors. We’ve had good service from ST, Digikey and Mouser for small orders.)

o   STM32F4-Discovery Kit

o   STM32F411E-Discovery Kit

·         Resources for Discovery Boards

o   User Manuals:

§  STM32F4-Discovery   

§  STM32F411E-Discovery

o   Getting Started with STM32 MCU Discovery Kits SW Development Tools

o   Getting Started with STM32F411E Discovery SW Development Tools

o   STM App. Note 230 - Cortex-M4 training for STM32F4-Discovery board using ARM Keil MDK5 toolkit

o   STM32 ST-LINK/V2 Utility – Download and install the STM32 ST-LINK software tool; useful to “fix” and test communications with the project board.

o   STM32CubeF4 Package/Demo Software (.zip file near bottom of page)

o   Professor Yifeng Zhu’s “include file” (stm32f401xc_constants.s) of EQU statements for microcontroller resources and addresses.

·         Microcontroller product resouces

o   STM32F407VG Microcontroller

o   STM32F411VE Microcontroller

·         uC Data Sheets:

o   STM32F407x Microcontroller

o   STM32F411xE Microcontroller

·         uC Technical Reference Manuals”

o   STM32F4xx Technical Reference Manual

o   STM32F411xE Technical Reference Manual

·         STM32F4xx Cortex-M4 (Assembly Language) Programming Manual

·         ARM Web Page: http://www.arm.com

·         ARM Cortex-M4 Thumb-2 instruction set summary (to be provided for quizzes)

·         Cortex-M4 Devices Generic User Guide

·         ARM Thumb Instructions Quick Reference

·        ARM Architecture Reference Manual (ARM, Ltd.)

·        ARM7TDMI Technical Reference Manual (ARM, Ltd.)

·        ARM Assembly Language (Knaggs & Welsh - Bournemouth Univ.)

·        ARM University Program: http://www.arm.com/community/university/

·        Online introduction to ARM: http://www.techonline.com/learning/course/100280

·         ARM lectures by Dr. Santanu Chaudhury, EE Department, IIT Delhi: http://www.youtube.com/watch?v=4VRtujwa_b8&playnext=1&list=PL95AFA4ABA8B28627&feature=results_main

Resources for HCS12 Version of the Course      

    C:\Program Files (x86)\Freescale\CWS12v5.1\Prog