This course was created with the
course builder. Create your online course today.
Start now
Create your course
with
Autoplay
Autocomplete
Previous Lesson
Complete and Continue
Foundations of Embedded Systems with ARM Cortex and STM32 | 2 Week Series
Getting started
Before we get started!
Section 0 - Introduction
Introduction to Microcontrollers (3:10)
Introduction to Embedded - Basic MCU Architecture (4:04)
Introduction to Embedded - CPU Overview (5:25)
Logic Levels (1:53)
Section 1 - Cortex-M Introduction and Architecture Overview
ARM Cortex Family (3:35)
Cortex-M Family (4:47)
Cortex-M Instruction Set (3:05)
Overview of the Nucleo F303RE board (4:00)
Reference Documents
Section 1 - Quiz
ARM vs Thumb Instructions Quiz
Section 2 - Cortex-M Programmer's Model
Programmers Model (6:10)
General Registers and Process Specific Registers (4:35)
Special Registers (5:36)
Lab Session #1 - Programmers Model - General and Special Registers (22:16)
Lab Session #2 - Programmers Model - xPSR and Control Register (17:56)
Section 2 - Quiz
Programmers Model Quiz
Section 3 - Cortex-M Exception Model, Vector Table and VTOR
Exception Model and Vector Table (18:04)
Lab Session #3 - Reset Exception Handler and the Vector Table (8:23)
Vector Table Offset Register (VTOR) (4:00)
Lab Session #4 - Using VTOR to move vector table to SRAM (20:59)
Section 3 - Quiz
Exception Model Quiz
Section 4 - Cortex-M Core Peripherals
Core Peripherals (4:50)
Big Endian vs Little Endian (2:49)
STM32F3x System Overview, Bus Interface (4:22)
Section 5 - Windows, Mac, Linux - Development environment setup
Lab session #5 - Setting up the development environment - Windows, Mac and Linux (23:00)
Section 6 - Hands On Lab Sessions using STCubeMX
Lab session #6 - Install STCubeMX for generating HAL drivers (5:34)
Section 7 - GPIO Driver Development
Lab session #7 - GPIO Peripheral Driver Development (29:01)
Section 8 - UART Driver Development
Lab session # 8 - Deep dive into UART and its driver development (46:57)
Section 9 - I2C Driver Development
Lab session # 9 - Inter integrated circuit driver development lab exercise (63:04)
Section 10 - DAC and TIM driver development
Lab session # 10 - DAC and TIM Peripheral Driver development (31:31)
(Optional) Setting Up The Development Environment
Section Introduction
Setting up the virtual machine (2:57)
Setting up Linux OS on the virtual machien (3:29)
Setting up the Eclipse development environment (2:39)
Setting up the development toolchain (6:10)
Creating a blinky project (3:05)
Setting up the open source debugger (8:08)
Setting up the open source debugger (Part 2) (8:32)
Running the blinky project (6:53)
FAQ and troubleshooting (8:09)
Congratulations and Thank you!
Closing Notes (0:31)
Cortex-M Instruction Set
Lesson content locked
If you're already enrolled,
you'll need to login
.
Enroll in Course to Unlock