Guida per principianti ai display embedded Riverdi STM32

Che cos’è l’STM32?

STM32 è l’MCU a 32 bit scelto dai nostri ingegneri per gestire la serie di display incorporati Riverdi. In questa breve introduzione spiegheremo come questo prodotto della STMicroelectronics sia una tecnologia all’avanguardia. Forniamo inoltre suggerimenti su come iniziare a programmare l’STM32.

STM32 è una famiglia di microcontrollori a 32 bit basati sul core ARM Cortex-M, sviluppati e prodotti da STMicroelectronics. Per rendere tutto più chiaro, partiamo dalle basi e introduciamo l’architettura del microcontrollore.

I principi fondamentali dei blocchi costruttivi delle MCU

Quando un ingegnere progetta un moderno dispositivo HMI con un sistema di informazioni visive, come un display con touchscreen, inizia con la scelta del microcontrollore. Si dovrebbe iniziare con la selezione dell’architettura di base. Esistono grandi e versatili unità di elaborazione ARM con architetture a set di istruzioni (RISC – Reduced Instruction Set Computer), chiamate core di microprocessore. I core ARM sono diffusi in un gran numero di dispositivi di uso quotidiano, come gli smartphone. Una delle due serie principali di core ARM, chiamata Cortex-A, è utilizzata nei dispositivi di fascia consumer, come i computer single-board (SBC) Raspberry Pi o gli smartphone.

ARM Cortex-M

La seconda parte della famiglia di core ARM, nota come Cortex-M, è destinata alle applicazioni industriali. Questa è la serie di core ARM a cui il progettista sopracitato sarà interessato. Ecco perché questo è il blocco di costruzione scelto da STMicroelectronics per creare le MCU STM32. La serie basata su Cortex-M ha diversi tipi di core con prestazioni e caratteristiche diverse. Ad esempio, esiste un M0 (il core più economico a basse prestazioni), un M3 (core a medie prestazioni), un M4 (un core efficiente con supporto FPU o DSP aggiuntivo) e il più recente e potente core M7.

Perché un nucleo non è l’MCU?

L’aspetto importante è che le unità ARM vengono vendute come licenze di core IP, non come MCU vere e proprie, che diventano MCU in un secondo momento. Il nucleo non svolge il suo lavoro da solo. Ha bisogno di un supporto, cioè di memoria esterna e di interfacce esterne. STMicroelectronics è un’azienda specializzata nella produzione di MCU, che mette insieme i componenti per formare il microcontrollore finale.

Perché la STMicroelectronics?

Cosa distingue STMicroelectronics dal mercato delle MCU? Le ragioni sono molteplici, ma le principali sono:

  1. Elaborazione del segnale digitale in tempo reale ad alte prestazioni
  2. Funzionamento a basso consumo
  3. Connettività versatile
  4. Facilità di sviluppo e integrazione
  5. Strumenti di programmazione utili e librerie gratuite

Queste caratteristiche fanno sì che i microcontrollori STM32 siano ampiamente riconosciuti e utilizzati in diverse applicazioni. Questi sono alcuni dei motivi per cui gli ingegneri di Riverdi hanno deciso di utilizzare l’STM32 come nucleo dei nostri display incorporati STM32.

Vasto portafoglio della STMicroelectronics

Grazie all’ampia gamma di MCU, è molto facile trovare il modello giusto per le vostre applicazioni. A seconda della versione, hanno un basso consumo energetico con risorse piuttosto limitate, oppure modelli con una velocità di calcolo molto elevata e molte periferiche.

STMicroelectronics offre molti gruppi di prodotti basati su soluzioni, risorse gratuite e prototipi. Sostenere il processo di prototipazione è una filosofia condivisa da Riverdi. Riteniamo che la prototipazione rapida e semplice sia fondamentale nel processo di progettazione, quindi incoraggiamo a provare i nostri campioni. Nel processo di progettazione sono utili anche i dettagli del progetto, come la compatibilità dei pin, in modo da poter sostituire le MCU per trovare quella più adatta.

Come sono raggruppati gli MCU STM32?

La gamma di MCU della ST comprende diverse serie raggruppate in base alle loro caratteristiche.

Unità ad alte prestazioni – potenti STM32 progettati per trasferire enormi quantità di dati con elevate velocità di clock del core. Tra questi, l’F4 con core M4 e FPU, a volte aggiornato con controller del display o supporto MIPI, l’F7 con l’ultimo M7 single-core e l’ammiraglia H7 con dual-core (M7+M4). Questa potente unità(STM32H757XIH6) è utilizzata da Riverdi.

Unità mainstream – microcontrollori di uso generale. Si va dagli MCU di base della serie F0, agli F1 con prestazioni elevate ma architettura semplice, fino ai G4 che offrono un’ampia gamma di periferiche analogiche.

Unità a bassissima potenza – progettate per garantire il minor consumo energetico possibile. Questi includono l’L0 a 14 pin, l’L4 con FPU aggiuntiva e l’L5 con accelerazione grafica migliorata.

Unità wireless – dotate di supporto integrato per le comunicazioni wireless, come Bluetooth o RF 2,4 GHz.

Date un’occhiata alla serie di cui sopra (immagine fornita da STMicroelectronics):

Per saperne di più sulle varie caratteristiche delle MCU STM32, visitate il sito web di STMicroelectronics (immagine fornita da STMicroelectronics).

Come Come iniziare a programmare l’STM32 Display integrati di Riverdi ?

Ecco le nozioni fondamentali che un nuovo arrivato nell’ecosistema STM32 deve sapere sulla progettazione dei display embedded STM32.

Quale hardware per STM32?

Non è consigliabile iniziare con produttori di hardware sconosciuti, soprattutto se si è alle prime armi con la programmazione embedded. Scegliete invece aziende consolidate.

La serie STM32 Riverdi è ottima per iniziare e imparare, perché offriamo una documentazione completa e sono disponibili demo, preset e librerie gratuite per mettere le mani su esempi di codice funzionanti.

Si possono anche provare le schede ufficiali della ST (come la serie Nucleo o Discovery).

Quale documentazione per STM32?

La documentazione è nella maggior parte dei casi una letteratura tecnica preparata dal produttore per guidarvi attraverso la complessità dei microcontrollori. Questi documenti possono aiutarvi a conoscere tutte le caratteristiche delle MCU:

Guida introduttiva, che è un punto di riferimento per i nuovi arrivati,

Datasheet, che è una descrizione tecnica completa di tutte le caratteristiche dell’MCU,

Manuale d’uso (o Guida), che fornisce istruzioni e parametri approfonditi e aiuta a risolvere i problemi più comuni,

Nota applicativa, che fornisce dettagli più specifici sull’utilizzo di un componente in un’applicazione specifica.

Manuale di riferimento, che fornisce una visione più dettagliata dell’architettura degli MCU,

Manuale di programmazione, che fornisce le informazioni necessarie per lo sviluppo del software a livello di applicazione e di sistema.

Si consiglia, prima di utilizzare una specifica MCU nel proprio progetto, di dare almeno una breve occhiata al Datasheet. È necessario controllare le periferiche, i GPIO e altri parametri di base, come l’orologio. L’obiettivo è assicurarsi che l’hardware fornito soddisfi i requisiti del progetto.

Quale linguaggio di programmazione per STM32?

Il linguaggio di programmazione consigliato per l’STM32 è il C. In caso di scrittura di codice direttamente per i microcontrollori, il C è la scelta migliore. È anche la base su cui è possibile espandere ulteriormente le proprie competenze in materia di MCU utilizzando altri linguaggi di programmazione.

Quale framework per STM32?

Per rendere più agevole il lavoro di programmazione degli STM32 è necessario un framework adeguato. Il framework è una piattaforma su cui si scrive il codice e si sviluppa il progetto. I framework software possono includere programmi di supporto, compilatori, librerie di codice, set di strumenti e interfacce di programmazione delle applicazioni (API). Quali sono i framework disponibili tra cui scegliere?

C’è quello consigliato, che è l’ecosistema STMicroelectronics. È composto da due livelli complementari: le librerie Low Layer (LL) e l’Hardware Abstraction Layer (HAL). Le librerie di basso livello sono adatte per ottimizzare l’hardware e operare con risorse limitate, ma richiedono un po’ di know-how (acquisibile tramite la documentazione). HAL, che è una libreria di alto livello, potrebbe funzionare meglio per i principianti. Entrambi possono essere gestiti dal software gratuito STM32CubeIDE.

Esiste Mbed by ARM, il progetto collaborativo online per i dispositivi connessi a Internet basati su ARM Cortex-M. Utilizza i linguaggi di programmazione C e C++, il che è una buona notizia per chi ha una buona conoscenza. Un’ottima soluzione per i dispositivi IoT. mBed OS è simile ad Arduino. A proposito di Arduino, esistono diverse schede che supportano direttamente l’STM32. Uno di questi è il progetto STM32Duino, basato sulle schede Nucleo. Entrambi questi framework sono all’insegna della semplicità, ma lo svantaggio è che le funzioni STM32 sono limitate in termini di controllo hardware e la qualità delle librerie potrebbe non essere garantita.

Ultimo ma non meno importante è il linguaggio Pure C, che garantisce risultati ben ottimizzati in termini di prestazioni. Pure C utilizzerà meno memoria e sarà comunque super veloce. Ma questi vantaggi si ottengono solo con la conoscenza e l’esperienza, quindi non è consigliato ai principianti.

Quali strumenti di programmazione per STM32?

Se scegliete l’approccio consigliato dall’ecosistema ST, potete iniziare a utilizzare gratuitamente una serie di strumenti software forniti dalla STMicroelectronics. Esistono strumenti di sviluppo, strumenti di valutazione, ambienti di sviluppo, software embedded e così via. Ecco alcuni dei principali strumenti da conoscere:

STM32CubeMX – uno strumento grafico per la configurazione dell’MCU e la generazione di codice di inizializzazione;

STM32CubeIDE – strumento all-in-one per lo sviluppo avanzato in C/C++ nell’ecosistema STM32: selettore di microcontrollori, configuratore di periferiche, generatore di codice, compilatore, debugger e programmatore;

STM32CubeProgrammer – strumento all-in-one per la programmazione dei prodotti STM32;

TouchGFX Designer – software grafico avanzato per la creazione di GUI con metodo WYSIWYG;

STM32CubeMonitor – strumento di monitoraggio in tempo reale per mettere a punto e diagnosticare le applicazioni STM32 sulla base della visualizzazione delle variabili in tempo reale.

Un breve sguardo a TouchGFX Designer

TouchGFX Designer è un progettista di GUI ottimizzato per i prodotti Riverdi che girano sui microcontrollori STM32 – i progetti demo e i preset Riverdi sono incorporati nella libreria TouchGFX. Lo strumento TouchGFX è una soluzione software avanzata per creare GUI superbe utilizzando il metodo WYSIWYG, che rende la progettazione di GUI facile da usare. La partnership di Riverdi con STMicroelectronics può ridurre i tempi e i costi di prototipazione e migliorare l’efficienza del time-to-market del progetto.

Dove trovare ulteriori informazioni sui display embedded STM32?

Quando si sceglie il metodo di apprendimento, si deve sempre prendere in considerazione quali sono gli obiettivi. Si tratta di competenza nella prototipazione, nella programmazione, nella progettazione di GUI? Si tratta di una conoscenza generale di come applicare i display integrati STM32 nel dispositivo finale? È una curiosità amatoriale? Considerare gli obiettivi vi aiuterà a raggiungerli rapidamente. Altre domande riguardano le risorse disponibili (come tempo e denaro), i modelli di apprendimento e le preferenze individuali. Fortunatamente, esiste una crescente varietà di fonti per acquisire conoscenze sull’STM32.

Video

Le esercitazioni video sono un ottimo modo per imparare a conoscere l’STM32 e la maggior parte di esse si trova su YouTube.

Innanzitutto, iscrivetevi alla newsletter dell’Università Riverdi e iscrivetevi al canale YouTube Riverdi. Condividiamo le nostre conoscenze e il nostro know-how per aiutarvi a ottenere il massimo dai vostri display embedded Riverdi pilotati dall’STM32. Forniamo guide introduttive, tutorial specifici, video di unboxing e molto altro ancora.

In secondo luogo, seguite il canale ufficiale di STMicroelectronics. La ST organizza webinar dal vivo e MOOC (Massive Open Online Courses) completi, che sono una risorsa inestimabile per imparare la programmazione MCU.

Blog

I blog sono ottimi per risolvere problemi specifici. La maggior parte di essi è gratuita, ma poiché le conoscenze vengono pubblicate quotidianamente, ciò che dovete fare è cercare la soluzione esatta. È inoltre possibile rimanere aggiornati e seguire i post in arrivo iscrivendosi alla newsletter.

Riverdi offre post sul blog costantemente aggiornati, guide introduttive e condivisione delle conoscenze attraverso una serie di articoli e video della Riverdi University.

Si può anche provare: Blog di Controllerstech: https://controllerstech.com/

Corsi

I corsi, sia online che offline (questi ultimi piuttosto rari al giorno d’oggi), offrono un processo di apprendimento completo a vari livelli di competenza. Tuttavia, considerate che si tratta di un impegno a lungo termine e che nella maggior parte dei casi dovrete pagare per poter partecipare. Un altro approccio che vale la pena di prendere in considerazione è quello di seguire un corso online gratuito di programmazione in C, poiché sarà sempre utile nello sviluppo di STM32.

Wiki e guide

Quando si cerca una conoscenza approfondita si deve sempre fare riferimento ai produttori, come Riverdi o STMicroelectronics. Riverdi offre una documentazione completa per ogni display, che vi aiuterà a orientarvi tra i nostri display incorporati STM32. Condividiamo inoltre il know-how attraverso l’Università Riverdi e la serie Display 101. Potreste anche provare a immergervi nelle guide e nei tutorial pubblicati dalla STMicroelectronics, come il loro vasto Wiki dedicato alle MCU STM32.

Se avete bisogno di una risposta a qualsiasi domanda sulla serie STM32 Embedded Display, contattateci.