Lauterbach: supporto SMP per il kernel threadX di Express Logic
Il Symmetric multi-procesing (SMP) distribuisce una applicazione su varie unità esecutive (processori o singoli core) dello stesso tipo. Il sistema operativo gestisce la ditribuzione dinamica delle unità esecutive dell’applicazione tentando di bilanciare il carico sulle CPU nel miglior modo possibile. Questa modalità operativa ottimizza il sistma in termini di run-time e svincola lo sviluppatore dalla scelta di cosa far eseguire a ciascun processore.
Express Logic offre una versione SMP del suo RTOS ThreadX, detta “ThreadX/SMP”, che permette la distribuzione dei vari thread su diverse CPU, il cui numero è configurabile dall’utente. Dato che i sistemi Lauterbach T32 supportano configurazioni multi-core sia simmetriche che non, l’utente può decidere se eseguire il debug di un singolo core o di tutto il sistema.
In collaborazione con Express Logic, Lauterbach ha esteso le capability della sua kernel awareness ThreadX, e ora consente il debug di ThreadX/SMP e delle sue applicazioni senza problemi. La lista dei processi ora indica anche su quale CPU il thread sta eseguendo e il debugger è in grado di cambiare il contesto di debug su qualsiasi CPU in qualunque momento. È in grado di analizzare lo stack di chiamate di tutti i thread, attivi e sospesi, e mostra dove un thread attivo sta eseguendo e dove un thread sospeso sta aspettando. Il sistema viene messo in esecuzione e fermato in sincrono per tutte le CPU, sicchè un breakpoint fermerà tutto il sistema a prescindere da quale CPU lo ha effettivamente colpito, e in questo momento il debugger mostrerà il contesto di questa CPU autmaticamente.
Con queste feature, lo sviluppatore ha completo accesso a tutte le risorse del sistema e alla applicazione, con una visione “System Level” piuttosto che a livello della singola CPU.
Sia la verisone SMP di ThreadX sia il supporto SMP per Trace32 sono immediatamente disponibli.

