Esegui programmi in parallelo su microcontrollori multi-core con supporto AMP

Arduino

MicroPython 1.23.0 aggiunge OpenAMP, consentendo ad Arduino GIGA R1 WiFi, Portenta H7 e Nicla Vision di eseguire diversi codici su ciascun core. OpenAMP esegue codice MicroPython e Arduino sullo stesso microcontrollore dual-core. 

Siamo lieti di annunciare una significativa evoluzione per gli sviluppatori che utilizzano Arduino e MicroPython. Grazie a una collaborazione con il team di MicroPython, è ora possibile eseguire questi due ambienti di sviluppo fianco a fianco su microcontrollori multi-core. Questa nuova funzionalità sarà disponibile a partire dalla versione 1.23 di MicroPython e rappresenta un notevole passo avanti nella flessibilità e potenza delle soluzioni embedded. La nuova versione di MicroPython introdurrà il supporto per l'Asymmetric Multiprocessing (AMP) sui microcontrollori multi-core, utilizzando il framework OpenAMP, uno standard ampiamente riconosciuto nel settore. Questa innovazione consente di eseguire simultaneamente uno sketch Arduino e un programma MicroPython sullo stesso modulo multi-core, con la possibilità di comunicare tra i due ambienti. Tra le schede che supportano questa funzionalità troviamo Arduino GIGA R1 WiFi, Portenta H7 e Nicla Vision. La comunicazione tra Arduino e MicroPython avviene attraverso l'uso di Remote Procedure Calls (RPC). Questa tecnologia permette di combinare la semplicità di MicroPython con l'accesso all'ampia gamma di librerie di Arduino, offrendo agli sviluppatori un potente strumento per i loro progetti. Se hai mai desiderato utilizzare MicroPython per un progetto ma sei stato limitato dalla mancanza di una libreria disponibile solo per Arduino, questa nuova funzionalità risolve il problema, ampliando le possibilità di sviluppo. Il supporto AMP di MicroPython include diverse funzionalità avanzate. Tra queste, una API minimalista e intuitiva, compatibilità con la libreria RPC di Arduino e la gestione remota del ciclo di vita del processore, che permette operazioni come il caricamento del firmware e l'avvio del core secondario. Inoltre, è possibile effettuare chiamate di procedura remota sia sincrone che asincrone, tutto questo mantenendo l'accesso completo alle librerie di Arduino da MicroPython.

Per chi è interessato a saperne di più, è disponibile un tutorial dettagliato su Arduino Docs che spiega come utilizzare MicroPython con la libreria RPC in un ambiente dual-core. La funzionalità era da tempo attesa dalla community. Invitiamo tutti a condividere le proprie esperienze e progetti nella sezione commenti o sull'Hub. La vostra voce è stata ascoltata, e questa nuova capacità rappresenta una risposta diretta alle esigenze della community. Il futuro delle applicazioni embedded è qui, e non potremmo essere più entusiasti di vedere dove ci porterà.

Riferimenti

Openamp fornisce il supporto standard per l'elaborazione multimetrica asimmetrica (AMP)

Scarica subito una copia gratis

Scrivi un commento

Seguici anche sul tuo Social Network preferito!

Send this to a friend