Установка и настройка среды разработки STM32CubeIDE
STM32CubeIDE — это интегрированная среда разработки (IDE), которая представляет собой комплексную и удобную платформу для разработки и отладки приложений для микроконтроллеров STM32. Она предоставляет ряд инструментов для разработки, отладки и тестирования кода, что делает ее идеальным решением для разработчиков встраиваемых систем. этой статье расскажу пошаговое руководство, которое поможет вам начать работу с STM32CubeIDE, в том числе расскажем, как загрузить и установить программное обеспечение на ваш компьютер. Независимо от того, новичок вы или опытный разработчик, это руководство поможет вам начать работу с STM32CubeIDE и приступить к разработке вашего следующего проекта.
1. Загрузка STM32CubeIDE
Сначала необходимо загрузить программу STM32CubeIDE, для этого, переходим на официальный сайт STMicroelectronics, жмем вкладку «Software & Tools», далее в зависимости от вашей операционной системы выбираем нужную STM32CubeIDE.

Откроется новое окно, жмем «Accert», затем откроется еще окно жмем «Download as a guest», в последнем окне вводим свою электронную почту, на которую придет сообщение о регистрации.

Доступ к скачиванию файлов с официального сайта для пользователей из России временно ограничен в связи с последними обстоятельствами. Поэтому выложил программу на яндекс диск, скачать ее можно по ссылке, так же необходимо перевести программу в офлайн режим и установить в репозиторию (статья 3) для вашего микроконтроллера, в противном случаи проект будет не полным.
2. Установка STM32CubeIDE
Установка простая, открываем скачанный файл, нажимаем «Next», далее подтверждаем свое согласие «I Agree». После подтверждения согласия и выбора места для установки IDE начнется процесс установки.






После завершения установки нажмите «Finish», чтобы закрыть программу настройки. На Рабочем столе появится ярлык STM32CubeIDE.
3. Настройка работы STM32CubeIDE в офлайн режиме
При старте нового проекта автоматически подгружаются необходимые библиотеки для указанного семейства микроконтроллеров в выбранную локальную папку хранилища. Но так как доступа к скачиванию с официального сайта нету, необходимо установить их вручную. В примере покажу как это сделать для микроконтроллера «STM32F103C8T6», то-есть семейства «STM32F1»
Скачиваем файл «stm32cube_fw_f1_v186» с «Яндекс Диска».

Затем перейдите в каталог «C:\Users\ВашеИмяПользователя\STM32Cube\Repository». Если указанный путь отсутствует, создайте его вручную. Скопируйте ранее загруженный архив в этот каталог и распакуйте его содержимое.

Запустите программу. В верхней части окна откройте меню «Windows», выберите пункт «Preferences».

В открывшемся окне переходите в раздел «STM32Cube → Firmware Updater». Установите флажок напротив опции «Off Line Mode» и жмем кнопку «Apply and Close», чтобы сохранить изменения и закрыть окно настроек.

4. Первая программа для SM32 в STM32CubeIDE
Далее расскажу, как создать совой первый проект в среде разработки STM32CubeIDE. В качестве примера научимся использовать контакт GPIO13 на плате STM32, так называемой Blue Pill, к которому подключен светодиод.
Запустите приложение STM32CubeIDE. Появится диалоговое окно, в котором вам предложат выбрать рабочий каталог для сохранения новых проектов. Вы можете задать произвольный путь либо отметить флажком опцию, чтобы предложенная директория использовалась по умолчанию. После выбора каталога нажмите кнопку «Launch», чтобы начать работу с программой.

Откроется рабочая область STM32CubeIDE.

Нажмите кнопку «Start new STM32 project».

Перед вами откроется окно выбора микроконтроллера. Введите в строку поиска «Commercial Part Number» значение «STM32F103C8T6». Затем выделите нужный элемент в списке и нажмите кнопку «Next», чтобы продолжить.

В следующем окне потребуется ввести название вашего проекта. Например, назовём его «BLINK_LED». Укажите подходящее имя и переходите дальше, нажав кнопку «Next».

В последнем окне убедитесь, что указана нужная версия пакета. Если всё верно, завершите процесс настройки, кликнув на кнопку «Finish».

Вас попросят перейти в рабочую среду (перспективу). Подтвердите выбор, нажав кнопку «Да».

Следующим шагом откроется интерфейс конфигурации устройства, где вы сможете назначить конкретные функции каждому выводу микроконтроллера.

Плата разработки STM32 Blue Pill оснащена встроенным светодиодом, подключённым к выводу PC-13. Щёлкните мышью на вывод PC-13 в интерфейсе конфигуратора устройства.

Откроется перечень возможных назначений вывода. Из списка выберите режим работы контакта как «GPIO_Output»

Итоговая настройка должна выглядеть следующим образом.

Сохраните внесённые изменения, используя комбинацию клавиш Ctrl+S. Вам будет предложено подтвердить сохранение. Кликните кнопку «Yes», чтобы среда сгенерировала базовый шаблон программного кода для вашего проекта.

Затем откроется дополнительное окно с запросом подтверждения перехода в новую рабочую область среды разработки. Согласитесь с изменением перспективы, нажав кнопку «Yes».

5. Программа для мигания светодиодом на плате Blue Pill
После переключения откроется новая рабочая область. Справа отобразится структура исходного кода проекта. Это связано с тем, что мы перешли в специализированную перспективу IDE, предназначенную для удобной навигации и редактирования кода. В центральной области экрана перед вами открыт основной файл проекта — main.c, содержащий ваш будущий программный код. Слева расположена панель проводника, позволяющая удобно перемещаться по структуре файлов и папок проекта. Чтобы вернуться к визуальному конфигуратору устройства, достаточно щелкнуть на вкладку «BLINK_LED.ioc», расположенную над основным окном редактора.

Теперь приступим к модификации файла main.c для нашего проекта BLINK_LED. Цель состоит в том, чтобы реализовать непрерывное мигание встроенного светодиода с установленной временной задержкой. Первым делом переходим внутрь тела функции main() и находим цикл while(1). Именно сюда мы вставим код, обеспечивающий бесконечный цикл включения и отключения светодиода.

Добавьте следующий фрагмент кода прямо в цикл while(1):
1 2 3 4 |
HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, 1); HAL_Delay(1000); HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, 0); HAL_Delay(1000); |
Разберемся подробно, какие аргументы передавать в функцию HAL_GPIO_WritePin().
1 |
HAL_GPIO_WritePin(GPIOx, GPIO_Pin, PinState) |
- GP1IOx: Название порта, к которому подключён светодиод. В нашем случае это порт C, следовательно, нужно передать
GPIOC. - GPIO_Pin: Конкретный контакт (пин) порта, на котором находится светодиод. Наш светодиод подключён к контакту 13, значит, передаваемый аргумент будет
GPIO_PIN_13. - PinState: Текущее состояние пина (логический уровень). Оно может принимать два значения:
GPIO_PIN_SET(соответствует значению 1, означает высокое напряжение),GPIO_PIN_RESET(соответствует значению 0, означает низкое напряжение).
После включения светодиода нужно добавить небольшую задержку, чтобы визуально увидеть изменение состояния. Для этого используется стандартная функция задержки, предоставляемая библиотекой HAL.
1 |
HAL_Delay(x); |
Здесь x — это продолжительность задержки в миллисекундах. Если указать значение 1000, задержка составит одну секунду.

Для сборки проекта BLINK_LED, нажмите сочетание клавиш Ctrl+B или зайдите в меню Project и выберите пункт Build All. Это запустит процедуру компиляции всех файлов проекта, результатом которой станет готовая прошивка для загрузки на плату STM32.
6. Подключение программатора ST-Link к STM32
Мы успешно завершили создание проекта BLINK_LED, и теперь настало время приступить к следующему важному этапу — загрузке кода на нашу плату STM32 Blue Pill.
Прежде всего, необходимо подключить плату STM32 Blue Pill к программатору ST-Link V2. Для этого необходимо 4 провода, подключаем контакты программатора SWDIO, SWCLK, 3.3V и GND с соответствующими контактами на плате Blue Pill.

Далее необходимо переключить перемычку BOOT0 на плате STM32 в крайнее правок положение, перед прошивкой. Таким образом, микроконтроллер перейдет в специальный режим, позволяющий загрузчику (bootloader) распознать подключение программатора и подготовить устройство к записи новой прошивки.

После успешного подключения программатора с платой разработки STM32, подключите программатор к компьютеру.
Переходим в среду разработки STM32CubeIDE нажимаем кнопку «Run» (зеленая стрелка). После этого откроется окно «Edit configuration». Проверьте указанные настройки и подтвердите запуск кнопкой «ОК». После этого начнется процесс прошивки на плату STM32.

Спустя несколько секунд прошивка будет успешно передана на плату STM32. Чтобы удостовериться в успешности загрузки и посмотреть дополнительные сообщения, откройте терминал консоли IDE.

После завершения прошивки вернём плату STM32 Blue Pill обратно в нормальный режим работы, для этого перемести перемычку BOOT0 обратно в левое положение, соответствующее обычному режиму работы.
