На плате Leaf Maple Mini зашит загрузчик позволяющий загружать нашу прошивку через USB порт, как это делается в Arduino IDE. Загрузка производится в режиме DFU mode, что требует установки драйверов VID_1EAF&PID_0003.
При подключении плата определяется системой как COM порт, но в режиме загрузки прошивки переключается в режим DFU mode.
Прежде чем пытаться что-то прошить в наш контроллер нам необходимо установить драйвер.
Качаем набор компонентов для работы с платами STM32 для Arduino IDE
Подключаем нашу плату по USB
Переводим нашу плату в режим работы DFU mode:
Кратковременно нажимаем кнопку RESET и пока быстро мигает светодиод жмем кнопку but=32 и удерживаем некоторое время.
Или зажимаем кнопку but=32 и кратковременно нажимаем RESET и держим некоторое время.
В диспетчере задач у нас должно появиться устройство Maple 003 которое требует установки драйверов.
Распаковываем скаченный ранее архив, идем в папку ~\Arduino_STM32-master\drivers\win\ запускаем от АДМИНИСТРАТОРА - install_drivers.bat, драйвер должен установиться. Жмем RESET на плате, теперь установиться драйвер COM порта.
Если драйвера не установились или плата не определяется системой, пойдем по другому пути, зашьем загрузчик сами.
Я буду зашивать с использованием ST-LINK V2, но мы так же может прошить, используя COM переходники.
Качаем и устанавливаем:
Драйвер ST-LINK_V2
STM32 ST-LINK Utility
Прошивки загрузчиков для плат STM32. Качаем - maple_mini_boot20.bin
Подключаем ST-LINK V2 к плате Leaf Maple Mini:
ST-LINK V2 | Maple Mini | |
---|---|---|
2 | SWCLK (SWD clock) | D21 |
4 | SWDIO (SWD data input/output) | D22 |
6 | GND (Ground) | GND |
8 | 3.3V | VCC |
Запускаем STM32 ST-LINK Utility
Переводим нашу плату в режим DFU mode см.выше.
Жмем в программе Connect
Жмем на вкладку Binary File и выбираем скачанный ранее файл maple_mini_boot20.bin
Жмем Program Verify
В открывшемся окне жмем Start
Начнется прошивка нашего загрузчика.
Теперь еще раз пробуем установить драйвера описанным выше способом.
Запускам Windows Studio Code с установленной PlatformIO и добавляем платформы как на картинке
Создаем проект из примеров ST STM32 –> arduino-blink
Переходим в созданный проект
Правим platformio.ini
[env:maple_mini_b20]
platform = ststm32
framework = arduino
board = maple_mini_b20
Подключаем нашу плату по USB, она определиться системой как COM порт.
Жмем 3 см. картинку. Ждем окончания заливки прошивки в плату.
Если у вас выскакивает ошибка:
maple_loader v0.1
Resetting to bootloader via DTR pulse
Searching for DFU device [1EAF:0003]...
dfu-util - (C) 2007-2008 by OpenMoko Inc.
This program is Free Software and has ABSOLUTELY NO WARRANTY
Couldn't find the DFU device: [1EAF:0003]
Значит, вы не поставили драйвера на плату.
Еще информация по данной плате Leaf Maple Mini читать
Использование в Arduino IDE читать
Конечно, использовать DFU mode для заливки наших прошивок в плату по USB не есть хорошо, лучше прошивать, используя ST-LINK V2. Так же использование библиотек Arduino для работы с платой производительности нам не прибавит.
Разработку под STM32 лучше конечно производить в STM32CubeIDE - бесплатная среда разработки от STM, полностью поддерживает STM32CubeMX
Я использую Visual Studio 2019 Community с надстройкой VisualGDB – где Visual Studio 2019 Community – бесплатна, а вот VisualGDB стоит денег. Данная связка в последних версиях прекрасно работает с STM32CubeMX