EMBEDDED
65 • MAGGIO • 2017
36
SPECIALE
|
SW TOOL
l debug può incidere sulla qualità dei sistemi
embedded e sulla loro redditività perché non
è oggi possibile progettare nulla senza pre-
ventivare un po’ di bug, errori o difetti, che
inevitabilmente si creano a causa della molteplicità
delle tecnologie che concorrono alla realizzazione
di una scheda embedded. Ogni ciclo di sviluppo ha
bisogno di una fase di debug che deve correggere i
difetti e appiattire per quanto possibile la probabili-
tà che si creino in hardware dei malfunzionamenti
causati da problematiche software.
5
À
6
-
siste nell’immettere di proposito degli input capaci
di creare condizioni di instabilità note, allo scopo
di accertare se da esse possano scaturire dei mal-
funzionamenti che di conseguenza possono essere
corretti. Ma ci sono degli accorgimenti da non di-
&
À
6
x
7
-
te e immancabilmente complicato durante la pro-
gettazione in modo che poi sia ben comprensibile
quando si passa al debug. Dato per scontato che
gli errori sono inevitabili conviene, innanzi tutto,
pensarci già in fase di progettazione cercando di in-
serire nel progetto dei meccanismi che di tanto in
tanto traccino all’esterno il procedere dei processi
in modo tale che ci si possa accorgere della presen-
za dei bug. Una tecnica ben nota in tutti i manuali
7
T
&
6
antico detto latino “divide et impera”, e sostanzial-
' À
4
7
6
'
'' 2 .
schede embedded si può attuare con una metodo-
'
À
le funzionalità a basso livello come le interfacce o i
bus e poi procedere innalzando il livello di astrazio-
),T
À
a ricostruire l’intera catena di malfunzionamento.
La stessa tecnica si può impiegare isolando un solo
'
À
-
stema senza quell’unica variabile di input e poi rei-
terare il test su tutti gli ingressi.
Un’altra nota tecnica di debug consiste nell’abbas-
'
\
À
-
re se si evidenziano degli errori di sincronizzazione
fra i componenti o fra i moduli. Similmente si può
procedere diminuendo gradualmente i valori degli
'
À
-
biamento in uno dei valori di output sintomo della
presenza di un bug da correggere.
6 '
À 7
'
-
guito su modelli off-line dei sistemi embedded o di
parti funzionali di essi che vengono collegati agli in-
gressi e alle uscite con un sistema di controllo ester-
no che non interferisce con l’esecuzione dell’appli-
4
À
tempo reale la corretta corrispondenza fra i segnali
o i dati in uscita e gli stessi in ingresso. Questi mo-
À
'
sistemi con funzionalità matematiche complesse,
7 '
6 À
'
che talvolta sono annidati. Fra i tool che riescono a
6
'
origine teutonica.
Tecnologie di debug
Per fare debug occorrono tool in grado di scoprire i
malfunzionamenti creati dagli errori di progettazione
ma è bene ricordarsi quegli accorgimenti dettati dalle
tecniche più elementari
Lucio Pellizzari
I