Implementazione del multiprocessing asimmetrico utilizzando un esempio pratico su i.MX8X con OpenAMP

Negli ultimi anni, i sistemi multiprocessore eterogenei su chip (MPSoC) sono diventati sempre più popolari nell’ambito delle applicazioni industriali, grazie alle loro elevate prestazioni, ai costi ridotti e all’efficienza energetica. In particolare, l’utilizzo di un numero elevato di processori diversi integrati che eseguono diversi sistemi operativi pone molteplici sfide. Questa architettura è anche nota come sistema di multiprocessing (multi-elaborazione) asimmetrico (Asymmetric Multiprocessing, o AMP). Le due maggiori sfide sono la gestione del ciclo di vita (LCM) e la comunicazione tra processori (IPC).
In questo articolo presentiamo la progettazione di MPSoC eterogenei e l’utilizzo di diversi sistemi operativi. Viene selezionato un framework come soluzione proposta per le due sfide. Segue una presentazione che descrive in dettaglio l’implementazione del sistema AMP sviluppato con il framework OpenAMP selezionato su MPSoC i.MX8X di NXP con Linux embedded su ARM Cortex-A35 e FreeRTOS su ARM Cortex-M4, utilizzando il SoM VAR-SOM-MX8X di Variscite. Per la valutazione del sistema implementato, vengono misurati i tempi di latenza sull’ iMX 8X. I risultati mostrano, tra le altre cose, che la latenza massima dallo spazio utente Linux a FreeRTOS con l’utilizzo della patch RT è di 628 µs. Da ciò si può concludere che l’IPC tra i processori è adatto per il soft real-time.
Monitoraggio avanzato e aggiornamenti over-the-air (OTA) per dispositivi embedded
L’integrazione con la piattaforma Memfault aggiunge funzionalità di diagnostica avanzata alle soluzioni Variscite. Gli sviluppatori avranno accesso a dati preziosi dei dispositivi finali, come metriche delle prestazioni, eventi di sistema e statistiche operative, senza bisogno di accesso fisico. Uno strumento di manutenzione proattiva che permetterà agli ingegneri di individuare e risolvere i problemi senza attendere il feedback dell’utente finale.