A brief course in “Bare Metal” programming the STM32/ARM-Cortex M4 MCU

by Peter Baier (DK7IH)

This online course is intended to give the reader a quick and compact introduction into register oriented programming (aka “Bare Metal” programming) the STM32/ARM-Cortex M4 microcontroller. It is mainly designed to help those coming from e. g. the 8-bit MCUs like AVRs etc. in entering a new world of designing software for embedded systems .

You will learn all necessary techniques like getting the required information from datasheet and reference manual, learn about registers, addressing regsiter and setting values etc. Have fun!

The topics covered in the respective lessons are:

#1 The Basics

#2Register usage and port configuration

#3 Setting system clock

#4 Alternate functions

#5 Timers and Interrupts

#6 Serial Peripheral Interface SPI (I)

#7 Analog-Digital-Converter (ADC) (I)

#8 Using Rotary Encoder

#9 Pulse Width Modulation (PWM)

#10 Inter-integrated Circuit (I²C)