Tutorial STM32CubeMX para iniciantes

Índice

STM32CubeMX

STM32CubeMX é uma ferramenta de configuração gráfica do chip STM32 lançada pela STMicroelectronics (ST). O software é eficiente e prático. Ele pode realizar várias configurações por meio de operações simples, permite o uso de assistentes gráficos para gerar código em linguagem C e é compatível com MDK, IAR For ARM, TrueStudio e outras cadeias de ferramentas.

Introdução ao STM32CubeMX

O STM32CubeMX é uma ferramenta de configuração gráfica do chip STM32 amplamente utilizada. Ele integra seleção de chip, atribuição de pinos e configuração de funções, configuração de middleware, configuração de clock, código inicial e funções do projeto.

O STM32 suporta uma grande variedade de middleware de código aberto e propriedade intelectual independente da ST, como FreeRTOS, FatFS, mbedTLS da comunidade de código aberto; pilha de protocolos de host e dispositivo USB da própria ST, TouchGFX, etc.

Benefícios do STM32CubeMX

  • Abrange quase todos os chips da série STM32;
  • Não é necessário configurar parâmetros complexos de vários periféricos;
  • Suporta o uso de assistentes gráficos para gerar código de inicialização;
  • Suporta várias cadeias de ferramentas, como MDK, IAR For ARM, TrueStudio, etc.

Download e instalação do STM32CubeMX

Antes de instalar o STM32CubeMX, certifique-se de que o seu computador já possui o JRE (Java Runtime Environment):

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

Download do STM32CubeMX

STM32CubeMX Software Download
STM32CubeMX Software Download

Instalação do STM32CubeMX

A versão mais recente agora (2023) é a V6.9.2. Os sistemas que suportam a instalação são os seguintes:

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

Instalar a biblioteca HAL

A biblioteca de firmware STM32 HAL significa Hardware Abstraction Layer (Camada de Abstração de Hardware). É a mais recente camada de abstração de software incorporado lançada pela ST Company para o MCU STM32, com o objetivo de alcançar uma migração perfeita entre os MCUs da série STM32.

Quando a biblioteca HAL foi lançada, muitos middlewares de terceiros também foram adicionados, incluindo RTOS, USB, TCP/IP e gráficos.

A biblioteca HAL possui dois métodos: instalação online e instalação offline.

Aqui mostramos a primeira maneira:

Abra o software STM32CubeMX instalado e entre na interface de gerenciamento da biblioteca (Ajuda -> Gerenciar pacotes de software incorporados). Em seguida, marque a biblioteca HAL que deseja instalar e clique em "Instalar agora" até que a instalação seja concluída com sucesso. Conforme mostrado na animação a seguir:

HAL Installation
HAL Installation

Como criar um projeto STM32CubeMX?

Neste tutorial, apresento um exemplo simples de LED piscando para iniciantes.

Ferramentas necessárias

  • STM32CubeMX e biblioteca HAL;
  • Uma placa de desenvolvimento;
  • Um downloader ST-Link;
  • IDE, como: MDK-ARM, EWARM, TureSTUDIO, SW4STM32, etc.

Criar um novo projeto

Seletor MCU aberto

Abra o STM32CubeMX e entre no seletor MCU.

Access to MCU Selector
Access to MCU Selector

Selecionar MCU

Selecione o modelo do seu MCU, como STM32F103ZET6.

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

Selecionar fonte do relógio

Se você optar por usar um relógio externo de alta velocidade (HSE), será necessário configurar o RCC no System Core (conforme mostrado abaixo). Se estiver usando o relógio interno padrão (HSI), esta etapa pode ser ignorada.

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

Selecionar pino GPIO (LED)

Usamos um pino GPIO (PF8) aqui para controlar o acendimento e o apagamento do LED.

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

Configurar relógio

O relógio padrão é o relógio interno de alta velocidade (HSI). Aqui, nós o alteramos para o relógio externo de alta velocidade (HSE).

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

Gerente de Projetos

Aqui, você pode personalizar as configurações do seu projeto: nome do projeto, localização do projeto, Toolchain/IDE e muito mais.

Project Settings_Project Manager - STM32CubeMX
Project Settings_Project Manager - STM32CubeMX

Gerar código

As operações acima completam um projeto simples com configuração básica. Você só precisa clicar em "Gerar código". Após o código ser gerado com sucesso, você pode abrir o projeto. Antes de abrir seu projeto, você precisa instalar o MDK ARM da Keil.

Code Generator Project Manager STM32CubeMX
Code Generator_Project Manager - STM32CubeMX

Adicionar código do aplicativo

O código gerado não está completo o suficiente e precisamos adicionar nosso próprio código de aplicação. Conforme mostrado na figura abaixo, inserimos um trecho de código de piscar LED no main.c, e o LED na placa de desenvolvimento piscará uma vez a cada 1000 ms.

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

Nota:

  1. O atraso de 1000 ms requer que o seu relógio esteja configurado corretamente.
  2. Os pinos correspondentes ao LED precisam estar consistentes com o seu desenvolvimento real.
  3. Após compilar e baixar o projeto MDK-ARM gerado, você precisa reiniciá-lo novamente para que ele possa ser executado.

Inscreva-se

Inscreva-se na nossa lista de assinantes para receber atualizações mensais do blog, notícias sobre tecnologia e estudos de caso. Nunca enviaremos spam e você pode cancelar a assinatura a qualquer momento.

Sobre o autor

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.

Compartilhar

Postagem recomendada

Precisa de ajuda?

Rolar para cima

Instant Quote