Перейти к содержимому

Курс BeeFC: полётный контроллер на STM32 своими руками … ↩

Курс BeeFC: полётный контроллер на STM32 своими руками
Обучение. Курс BeeFC: полётный контроллер на STM32

Содержание курса BeeFC: 33 урока о собственной полётной прошивке для контроллера на STM32F405. Три уровня — «Старт», «Полётный контроллер» и «Автопилот», 130 часов, из них 91 час практики. Стенды и программная модель вместо полётов, автоматическая проверка кода на компьютере, сравнение с Betaflight, INAV, ArduPilot и PX4 в каждом уроке.

Курс BeeFC: содержание уровня «Старт» … ↩ L1

Курс BeeFC: содержание уровня «Старт»
Обучение. Курс BeeFC: полётный контроллер на STM32

Содержание первого уровня курса BeeFC: десять уроков о программировании микроконтроллера STM32F405 для полётного контроллера беспилотного воздушного судна, перечень оборудования, порядок работы с автоматической проверкой кода и правила безопасности при работе с двигателями на стенде.

Беспилотная авиационная система и место полётного контроллера в ней … ↩

Беспилотная авиационная система и место полётного контроллера в ней
Обучение. Курс BeeFC: полётный контроллер на STM32

Вводный урок курса BeeFC: состав беспилотной авиационной системы, цикл управления полётного контроллера, сравнение прошивок Betaflight, INAV, ArduPilot и PX4, создание собственного репозитория и первая автоматическая проверка кода на компьютере без подключения платы.

Инструменты разработки и первая прошивка … ↩

Инструменты разработки и первая прошивка
Обучение. Курс BeeFC: полётный контроллер на STM32

Второй урок курса BeeFC: установка компилятора для ядер Arm, определение назначения выводов учебной платы по исходным кодам прошивок, первая программа для микроконтроллера STM32F405 без библиотек, загрузка через встроенный загрузчик по универсальной последовательной шине и пошаговая отладка через отладочный интерфейс.

Устройство ядра Cortex-M4F: тактирование, память и запуск программы … ↩

Устройство ядра Cortex-M4F: тактирование, память и запуск программы
Обучение. Курс BeeFC: полётный контроллер на STM32

Третий урок курса BeeFC: последовательность запуска микроконтроллера STM32F405, расчёт коэффициентов умножителя частоты для 168 МГц, такты ожидания флеш-памяти, карта памяти и сценарий компоновщика, включение сопроцессора плавающей точки, счётчик тактов и разбор аварийной остановки программы.

Язык C для встраиваемых систем и архитектура BeeFC … ↩

Язык C для встраиваемых систем и архитектура BeeFC
Обучение. Курс BeeFC: полётный контроллер на STM32

Четвёртый урок курса BeeFC: типы фиксированного размера, квалификатор volatile и битовые операции языка C, разделение прошивки на слои, интерфейс портов ввода-вывода с двумя реализациями: для микроконтроллера и для компьютера, первые модульные тесты на библиотеке Unity.

Порты ввода-вывода, прерывания и контроллер прерываний NVIC … ↩

Порты ввода-вывода, прерывания и контроллер прерываний NVIC
Обучение. Курс BeeFC: полётный контроллер на STM32

Пятый урок курса BeeFC: опрос и прерывания, контроллер внешних прерываний и контроллер вложенных векторных прерываний микроконтроллера STM32F405, приоритеты обработчиков, общие данные обработчика и основной программы, фильтрация дребезга контактов и замер задержки прерывания логическим анализатором.

Системное время и планировщик задач … ↩

Системное время и планировщик задач
Обучение. Курс BeeFC: полётный контроллер на STM32

Шестой урок курса BeeFC: системное время на 32-битном таймере микроконтроллера STM32F405, вычисление интервалов при переполнении счётчика, кооперативный планировщик задач с приоритетами и замером загрузки процессора, тесты на модельном времени и разбор опозданий задач в крупных прошивках.

Последовательный порт, прямой доступ к памяти и консоль … ↩

Последовательный порт, прямой доступ к памяти и консоль
Обучение. Курс BeeFC: полётный контроллер на STM32

Седьмой урок курса BeeFC: формат кадра и расчёт скорости последовательного порта микроконтроллера STM32F405, приём по прерыванию и через контроллер прямого доступа к памяти, кольцевой буфер без блокировок, разбор команд консоли и перезагрузка во встроенный загрузчик по команде.

Таймеры и широтно-импульсная модуляция: первый запуск двигателя … ↩

Таймеры и широтно-импульсная модуляция: первый запуск двигателя
Обучение. Курс BeeFC: полётный контроллер на STM32

Восьмой урок курса BeeFC: таймеры микроконтроллера STM32F405, расчёт предделителя и периода для широтно-импульсной модуляции, сигналы управления регуляторами частоты вращения и сервоприводами, группы выходов на одном таймере, защита от случайного запуска и первый запуск двигателя на стенде.