Tutorial STM32CubeMX per principianti

Indice

STM32CubeMX

STM32CubeMX è uno strumento di configurazione grafica per chip STM32 lanciato da STMicroelectronics (ST). Il software è efficiente e conveniente. Può ottenere molte configurazioni tramite operazioni semplici, consente l’uso di wizard grafici per generare codice C e supporta MDK, IAR For ARM, TrueStudio e altre toolchain.

Introduzione a STM32CubeMX

STM32CubeMX è uno strumento di configurazione grafica per chip STM32 ampiamente utilizzato. Integra la selezione del chip, l’assegnazione dei pin e la configurazione delle funzioni, la configurazione del middleware, la configurazione dell’orologio, il codice iniziale e le funzioni del progetto.

STM32 supporta una vasta gamma di middleware open source e di proprietà intellettuale indipendente di ST, come FreeRTOS, FatFS, mbedTLS dalla comunità open source; lo stack di protocolli host e dispositivo USB di ST, TouchGFX, ecc.

Vantaggi di STM32CubeMX

  • Copre quasi tutti i chip della serie STM32;
  • Non è necessario configurare parametri complessi di varie periferiche;
  • Supporta l’uso di wizard grafici per generare codice di inizializzazione;
  • Supporta più toolchain, come MDK, IAR For ARM, TrueStudio, ecc.

Download e installazione di STM32CubeMX

Prima di installare STM32CubeMX, assicurati che il tuo computer abbia già JRE (Java Runtime Environment):

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

Download STM32CubeMX

STM32CubeMX Software Download
STM32CubeMX Software Download

Installazione di STM32CubeMX

La versione più recente ora (2023) è V6.9.2. I sistemi che supportano l’installazione sono i seguenti:

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

Installa la libreria HAL

La libreria firmware STM32 HAL sta per Hardware Abstraction Layer. È il più recente livello di astrazione del software embedded lanciato da ST Company per STM32 MCU, con l’obiettivo di ottenere una migrazione senza soluzione di continuità tra gli MCU della serie STM32.

Quando è stata lanciata la libreria HAL, sono stati aggiunti anche molti middleware di terze parti, tra cui RTOS, USB, TCP/IP e grafica.

La libreria HAL ha due metodi: installazione online e installazione offline.

Qui mostriamo il primo modo:

Apri il software STM32CubeMX installato e accedi all’interfaccia di gestione della libreria (Help -> Manage embedded software packages). Quindi seleziona la libreria HAL che desideri installare e fai clic su “Installa ora” fino al completamento dell’installazione. Come mostrato nella seguente animazione:

HAL Installation
HAL Installation

Come creare un progetto STM32CubeMX?

In questo tutorial, fornisco un semplice esempio di lampeggio del LED per i principianti.

Strumenti richiesti

  • STM32CubeMX e libreria HAL;
  • Una scheda di sviluppo;
  • Un downloader ST-Link;
  • IDE come: MDK-ARM, EWARM, TureSTUDIO, SW4STM32, ecc.

Crea un nuovo progetto

Apri il selettore MCU

Apri STM32CubeMX e accedi al selettore MCU.

Access to MCU Selector
Access to MCU Selector

Seleziona MCU

Seleziona il tuo modello MCU, ad esempio STM32F103ZET6.

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

Seleziona la sorgente di clock

Se scegli di utilizzare un clock esterno ad alta velocità (HSE), devi configurare RCC in System Core (come mostrato di seguito). Se utilizzi il clock interno predefinito (HSI), questo passaggio può essere saltato.

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

Seleziona il pin GPIO (LED)

Utilizziamo un pin GPIO (PF8) qui per controllare l’accensione e lo spegnimento del LED.

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

Configura l'orologio

L’orologio predefinito è l’orologio interno ad alta velocità (HSI). Qui, lo cambiamo all’orologio esterno ad alta velocità (HSE).

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

Project Manager

Qui, puoi personalizzare le impostazioni del tuo progetto: nome del progetto, posizione del progetto, Toolchain/IDE e altro.

Project Settings_Project Manager - STM32CubeMX
Project Settings_Project Manager - STM32CubeMX

Genera Codice

Le operazioni di cui sopra completano un progetto semplice con una configurazione di base. Devi solo fare clic su “Genera Codice”. Dopo che il codice è stato generato correttamente, puoi aprire il progetto. Prima di aprire il tuo progetto, devi installare Keil’s MDK ARM.

Code Generator Project Manager STM32CubeMX
Code Generator_Project Manager - STM32CubeMX

Aggiungi Codice Applicativo

Il codice generato non è abbastanza completo e dobbiamo aggiungere il nostro codice applicativo. Come mostrato nella figura seguente, inseriamo un frammento di codice lampeggiante LED in main.c e il LED sulla scheda di sviluppo lampeggerà una volta ogni 1000 ms.

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

Nota:

  1. Il ritardo di 1000 ms richiede che il tuo orologio sia configurato correttamente.
  2. I pin corrispondenti al LED devono essere coerenti con il tuo sviluppo effettivo.
  3. Dopo aver compilato e scaricato il progetto MDK-ARM generato, è necessario ripristinarlo di nuovo in modo che possa essere eseguito.

Iscriviti

Unisciti alla nostra lista di iscritti per ricevere aggiornamenti mensili sul blog, notizie tecnologiche, casi di studio. Non invieremo mai spam e potrai annullare l’iscrizione in qualsiasi momento.

Informazioni sull'autore

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.

Hai bisogno di aiuto?

Torna in alto

Instant Quote