Un coltellino svizzero per programmatori

Semplificare le sfide del processo di programmazione.

di Fonte ST 03-11-21
Passare dalla prototipazione alla produzione ha le sue sfide, una delle quali è la programmazione del firmware sui sistemi. Far funzionare una scheda in fase di sviluppo è semplice, altra cosa è installare lo stesso codice su una miriade di dispositivi contemporaneamente. In risposta a questo problema si presenta GangFlasher-ST, uno strumento software di programmazione in-circuit di Elprotronic, un partner autorizzato della ST. Un tempo compatibile solo con STM32MP1, l'azienda canadese ne ha recentemente allargato l'utilizzo a STM32L4, STM32L5, STM32H7.

GangFlasher-ST e il viaggio dallo sviluppo alla produzione
Da 1 target a 8 target, 40 MB/s, con supporto per il provisioning sicuro su MCU e MPU STM32

Con una licenza di GangFlasher-ST, gli ingegneri possono eseguire il flashing fino a otto target contemporaneamente mentre le alternative concorrenti lavorano su un target alla volta. Sull'STM32MP1, il software può anche raggiungere velocità di download fino a 40 MB/s per destinazione. GangFlasher-ST è quindi da dieci a venti volte più veloce di una connessione DFU-USB standard. Il software è anche compatibile con meccanismi di provisioning sicuro come Secure Secret Provisioning (SSP) su STM32MP1 e Secure Firmware Install (SFI) su microcontrollori STM32 compatibili. Oggi ciò significa STM32L5 e STM32H7, ma è in arrivo il supporto per altri MCU SFI STM32.

Durante l'incontro con Elprotronic, Adam Czajkowski, vicepresidente, ha spiegato che la richiesta di supporto per i microcontrollori ST arrivava dai clienti. In effetti, STM32 è particolarmente utile come strumento di flashing e debug durante lo sviluppo. Tuttavia, la licenza STM32CubeProgrammer non copre un ambiente di produzione perché l'utilità non è adatta a tale caso d'uso. Quindi, una volta che i team passano alla prototipazione, hanno bisogno di una piattaforma in grado di eseguire il flashing della loro scheda in modo rapido ed efficiente. Questo è ciò che Elprotronic mirava a realizzare con GangFlasher-ST. In origine, lo strumento supportava solo STM32MP1. Tuttavia, i clienti hanno presto richiesto il supporto anche per gli MCU STM32, il che ha portato al recente aggiornamento.

Il GangFlasher-ST risolve un altro problema che riceve meno attenzione ma è sempre più importante. Quando si lavora su un STM32MP1, i team spesso passano rapidamente da una scheda di sviluppo ST a una scheda personalizzata. I produttori di System-in-Package, come Octavo, un altro partner autorizzato della ST, possono essere di enorme aiuto. In effetti, possono collaborare con i clienti per accelerare gli sviluppi. Tuttavia, a causa della natura personalizzata di una scheda di programmazione Octavo, è molto diverso dal semplice utilizzo di STM32CubeProgrammer con una piattaforma ST. Quindi, per semplificare il processo di programmazione in-circuit su un SiP, il kernel micro Linux GangFlasher-ST può prendere l'albero dei dispositivi dal produttore e flashare automaticamente la MPU STM32 con tutte le partizioni corrette. Il fatto che l'utility Elprotronic automatizza il processo rende ancora più pratico l'uso di un sistema in pacchetto.



GangFlasher-ST e l'analisi del flusso di lavoro degli sviluppatori

Per raggiungere i 40 MB/s sull'STM32MP1, Elprotronic ha fatto affidamento sulla sua esperienza in driver USB e OpenSTLinux. L'azienda ha utilizzato la documentazione ST, Yocto Builder e OpenSTLinux Developer Package per creare un microkernel. L'ambiente Linux contiene driver e strumenti che sfruttano appieno la porta USB 2.0. Quindi, invece di essere limitato ai 2 MB/s di una connessione DFU-USB standard, il collegamento può raggiungere fino a 40 MB/s in condizioni reali. Come ha spiegato Adam, Elprotronic ha utilizzato il Wiki STM32 MPU e la nostra documentazione per accelerare gli sviluppi. Inoltre, ci ha detto che l'interazione con la comunità open source https://blog.st.com/openstlinux/ significava che OpenSTLinux era vicino a una distribuzione Linux tradizionale. Di conseguenza, gli sviluppatori canadesi hanno potuto utilizzare strumenti familiari che hanno semplificato il loro flusso di lavoro.

Un altro vantaggio del GangFlasher-ST è che può adattarsi a un'ampia gamma di configurazioni di produzione. I team con esigenze minimaliste possono persino ottenere una versione del software per Raspberry Pi e creare una configurazione efficiente. D'altra parte, è possibile fare di tutto. Elprotronic può indirizzare più di una scheda perché ha lavorato sul multithreading della sua applicazione. In parole povere, c'è un thread per target e un thread principale che funge da conduttore. In genere, un sistema classico avrà bisogno di una licenza, che coprirà otto dispositivi. Tuttavia, alcuni clienti acquistano più licenze e creano potenti piattaforme per aumentare notevolmente la loro produzione. Elprotronic offre anche licenze flottanti per aiutare le aziende che necessitano di maggiore flessibilità.

Elprotronic offre una versione di prova gratuita di 15 giorni del proprio software. Il modo migliore per testare GangFlasher-ST è prendere una scheda di valutazione STM32 come STM32MP157F-EV1, NUCLEO-H753ZI o NUCLEO-L552ZE-Q, che ne supporta l'avvio protetto. È anche disponibile una licenza limitata per un massimo di 2 obiettivi per progetti più piccoli.

(lo)