EMB_90

EMBEDDED 90 • NOVEMBRE • 2023 64 persino visualizzare i dati in tempo reale sullo schermo. Il flusso continuo del trace permette, ad esempio, di monitorare i test del sistema o individuare errori poco comuni e difficili da riprodurre. La diagnostica tramite trace visuale consente di individuare anomalie mediante rappresentazioni grafiche ad alto livello e aumentare il dettaglio informativo mediante la tecnica del “drill-down” per scoprire esattamente ciò che è successo. La diagnostica tramite trace visuale, infine, può essere implementata sotto forma di soluzione completamente software che non richiede hardware aggiuntivo, neppure una sonda di debug. Vi sarà un maggiore consumo di memoria e utilizzo di processore, ma non più di quanto normalmente restino di riserva durante lo sviluppo, il collaudo e anche nel prodotto finale. La disponibilità di queste informazioni in qualsiasi momento rappresenta un indubbio vantaggio per tutti gli sviluppatori nello svolgimento del loro lavoro quotidiano. Questo approccio consente di registrare qualsiasi informazione rilevante dell’applicazione, compresi dati e stati interni non visibili durante l’esecuzione. Questi dati possono essere rappresentati graficamente, in parallelo con la sequenza cronologica di esecuzione, consentendo di ottenere informazioni dettagliate sull’applicazione che sta girando. In questo modo, è possibile realizzare prodotti migliori rispetto a quelli della concorrenza. Queste cinque pratiche permettono di ricavare le informazioni necessarie sul comportamento real-time a livello di sistema, per migliorare la qualità del prodotto, accelerare lo sviluppo e ridurre il time-to-market. Un diagramma temporale che mostri gli eventi software fornisce allo sviluppatore una panoramica sul funzionamento interno dell’applicazione embedded e rappresenta un ottimo punto di partenza nei casi in cui sono necessarie analisi più approfondite per individuare i bug possibilità di rilevare e risolvere qualsiasi problema in fase di sviluppo, senza ridursi a dover fare corse contro il tempo prima della data di consegna stabilita. Soddisfare le specifiche di temporizzazione dei sistemi real- time con requisiti “hard” (determinismo assoluto) è cruciale, anche se non bisogna dimenticare che si tratta di un aspetto importate per la quasi totalità dei sistemi embedded al fine di garantire un’interazione e una fruizione ottimali da parte dell’utente. Nessun utente vorrebbe utilizzare un touch screen o un router Wi-Fi lenti, non in grado di garantire il throughput stabilito. Ancora una volta, la causa di questo comportamento potrebbe non essere ovvia analizzando il codice sorgente e il semplice passaggio a un processore più veloce potrebbe rivelarsi inutile se il vero problema è rappresentato da una progettazione software non adeguata. Diagnostica tramite trace visuale: i vantaggi Nel caso in cui lo sviluppatore si trovi in difficoltà durante la fase di debug di un progetto allorché questa attività assorba tutte le risorse impedendo la prosecuzione del progetto stesso, la diagnostica con trace di tipo visuale può rappresentare un valido ausilio. La mancata adesione alle migliori pratiche di progettazione software per applicazioni basate su RTOS è spesso un elemento determinante, che può manifestarsi sotto forma di scarse prestazioni, elevato carico per il processore o errori transitori. La presenza di parecchie interdipendenze tra i diversi task è un altro indicatore del fatto che la progettazione software è suscettibile di miglioramenti. Anche i sistemi mal progettati possono funzionare all’inizio, ma il loro comportamento sarà complesso e caotico e la loro testabilità scarsa. Ciò incrementa il rischio di bug elusivi che possono così annidarsi nei dispositivi in produzione. Tali sistemi saranno anche poco affidabili, per cui piccole modifiche del codice e delle condizioni operative potrebbero provocare malfunzionamenti. La diagnostica tramite trace visuale aiuta lo sviluppatore ad analizzare e migliorare il progetto software, assicurando un comportamento stabile e affidabile del sistema. Prima si riesce a individuare gli errori della progettazione software, minore sarà il numero di modifiche necessarie per risolverli. I miglioramenti del progetto software permettono anche di realizzare sistemi caratterizzati da prestazioni più elevate e da una maggiore rapidità di risposta, dando così la possibilità di adottare processori più economici, per ridurre i costi della BoM, oppure di operare a frequenze di clock inferiori, per una maggiore durata della batteria. Si può impiegare un tool di trace per convogliare il flusso continuo dei dati verso il computer host dove è possibile archiviare, se necessario, registrazioni molto lunghe e SOFTWARE | RTOS

RkJQdWJsaXNoZXIy Mzg4NjYz