STM32CubeMX — это инструмент графической настройки микросхем STM32, выпущенный компанией STMicroelectronics (ST). Программное обеспечение отличается эффективностью и удобством. Оно позволяет выполнять множество настроек с помощью простых операций, использовать графические мастера для генерации кода на языке C и поддерживает MDK, IAR For ARM, TrueStudio и другие наборы инструментов.
Введение в STM32CubeMX
STM32CubeMX — широко используемый инструмент графической настройки микросхем STM32. Он объединяет в себе выбор микросхемы, назначение выводов и настройку функций, настройку промежуточного программного обеспечения, настройку тактовой частоты, начальный код и функции проекта.
STM32 поддерживает множество промежуточного программного обеспечения с открытым исходным кодом и независимой интеллектуальной собственности ST, такого как FreeRTOS, FatFS, mbedTLS от сообщества открытого исходного кода; собственный стек протоколов USB-хоста и устройства ST, TouchGFX и т. д.
Преимущества STM32CubeMX
- Поддерживает практически все микросхемы серии STM32;
- Не требует настройки сложных параметров различных периферийных устройств;
- Поддерживает использование графических мастеров для генерации кода инициализации;
- Поддерживает несколько наборов инструментов, таких как MDK, IAR For ARM, TrueStudio и т. д.
STM32CubeMX Скачать и установить
Перед установкой STM32CubeMX убедитесь, что на вашем компьютере уже установлена JRE (Java Runtime Environment):
STM32CubeMX Скачать

Установка STM32CubeMX
Последней версией на данный момент (2023 г.) является V6.9.2. Системы, поддерживающие установку:
- Windows: 7, 8, 10 (32 и 64 бит)
- Linux: RedHat, Ubuntu и Fedora (32 и 64 бит)
- macOS: OS X El Capitan и Sierra

Установить библиотеку HAL
Библиотека прошивки STM32 HAL означает «уровень абстракции аппаратного обеспечения». Это новейшее встроенное программное обеспечение уровня абстракции, выпущенное компанией ST для микроконтроллеров STM32, цель которого — обеспечить беспроблемную миграцию между микроконтроллерами серии STM32.
При запуске библиотеки HAL было добавлено множество сторонних промежуточных программ, включая RTOS, USB, TCP/IP и графику.
Библиотека HAL имеет два метода: онлайн-установка и офлайн-установка.
Здесь мы покажем первый способ:
Откройте установленное программное обеспечение STM32CubeMX и войдите в интерфейс управления библиотеками (Справка -> Управление встроенными программными пакетами). Затем отметьте библиотеку HAL, которую хотите установить, и нажмите «Установить сейчас», пока установка не будет успешно завершена. Как показано на следующей анимации:

Как создать проект STM32CubeMX?
В этом уроке я привожу простой пример мигания светодиода для начинающих.
Необходимые инструменты
- STM32CubeMX и библиотека HAL;
- Плата разработчика;
- Загрузчик ST-Link;
- IDE, например: MDK-ARM, EWARM, TureSTUDIO, SW4STM32 и т. д.
Создать новый проект
Открытый селектор MCU
Откройте STM32CubeMX и войдите в селектор MCU.

Выберите MCU
Выберите модель микроконтроллера, например STM32F103ZET6.

Выбрать источник тактовой частоты
Если вы решили использовать внешний высокоскоростной тактовый генератор (HSE), необходимо настроить RCC в System Core (как показано ниже). При использовании внутреннего тактового генератора по умолчанию (HSI) этот шаг можно пропустить.

Выберите вывод GPIO (светодиод)
Здесь мы используем вывод GPIO (PF8) для управления включением и выключением светодиода.

Настройка часов
Часы по умолчанию — это внутренние высокоскоростные часы (HSI). Здесь мы меняем их на внешние высокоскоростные часы (HSE).

Руководитель проекта
Здесь вы можете самостоятельно настроить параметры проекта: название проекта, местоположение проекта, набор инструментов/IDE и многое другое.

Генерировать код
Вышеуказанные операции завершают простой проект с базовой конфигурацией. Вам нужно только нажать «Сгенерировать код». После успешного сгенерирования кода вы можете открыть проект. Перед открытием проекта необходимо установить Keil MDK ARM.

Добавить код приложения
Сгенерированный код недостаточно полный, и нам необходимо добавить наш собственный код приложения. Как показано на рисунке ниже, мы вставляем фрагмент кода мигания светодиода в main.c, и светодиод на плате разработчика будет мигать один раз в 1000 мс.

Примечание:
- Для задержки 1000 мс необходимо, чтобы часы были настроены правильно.
- Соответствующие выводы светодиодов должны соответствовать вашей фактической разработке.
- После компиляции и загрузки сгенерированного проекта MDK-ARM необходимо снова выполнить сброс, чтобы он мог запуститься.




