Загрузка программы
Для загрузки программы на микроконтроллер нам понадобится программатор. Это специальное устройство, которое умеет копировать программу в память МК. Используем популярный модуль ST-Link V2 mini.

Подключение ST-Link к STM32 BluePill
У программатора имеется 10 контактов, но нам потребуется только 4 из них. На противоположном от USB-коннектора торце платы BluePill имеется четырёхконтактный разъём с надписями:
- GND — земля;
- CLK — SWCLK, синхроимпульс;
- DIO — SWDIO, линия данных;
- 3.3 — питание 3,3 Вольта.
У версии BlackPill они могут немного отличаться: G, CLK, IO, V3, но сути это не меняет.
Подключаем соответствующие контакты ST-Link и отладочной платы проводами, а затем втыкаем программатор в USB порт компьютера. Теперь Возвращаемся к среде STM32CubeIDE и жмём зеленую стрелку на панели иконок. Или выбираем в меню Run / Run.
В появившемся окне мы можем настроить параметры отладки/загрузки. В рамках нашего урока ничего менять там не требуется.

Проверим вторую вкладку «Debugger». Здесь должен быть выбран наш программатор ST-Link и интерфейс SWD. Тоже можно ничего не менять.

Жмём ОК и дожидаемся завершения процедуры.
STMicroelectronics ST-LINK GDB server. Version 5.5.0 Copyright (c) 2019, STMicroelectronics. All rights reserved. Starting server with the following options: Persistent Mode : Disabled Logging Level : 1 Listen Port Number : 61234 Status Refresh Delay : 15s Verbose Mode : Disabled SWD Debug : Enabled InitWhile : Enabled Waiting for debugger connection… Debugger connected ------------------------------------------------------------------- STM32CubeProgrammer v2.4.0 ------------------------------------------------------------------- ST-LINK SN : 54FF6A064887535326211187 ST-LINK FW : V2J36S7 Voltage : 3.23V SWD freq : 4000 KHz Connect mode: Under Reset Reset mode : Hardware reset Device ID : 0x410 Device name : STM32F101/F102/F103 Medium-density Flash size : 64 KBytes Device type : MCU Device CPU : Cortex-M3 Memory Programming … Opening and parsing file: ST-LINK_GDB_server_a02420.srec File : ST-LINK_GDB_server_a02420.srec Size : 4624 Bytes Address : 0x08000000 Erasing memory corresponding to segment 0: Erasing internal memory sectors [0 4] Download in Progress: File download complete Time elapsed during download operation: 00:00:01.109 Verifying … Download verified successfully
Готово! Программа работает, светодиод мигает.
Конечно, этот пример совсем синтетический и в реальных проектах так никто не мигает индикаторами (хотя бы используют таймеры вместо HAL_Delay). Однако, главная цель этого урока — дать базовые представления о среде STM32CubeIDE, достигнута. На следующем уроке разберемся с кнопками и прерываниями.
выдает ошибку ../Core/Src/main.c:100:22: error: ‘LED_GPIO_Port’ undeclared (first use in this function); did you mean ‘MX_GPIO_Init’?
такого характера
подскажите что это может быть?
Компилятор говорит что не знает то такое LED_GPIO_Port и предлагает вместо этого функцию MX_GPIO_Init. Можете показать весь main.c?
Сделал все по вашему уроку, проект не компилируется. ‘LED_GPIO_Port’ undeclared (first use in this function)
‘LED_Pin’ undeclared (first use in this function) main.c /led_blink/Core/Src line 97 C/C++ Problem. Так и не понял в чем проблема, буду дальше разбираться.
Разобрался. Нужно было на led_blink.ioc нажать правой кнопкой мыши и выбрать Generate Code.
На моем компьютере установлена 32 битная версия Windows 7 по ссылке доступна 64 битная версия, как быть ?
Уважаемый, подскажите… Сделал, всё собралось, но есть одна странность — почему-то светодиод на таблетке молчит, но вот на программаторе мигает. Как этот шайтанамана лечится?
Спасибо большое, все заработало!
Не прошивается.
Error in final launch sequence:
Failed to start GDB server
Failed to start GDB server
Error in initializing ST-LINK device.
Reason: (0) Unknown. Please check power and cabling to target.
Через STM32 ST-LINK Utility прошивку стирал, не помогло.