Учебник STM32CubeMX для начинающих

Содержание

STM32CubeMX

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):

https://www.java.com/en/download/manual.jsp

STM32CubeMX Скачать

STM32CubeMX Software Download
STM32CubeMX Software Download

Установка STM32CubeMX

Последней версией на данный момент (2023 г.) является V6.9.2. Системы, поддерживающие установку:

  • Windows: 7, 8, 10 (32 и 64 бит)
  • Linux: RedHat, Ubuntu и Fedora (32 и 64 бит)
  • macOS: OS X El Capitan и Sierra
STM32CubeMX Installation Process
STM32CubeMX Installation Process

Установить библиотеку HAL

Библиотека прошивки STM32 HAL означает «уровень абстракции аппаратного обеспечения». Это новейшее встроенное программное обеспечение уровня абстракции, выпущенное компанией ST для микроконтроллеров STM32, цель которого — обеспечить беспроблемную миграцию между микроконтроллерами серии STM32.

При запуске библиотеки HAL было добавлено множество сторонних промежуточных программ, включая RTOS, USB, TCP/IP и графику.

Библиотека HAL имеет два метода: онлайн-установка и офлайн-установка.

Здесь мы покажем первый способ:

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

HAL Installation
HAL Installation

Как создать проект STM32CubeMX?

В этом уроке я привожу простой пример мигания светодиода для начинающих.

Необходимые инструменты

  • STM32CubeMX и библиотека HAL;
  • Плата разработчика;
  • Загрузчик ST-Link;
  • IDE, например: MDK-ARM, EWARM, TureSTUDIO, SW4STM32 и т. д.

Создать новый проект

Открытый селектор MCU

Откройте STM32CubeMX и войдите в селектор MCU.

Access to MCU Selector
Access to MCU Selector

Выберите MCU

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

Selector MCU to Start a New Project
Selector MCU to Start a New Project

Выбрать источник тактовой частоты

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

High Speed Clock (HSE) _ RCC Mode and Configuration
High Speed Clock (HSE) _ RCC Mode and Configuration

Выберите вывод GPIO (светодиод)

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

Set PF8 as GPIO _Output to Control LED
Set PF8 as GPIO _Output to Control LED

Настройка часов

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

High Speed Clock (HSE) Configuration
High Speed Clock (HSE) Configuration

Руководитель проекта

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

Project Settings_Project Manager - STM32CubeMX
Project Settings_Project Manager - STM32CubeMX

Генерировать код

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

Code Generator Project Manager STM32CubeMX
Code Generator_Project Manager - STM32CubeMX

Добавить код приложения

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

LED Blinking Code for STM32 MCU Project
LED Blinking Code for STM32 MCU Project

Примечание:

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

Подписаться

Присоединяйтесь к нашему списку подписчиков, чтобы получать ежемесячные обновления блога, новости о технологиях, практические примеры. Мы никогда не будем рассылать спам, и вы можете отказаться от подписки в любое время.

Об авторе

Picture of Aidan Taylor
Aidan Taylor

I am Aidan Taylor and I have over 10 years of experience in the field of PCB Reverse Engineering, PCB design and IC Unlock.

Поделиться

Рекомендуемый пост

Нужна помощь?

Прокрутить вверх

Instant Quote