EMB 93

EMBEDDED 93 • SETTEMBRE • 2024 58 I l debug “alla cieca” è un compito sicuramente ar- duo! Si tratta, peraltro, di un’esperienza che tutti gli sviluppatori hanno vissuto: il sistema subisce un arre- sto imprevisto (crash) poche ora prima di un importan- te rilascio del firmware ed è necessaria una corsa con- tro il tempo per identificare e correggere il codice che ha causato il problema o il malfunzionamento. Nella maggior parte dei casi, gli sviluppatori saranno capaci di identificare l’istruzione che ha causato il crash, così come il contenuto dei registri al momento dell’arresto. Gli sviluppatori più esperti potrebbero essere in grado di analizzare in maniera approfondita il contenuto del- la memoria e determinare il thread attualmente in ese- cuzione e, probabilmente, parte dello stack di chiamate in C. A volte queste informazioni sono sufficienti ma, in parecchi casi, la ragione del crash è più complessa, in quanto potrebbe trattarsi del risultato di una rara con- dizione di temporizzazione dell’esecuzione dei thread e di eventi di interrupt. Recentemente, PX5 ha annunciato l’integrazione con Tracealyzer di Percepio , un tool software ad alte pre- stazioni utilizzato per visualizzare e analizzare i siste- mi embedded real-time. Utilizzato in abbinamento con un sistema operativo real-time (RTOS) come appunto PX5, Tracealyzer assicura molteplici vantaggi, tra cui: 1. Visualizzazione del comportamento real-time: Tracealyzer fornisce una rappresentazione grafica del comportamento del sistema, consentendo agli sviluppatori di visualizzare il flusso di esecuzione, lo scheduling dei thread e le interazioni tra diffe- renti component in tempo reale. Questa visualizza- zione aiuta a comprendere comportamento e pre- stazioni del sistema. 2. Debug e analisi delle prestazioni: con Tracealyzer, gli sviluppatori possono identificare e risolvere nu- merose problematiche, come ad esempio problemi di temporizzazione, deadlock, inversioni di priorità e conflitti tra le risorse nei sistemi real-time che gi- rano sull’RTOS PX5. Questo tool consente di effet- tuare un’analisi approfondita, individuando dove e quando si verificano problemi. 3. Analisi dei thread: Tracealyzer fornisce informa- zioni dettagliate relative a esecuzione dei thread, commutazione del contesto e interazioni fra i thre- ad. Esso contribuisce a ottimizzare lo scheduling dei thread, identificare problemi di inversione di priorità, assicurando un uso efficace delle risorse del sistema. 4. Analisi della gestione degli interrupt: Tracealyzer consente agli sviluppatori di tracciare e analizzare gli interrupt, consentendo loro di comprendere la latenza degli interrupt, i tempi di esecuzione degli handler e le interazioni tra interrupt e thread. 5. Monitoraggio dell’utilizzo delle risorse: fornisce visibilità sull’utilizzo delle risorse, compreso l’uso della CPU, l’allocazione della memoria e gli indica- L’importanza della visualizzazione nella fase di debug L’integrazione di Tracealyzer con l’RTOS offre una visione completa del comportamento del sistema, favorendo lo sviluppo di applicazioni embedded più efficienti, affidabili e prevedibili Bill Lamie CEO PX5 SOFTWARE | DEBUG

RkJQdWJsaXNoZXIy Mzg4NjYz