Embedded_53 - page 75

EMBEDDED
53 • SETTEMBRE • 2014
75
SOFTWARE
DEBUG
mappare tutto ciò che transita nei bus di
servizio hardware in seguito a ben precise
istruzioni software. In altri termini, le celle
ETM permettono di individuare gli indirizzi
logici delle istruzioni e ricostruire i passi
di programma svolti indipendentemente
dall’impostazione dinamica della memoria
che può notoriamente essere assai diversa
fra un sistema e l’altro ma in ogni caso
deve comunque permettere di mantenere
la sequenzialità delle operazioni e conser-
varne traccia. È solo ricostruendo questa
traccia che il debug può riuscire a estrarre
una riproduzione storica e fedele dei cicli
eseguiti e permettere di capire cosa suc-
cede.
In pratica, le ETM servono per monitorare i
cicli di programma e rilevare le discontinuità
più rilevanti nel flusso delle istruzioni per
riconoscere le problematiche sull’accesso ai
dati, sulle temporizzazioni e sulla sincroniz-
zazione dell’accesso ai dati con i processi in
esecuzione.
Nella gestione dinamica della memoria, infatti, può succede-
re che viene alterata la visione della memoria da parte del
processore con indirizzi logici che cambiano contenuto e in
tal caso il debugger dev’essere in grado di capire quando e
come è avvenuto ogni cambio di processo per poter di conse-
guenza attribuire i corretti valori alle assegnazioni indirizzi/
dati in memoria.
Completezza funzionale
Il valore recentemente aggiunto da Lauterbach al suo tool
di debug Trace32 consiste nell’analisi della completezza
dell’esecuzione del codice software a livello delle funzioni
hardware e, in particolare, nella verifica che i test di collau-
do siano in grado di coprire tutte le eventualità possibili,
comprese anche quelle assolutamente imprevedibili. Grazie
alla ricostruzione delle tracce disponibile nel Trace32 è
possibile risalire a tutte le correlazioni fra i programmi di
supervisione software e la loro esecuzione a livello hardware
e ciò permette di evidenziare i difetti nascosti che altrimenti
continuerebbero a esistere anche in forma dormiente con il
rischio di attivarsi nella fase di fabbricazione oppure durante
l’intero ciclo vitale dei prodotti.
Il Trace32 Debug & Trace Tool Lauterbach lavora indipen-
dentemente dalle caratteristiche di runtime dei core perché
ne registra ogni dettaglio operativo e poi rileva la probabilità
di alterazione a causa di eventi anomali interni o esterni
individuandoli dalle discontinuità nella correlazione fra i
comandi impartiti dal software e le funzioni effettivamente
eseguite in hardware. I 4 GByte di memoria consentono di
memorizzare tracce abbondanti dei cicli eseguiti insieme alle
condizioni imposte al contorno e poi ripetere l’analisi modi-
ficando le condizioni o i parametri di test per confrontare le
differenze e capire la correlazione fra le modifiche apportate
e le caratteristiche delle funzionalità operative osservabili.
Nel tool sono disponibili funzioni di visualizzazione che sele-
zionano le variabili e consentono di evidenziare i momenti
nei quali si verificano le condizioni di massimo rischio, non-
ché contraddistinguerle con un avviso che può consigliarne
la cancellazione definitiva a scopo preventivo oppure anche
la sola disattivazione che ne permette la correzione e l’even-
tuale conseguente riattivazione.
Verifica di qualità
Il nuovo Tool Qualification Support-Kit per il Lauterbach
Trace32 consente la verifica della completezza dei test ossia
l’analisi della Code Coverage che permette di qualificare un
sistema e assegnarli il corretto livello di validità e redditività.
Questo tool è affiancato dal nuovo modulo Exporting Task
Event Based Trace Data for External Timing Analysis che
permette di individuare quegli errori che possono verificarsi
solo durante i cicli di run-time e sono perciò fortemente lega-
ti alle temporizzazioni.
Fra i supporti recentemente aggiunti nel Trace32 ci sono
anche tool specifici per i core Freescale MPC57xx/SPC57x,
ARMv8, ARM MicroBlaze 8.50, ARM Cortex-M, Renesas
RH850, Infineon XMC, MIPS InterAptiv, Intel Silvermont
con RTIT (Real-Time Instruction Trace) e Microsemi
SmartFusion2, nonché per i sistemi operativi Windows
Embedded Compact 2013 e uCLinux per Cortex-M 3/4.
Fig. 2 – Il nuovo Tool Qualification Support-Kit per il Lauterbach
Trace32 consente la verifica della completezza dei test che permette di
valutare la qualità dei prototipi prima della fase produttiva
1...,65,66,67,68,69,70,71,72,73,74 76,77,78,79,80,81,82,83,84,85,...86
Powered by FlippingBook