STM32CubeIDE 1.14.0 rimane il miglior punto di ingresso nell’ecosistema STM32Cube per i team che cercano un IDE gratuito che funzioni a stretto contatto con il resto dell’ecosistema STM32Cube. La nuova versione aggiorna la piattaforma Eclipse su cui gira, consentendo agli sviluppatori di sfruttare alcune delle sue ultime funzionalità. ST continua inoltre a creare nuovi progetti dedicati al nostro IDE, il che significa che aprire un codice sorgente ST, integrarlo in un’applicazione e compilare il tutto è sempre più accessibile, anche a chi ha una conoscenza più rudimentale del mondo STM32. Inoltre, poiché STM32CubeIDE viene fornito con STM32CubeMX, premia gli sviluppatori con una maggiore efficienza.
Indice dei contenuti
Cosa c’è di nuovo in STM32CubeIDE 1.14.0?
Nuovo supporto MCU
Proprio come STM32CubeMX e STM32CubeProgrammer, anche STM32CubeIDE riceve il supporto per il pacchetto STM32CubeMP13 che porta il supporto RTOS alla MPU STM32MP13. Di conseguenza, gli sviluppatori potranno creare e flashare il firmware bare metal sul Cortex-A7 del microprocessore. Infatti, i progetti demo del nuovo pacchetto software sono già predisposti per STM32CubeIDE (i file di progetto si trovano in una cartella omonima sotto ogni applicazione). Gli utenti possono quindi importare rapidamente il codice sorgente per iniziare a creare un programma o provare una funzione. Allo stesso modo, l’IDE gratuito riceve anche il supporto per i microcontrollori STM32WBA54 e STM32WBA55 che abbiamo annunciato all’inizio dell’anno.
Nuova toolchain GCC
Il Toolchain Manager di STM32CubeIDE supporta ora il download di GCC 12. Troppo spesso gli sviluppatori devono dedicare molto tempo all’installazione di una toolchain per il loro IDE per assicurarsi che tutto funzioni correttamente. Alcuni di loro hanno persino bisogno di consultare la documentazione per capire quali flag utilizzare o quali opzioni specifiche impostare. Il Toolchain Manager risolve questo problema offrendo un’interfaccia utente che permette agli utenti di scaricare e installare una toolchain per STM32CubeIDE con un solo clic. Questo può essere particolarmente interessante per gli sviluppatori che stanno valutando quale sia la versione migliore per loro. Ad esempio, GCC 12 può offrire una maggiore sicurezza ma può generare binari più grandi. Toolchain Manager incoraggia quindi la sperimentazione per aiutare gli sviluppatori a prendere la decisione migliore.
Cos’è STM32CubeIDE?
Un IDE

STM32CubeIDE è il primo ambiente di sviluppo integrato di ST e serve come riferimento per gli sviluppatori che lavorano sui microcontrollori STM32. Molti utilizzano una toolchain di fornitori terzi e noi lavoriamo a stretto contatto con IAR, Keil e altri per garantire ai loro utenti un’esperienza eccezionale. Tuttavia, STM32CubeIDE ci permette di offrire un’iniziativa altamente significativa perché fornisce ad appassionati e professionisti un ambiente gratuito e ricco di funzionalità. L’IDE di ST offre formati di progetto flessibili, un selettore di toolchain e funzioni di debug avanzate. Inoltre, l’integrazione di strumenti come STM32CubeMX consente un flusso di lavoro più efficiente. STM32CubeIDE è disponibile per Windows, macOS e Linux, con una versione specifica per Debian/Ubuntu e Fedora e un programma di installazione più generale per altre distribuzioni.
Una delle caratteristiche distintive di STM32CubeIDE è che viene fornito con STM32CubeMX. Gli sviluppatori possono utilizzare quest’ultima per selezionare la scheda o il microcontrollore e avviare un progetto dopo aver configurato la piedinatura e l’albero dei clock. Di conseguenza, gli utenti possono passare più facilmente dalla scrittura del codice all’utilità di configurazione. Se le esigenze di un progetto cambiano o i team si rendono conto di dover apportare delle modifiche, l’aggiornamento diventa più semplice. Inoltre, oltre ai tipi di progetto basati su STM32CubeMX, ideali per la prototipazione e i progetti più semplici, STM32CubeIDE offre formati di progetto che consentono agli utenti un maggiore controllo sui file e sulle impostazioni. Ecco due esempi:
- Progetti gestiti da C o C++ Development Tool (CDT). Questo formato offre un controllo completo sui file, ma i makefile sono generati automaticamente dall’IDE.
- I progetti Makefile o CMake consentono all’utente di gestire sia il makefile che tutto il codice sorgente. Molti scelgono questo formato per la sua flessibilità. Disaccoppia l’IDE dal sistema di compilazione, semplificando gli aggiornamenti degli strumenti e rendendo i progetti più portabili, dato che una stessa base di codice può essere destinata a più dispositivi STM32. Tuttavia, richiede un approccio più pratico poiché gli utenti non ottengono i vantaggi dei makefile generati automaticamente.
Un editor di testo
Per quanto riguarda l’editor di testo, STM32CubeIDE utilizza un sistema basato su Eclipse. Gli sviluppatori possono quindi utilizzare i plugin di Eclipse per ispezionare il loro codice sorgente, trovare bug o gestire i team con sistemi di gestione delle attività. Di conseguenza, gli sviluppatori possono utilizzare strumenti familiari, riducendo così la curva di apprendimento. Come di consueto per gli editor di testo, STM32CubeIDE include anche un meccanismo di formattazione del codice per aumentare la leggibilità. Inoltre, l’editor offre una funzione di completamento automatico (scorciatoia da tastiera CTRL+Spazio), che espone le funzioni e i loro parametri per uno sviluppo più fluido. Ad esempio, gli utenti possono cliccare su una funzione per richiamarla nell’editor di testo invece di memorizzarla o di consultare continuamente la documentazione di riferimento.
Un debugger
Il debugger di STM32CubeIDE supporta dispositivi single-core e multi-core. Può anche gestire il debug TrustZone con l’unwinding full-stack e la gestione dei breakpoint abilitata CTI (Cross Triggering Interface). Grazie alle molteplici configurazioni di debug, l’utente può utilizzare diversi metodi per avviare sessioni di debug in varie modalità. Ad esempio, il flashing della sola flash interna quando non ci sono modifiche al codice della flash esterna può portare a un enorme risparmio di tempo. Il debugger supporta anche il tracciamento basato sugli eventi di Serial Wire Viewer, consentendo così un’analisi e un profiling preziosi in tempo reale. C’è anche il supporto per il tracciamento RTOS di Azure RTOS ThreadX e FreeRTOS con tracce complete dello stack multi-thread e la visualizzazione degli oggetti evento del kernel.
Da dove viene STM32CubeIDE?
Prima di STM32CubeIDE, gli sviluppatori utilizzavano SW4STM32, una versione gratuita di System Workbench. Era popolare tra gli appassionati e nei campus, come quello dell’Università del Michigan-Dearborn, che ha utilizzato la toolchain per scrivere la propria applicazione per auto senza conducente. STM32CubeIDE ha preso il sopravvento supportando i nostri microcontrollori e le MPU STM32, ma offrendo anche STM32CubeMX. ST non supporta più SW4STM32, ma il software è ancora disponibile su OpenSTM32.org. Per anni, STM32CubeIDE ha fornito la possibilità di portare facilmente i progetti da SW4STM32 per facilitare la transizione al nuovo IDE. Di conseguenza, la soluzione più vecchia viene utilizzata per lo più per scopi legacy.
Un evento che ha portato all’arrivo di STM32CubeIDE è stata l’acquisizione di Atollic da parte di ST nel 2017. La società di software era famosa per TrueSTUDIO, che aiutava molti sviluppatori a capire il funzionamento interno delle loro applicazioni. Ad esempio, gli strumenti di tracciamento e profilazione consentivano agli utenti di tracciare i dati, gli eventi, la cronologia della memoria e di visualizzare le variabili in tempo reale, il che era prezioso per comprendere il comportamento del codice senza bloccarne l’esecuzione. Dopo l’acquisizione, STM32CubeIDE ha ottenuto tutte queste funzionalità e molto altro ancora. STM32CubeIDE offre anche la possibilità di eseguire facilmente il porting dei progetti da TrueSTUDIO per aiutare gli utenti a passare da uno all’altro.
Quali sono alcune delle caratteristiche storiche di STM32CubeIDE?

La prima cosa che gli utenti notano è il Centro informazioni, che ospita diverse risorse sugli strumenti di sviluppo e sull’hardware STM32. Ad esempio, sono immediatamente disponibili manuali di riferimento, guide utente e video tutorial. Inoltre, grazie alla presenza di nuove funzionalità e software nel Centro informazioni, gli utenti possono ottenere più rapidamente informazioni sugli ultimi aggiornamenti. È anche un luogo dove riportare alla memoria vecchie funzionalità, come il meccanismo di esportazione di Azure RTOS TraceX. In poche parole, gli sviluppatori possono esportare le tracce e analizzarle in TraceX per accelerare le operazioni di debug.
STM32CubeIDE mira anche a ridurre la curva di apprendimento per i principianti. Ad esempio, è disponibile una vasta gamma di video tutorial. Attualmente, la maggior parte dei contenuti si concentra sull’ambiente di sviluppo integrato e su STM32CubeMX, ma sono in arrivo altri contenuti. Una volta che gli utenti cliccano su una miniatura, un link apre una finestra del browser su YouTube. Gli sviluppatori che iniziano a realizzare un’applicazione su Bluetooth, GNSS, MEMS, NFC e altro ancora, possono iniziare a dare un’occhiata al video in questione. In questo modo, i video fungono da complemento all’ampio manuale d’uso già disponibile in STM32CubeIDE.
Migliore integrazione di CMake
Una delle caratteristiche più importanti di STM32CubeIDE è la sua integrazione con CMake, la famiglia di utility open-source progettata per aiutare gli sviluppatori a costruire, testare e pacchettizzare il proprio software. CMake è uno strumento molto diffuso tra gli ingegneri del software perché li aiuta a realizzare grandi progetti multipiattaforma. Per questo motivo, molti utenti di STM32CubeIDE ci hanno chiesto di supportare CMake. Nel 2020 la comunità ST ha persino pubblicato una guida passo-passo che utilizzava un plugin per Eclipse. Oggi, la nuova versione dell’IDE gratuito rende le cose molto più semplici e, per aiutare ulteriormente gli utenti, abbiamo pubblicato una nota applicativa che li guida nel processo.
Debug senza progetto
Il debug senza progetto offre la possibilità di eseguire il debug dei file .ELF senza dover passare ore a configurare o portare un progetto nel formato STM32CubeIDE. Data la proliferazione di editor di testo e IDE multipiattaforma, è fondamentale adattarsi agli sviluppatori piuttosto che costringerli a usare i nostri strumenti. Ad esempio, molte aziende permettono agli sviluppatori di software di utilizzare l’IDE che preferiscono, imponendo loro solo l’utilizzo di una versione comune di compilazione e compilatore. Inoltre, ST ha sempre adottato un approccio agnostico per promuovere l’interoperabilità con il maggior numero di strumenti.
Il problema dell’agnosticismo dell’IDE è che non si può pretendere che tutti gli IDE di terze parti supportino le funzionalità avanzate di debug dell’STM32. Di conseguenza, alcuni sviluppatori si sentono obbligati a utilizzare una soluzione che non preferiscono semplicemente perché manca di alcune funzionalità. La funzione di debug senza progetto di STM32CubeIDE risolve questo problema. Permette allo sviluppatore di software di utilizzare qualsiasi IDE o editor di testo, qualsiasi build e qualsiasi compilatore, ma di aprire rapidamente STM32CubeIDE per sfruttare specifiche funzioni di debug quando necessario. Di conseguenza, l’IDE di ST offre una flessibilità di gran lunga superiore e incoraggia gli sviluppatori STM32 a utilizzare ciò con cui si sentono a proprio agio, anziché rinchiuderli in un ambiente limitato.