The STM32L4R5xx Datasheet: This document provides an overview of the features that are present within the STM32L4R5ZI microcontroller that is on your Nucleo Board. It is useful for finding the electrical characteristics, pinouts, and high-level feature descriptions of the specific microcontroller.
The STM32L4 Reference Manual: This 1900 page document gives in-depth information about every feature on this series of microcontrollers. While it may seem daunting, you will never need to read every page. Usually you will be looking for a particular feature (such as GPIO) and using the table of contents or a search function to find more information about it.
The STM32L4 Programming Manual: This programming manual provides information for application and system-level software developers. It gives a full description of the STM32 Cortex-M4 processor programming model, instruction set and core peripherals.
The STM32 Nucleo-144 User Manual: This document is similar to the datasheet for your microcontroller, but it is specifically for the whole Nucleo Board, not just the microcontroller. It is useful for finding what hardware is on the board (such as push buttons or LEDs) and showing where each pin on the microcontroller is connected.
The Nucleo-L4XXZX Board Schematics: This document shows a low-level schematic of all the electrical components on the Nucleo, down to the resistors and capacitors. It is useful for understanding the specifics of how the microcontroller is connected to the different devices on the board.
The STM L4 Series HAL User Manual: This document provides a description of the HAL libraries that we will be using in many of our labs. It is useful to understand what functions and parameters you need to control different peripherals with the HAL library.
The Gowin EDA software: Free software download sight. The software only works on W10 and Linux OS. We currently do not require the use of the software.
Gowin License: You can apply for a free Gowin license, but it can take some time. The easiest way is to use their free floating license server. Go to the bottom of this page for details and other useful information on the Tang Nano.
EDA Playground: Simulation tool used to develop memory mapped IO hardware in Verilog.
There is no official textbook for this class. Instead, we focus on teaching via lecture material and the datasheets and reference manuals listed above. Given the rather diffuse nature of embedded systems, textbooks tend to be so general that they are not helpful for learning a specific set of hardware or so hyper-specific that the lessons learned cannot be extrapolated to other microprocessors or embedded platforms. While each of the following three textbooks has its strengths and weaknesses, they are good references for students looking for extra material to study.
"The Definitive Guide to ARM Cortex-M3 and Cortex-M4 Processors", Joseph Yiu (2013)
This is great reference for the ARM Cortex-M series of processors. It provides more exposition and context then datasheets but does not discuss manufacture specific data sheets.
“Embedded Systems with ARM Cortex-M Microcontrollers in Assembly Language and C: Third Edition” Yifeng Zhu (2017)
This is a nuts and bolts textbook for focused on the STM32L series of microcontrollers. It is targeted for sophomore college students and does not go into enough detail on some topics. Make sure to get the third edition or later.
"Introduction to Embedded Systems - A Cyber-Physical Systems Approach"
Available for free at https://ptolemy.berkeley.edu/books/leeseshia
The text is, on the whole, at a higher-level than we'll generally work at. But parts are useful to us and the rest is worth scanning just to get an idea about what "embedded systems" means to others.