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