ELEC 2220 - Computer Systems

CPSC 3300 – Computer Organization and Assembly Language Programming

Course Resources

v General Reference Books/Materials

·         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

·         Cortex-M4 Devices Generic User Guide (Architecture and assembly language)

o   ARM Cortex-M4 Thumb-2 instruction set summary (to use for quizzes)

o   ARM Thumb Instructions Quick Reference

·         STM32F4xx Cortex-M4 (Assembly Language) Programming Manual

·         William Hohl and Christopher Hinds, ARM Assembly Language: Fundamentals and Techniques, 2nd Ed., CRC Press, 2015. ISBN 978-1-4822-2895-1

·         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/

·         C Programming for Embedded Systems (Short tutorial for ELEC 3040/3050)

 

v  System Workbench for STM32 (SW4STM32) Software Tools

·         OpenSTM32 Community resources:  http://openstm32.org/HomePage

·         Download and install System Workbench for STM32: https://www.openstm32.org/Installing System Workbench for STM32 with installer   (Windows, MacOS, Linux versions)

·         System Workbench for STM32 documentation: https://www.openstm32.org/System Workbench for STM32

·         Tutorial: Assembly Language Projects in System Workbench for STM32

·         GNU Assembler User Guide: https://sourceware.org/binutils/docs/as/

·         Debugging with GDB: the GNU Source-level Debugger for GDB: https://sourceware.org/gdb/onlinedocs/gdb/

·         ARM Developer­­Suite Assembler Guide: https://developer.arm.com/documentation/dui0068/latest/

v  Keil MDK-ARM Software Tools

·         Download ARM Keil MDK Core: http://www2.keil.com/mdk5/install

·         Download MDK Software Packs: http://www.keil.com/dd2/Pack/

·         Tutorial: Installing Keil ARM MDK and PACKS

§  Using MDK-ARM on Mac or Linux Machines

·         Tutorial: STM32 Discovery Board Projects (Project creation with Keil uVision)

§  ELEC 2220 – STM32F4 device family

§  CPSC 3300 – STM32F3 device family

·         Tutorial: Project Debugging with the Keil uVision Debugger

·         Sample “simple” assembly language source file.

·         STM32CubeProgrammer – Utility software tool to “fix” and test communications with the project board.

§  Using STM32CubeProgrammer to test ST-Link connection and/or erase microcontroller flash memory.


 

·         Useful references available within Keil uVision (Books pane):

or STM32F334C8

 

← µVision IDE and Debugger

 

 

v  STMicroelectronics Development Boards and Microcontrollers

·         CPSC 3300 Course Project Board: STM32F3448-Discovery Kit 

·         ELEC 2220 Course Project Board: STM32F411E-Discovery Kit  

Bottom of page lists vendors. (We’ve had good service from ST, DigiKey and Mouser for small orders.)

·         Discovery Board Resources:

o   STM32F3348-Discovery Board User Manual

o   STM32F3348-Discovery “include file” (equates.s) of EQU directives

o   STM32F411E-Discovery Board User Manual

o   Getting Started with STM32 MCU Discovery Kits SW Development Tools (Section 3.2: MDK-ARM Toolchain)

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

o   STM32CubeProgrammer – Utility software tool to “fix” and test communications with the project board.

o   Using STM32CubeProgrammer to test ST-Link connection and/or erase microcontroller flash memory.

 

 

·         Microcontroller resources:

o   STM32F334C8 Microcontroller Product Page and Resources

o   STM32F334C8 Microcontroller Data Sheet

o   STM32F334C8 Technical Reference Manual

o   STM32F411VE Microcontroller Product Page and Resources

o   STM32F411xC/E Microcontroller Data Sheet

o   STM32F411xC/E Technical Reference Manual

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

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

·        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