Skip to content
Edgar K edited this page Feb 3, 2021 · 154 revisions

Course program (previous version)

If you want to contribute to the course, refer to TODO tasks section.

# Lecture (in rus) Slides Labs Extra materials
Introduction.
eng Toolchain installation guide
Main system
1 Toolchain. Blank project rus blank Blank project building
2 CPU rus control_clock,
reset
3 Memory map rus boot_gdb Alternative way to program STM32
4 NVIC rus nvic
Peripheral essentials
5 GPIO rus gpio GPIO revisited
6 Timers 1 rus timers_basics
timers_freq_meter
7 Timers 2 rus timers_encoder
timers_pwm_sound
8 Universal synchronous
asynchronous receiver
transmitter (USART)
rus usart_terminal
usart_xprintf
Jupyter notebook installation
9 I2C rus i2c_oled_display
i2c_oled_sprites
i2c_ext_eeprom
SSD1306 driver tutorial
10 Serial Peripheral
Interface (SPI)
rus spi_shift_reg
Real Time
Operating systems
11 EXTI. System Timer rus exti_systick Random stuff
12 RTOS and FSM rus fsm_basic FSM & RTOS info
13 FreeRTOS.
Processes
rus
14 FreeRTOS.
IPC
rus
Advanced topics
15 Low power
mode
rus low_power
16 Direct memory
access (DMA)
rus
17 Real time clock (RTC) rus rtc_alert
rtc_backup_regs
18 ADC
& DAC
rus adc_temp
dac
19 Designing STM32
board from scratch
rus
20 Libraries overview.
libopencm3
rus libopencm3_ex

Links to the main docs

  1. The full details of the instruction set, programmer's model, and other topics (detailed) [pdf]
  2. Cortex-M0 programmer's model, instruction details and general information about the architecture [pdf]
  3. The timing information of the processor core, and implementation-related information [pdf]
  4. STMicroelectronics version of Cortex-M0 core [pdf]
  5. General description of peripherals within chip [pdf]
  6. STM32F051-specific information (like pinout) [pdf]
  7. STM32F0Discovery description [pdf]
  8. Low Layer library description [pdf]
  9. GDB commands cheat-sheet [pdf]