Плата STM32F411CE BlackPill + MicroPython. Быстрый старт

разделы: STM32, дата: 24 июля 2020г.

Внимание! Статья была отредактирована в ноябре 2023 года (последнее изменение 28 июля 2024г). Были исправленны битые ссылки, логи и скриншоты STM32CubeProgrammer были приведены к версии 2.15. Кроме этого, был добавлен новый раздел "BlackPill в 2023 году, альтернативные платы WeAct", где рассмотренна современная ситуация с прошивками микропитона для BlackPill. Также был добавлен легкий экскурс по программированию на микропитоне на примере написания драйвера дисплея SSD1306 с I2C интерфейсом. Кроме этого было затронуто асинхронное программирование на микропитоне. Также был добавлен обзор альтернативных плат WeAct в форм-факторе Blackpill на чипах: AT32F403ACGU7, RP2040 и STM32WB55. Старую версию статьи можно найти по следующему адресу: "перейти по ссылке".

Изначально статья была посвящена плате Blackpill на чипе STM32F411, и немного была затронута тема микропитона. Немного, потому-что это казалось скорее игрушкой для студентов и не более того. За последние три года произошли какие-то тектонические сдвиги в микроэлектронике, и ситуация поменялась.

  1. Во-первых, фирма Espressif выбросила на рынок целую коробку новых чипов, с очень привлекательными характеристиками. А для ESP микропитон вполне достойная среда программирования, т.к. писать что-то на SDK - сомнительное удовольствие.
  2. Китайцы выпустили целый вагон своих чипов, и микроконтроллеры с объемом флеш-памяти 1 МБ перестали быть экзотикой.
  3. Появился очень интересный RP2040 с возможностью установки микропитона.

Таким образом, я вижу с одной стороны дрифт в сторону от продукции ST, а с другой - микроконтроллеров в сторону SoC. Микропитон же похоже пытается стать Java для микроконтроллеров. Так или иначе байткод-интерпретатор там уже имеется.

Еще один аспект - микропитон выполняет роль интерактивной операционной системы для микроконтроллеров. Там есть дисковая система, командная строка и возможность запускать скрипты с диска. Т.о. микропитон позволяет работать с периферией и аппаратными интерфесами в диалоговом режиме.

Хочу заметить, что вопрос прошивки модулей ESP8266/ESP32 микропитоном рассматривалась в статье про EPS8266: "Установка прошивки MicroPython".

Полезная документация по теме статьи:

  1. STM32F411xC/E Reference Manual (RM0383)
  2. User Manual "STM32CubeProgrammer software description" (UM2237)
  3. Аккаунт компании WeACT на github'e с документацией на плату MiniF4-STM32F4x1
  4. Документация по MicroPython

Содержание:

I. Обзор платы BlackPill на чипе STM32F411CE

  1. Плата WeACT с чипом STM32F411CEU6 ака "Black Pill V2.0"
  2. Использование флешера STM32CubeProgrammer
  3. Прошивка MicroPython
  4. Загрузка программы Blink.py для микропитона, и основы работы с REPL
  5. Установка SPI флешки на плату WeACT STM32F411CEU6
  6. Сборка микропитона из исходников

II. Основы работы c MicroPython

  1. Работа с MicroPython в интерактивной системе REPL
  2. Использование редакторов VS Code и Atom в качестве IDE для MicroPython

III. BlackPill в 2023 году, альтернативные платы WeAct

  1. Микропитон на Blackpill - STM32F411CE в 2023 году
  2. Прикручиваем I2C дисплей SSD1306 128x32
  3. Сборка прошивки микропитона с модулем ulab
  4. Асинхронное программирование на микропитоне: сопрогрммы(coroutines)
  5. Альтернативная плата WeAct Blackpill на китайском чипе AT32F403ACGU7
  6. Плата WeAct RP2040 с микропитоном и внешней флешкой

IV. Микропитон в 2024 году

  1. Эксперименты с микропитоном на плате WeAct AT32F403ACGU7
  2. Прошивка RT-Thread c микропитоном для AT32F403A
  3. Плата WeAct на чипе STM32WB55CGU6 с BLE 5.4
  4. mpy-cross байт-код компилятор микропитона

Читать дальше