Skip to content

A restart of a STM32 course by Edgar Kaziahmedov

License

Notifications You must be signed in to change notification settings

d3phys/stm32f051_rewind

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

72 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Курс по STM32F051

Цель данного курса дать студентам базовое понимание устройства и принципов работы с микроконтроллером STM32F051.

STM32 — семейство 32-битных микроконтроллеров производства STMicroelectronics. Чипы STM32 группируются в серии, в рамках каждой из которых используется одно и то же 32-битное ядро ARM, например, Cortex-M7F, Cortex-M4F, Cortex-M3, Cortex-M0+ или Cortex-M0. Каждый микроконтроллер состоит из ядра процессора, статической RAM-памяти, флеш-памяти, отладочного и различных периферийных интерфейсов. В этом курсе будет вестись изучение микроконтроллера STM32F051 с ядром Cortex-M0.

Мотивация

В интернете существует большое количество курсов по STM32, но большинство из них учит управлять микроконтроллером, использую библиотеки высокого уровня. Данный подход сильно ускоряет разработку приложений, но имеет большой минус. После такого программирования студентам соверешенно не понятно, что происходит "под капотом" микроконтроллера. Первая серьезная ошибка, требующая понимание языка ассемлера или линкер-скрипта, мгновенно ставит программиста в тупик.

Этот курс нацелен на низкоуровневое программирование микроконтроллера. После успешного прохождения курса студенты смогут писать код для STM32 как с помощью библиотек высокого уровня, так и без них. Студенты научатся ориентироваться в документациях к микроконтроллерам, размер которых часто превышает тысячу страниц. Студент будет понимать, каким образом код попадает в микроконтроллер и как происходит его выполнение.

Условия для прохождения курса

Весь код курса разработан под отладочную плату STM32F051 Discovery. Предполагается, что участники курса имеют доступ к данной плате. Также предполагается, что у студентов есть доступ к машине с операционной системой Linux.

Курс ориентирован на людей, которые никогда не программировали микроконтроллер или программировали при помощи библиотек высокого уровня, например, библиотеки для Arduino. Для безболезненного и результативного прохождения курса студентам необходимо обладать следующими знаниями и навыками:

  • Уверенное программирование на языке Си;
  • Владение операционной система Linux (предпочтительно) или macOS (допустимо);
  • Базовые знания по архитектуре процессора и языку ассемблера.

План курса

  1. Устройство STM32. Необходимый минимум программ для программирования STM32. Минимальный пример кода под STM32F051. Управление светодиодами.
  2. Работа с GPIO. Управление кнопкой.
  3. Прерывания и таймеры. Настройка таймера SysTick.
  4. Работа протокола USART. Общение микроконтроллера и компьютера.

Данный курс построен на основе курса по STM32 Эдгара Казиахмедова.

About

A restart of a STM32 course by Edgar Kaziahmedov

Topics

Resources

License

Stars

Watchers

Forks

Languages

  • C 88.9%
  • Makefile 6.7%
  • Python 2.3%
  • Assembly 2.1%