EMB 91

EMBEDDED 91 • FEBBRAIO • 2024 59 FUNCTIONAL SAFETY | SOFTWARE Processo di creazione La figura 4 fornisce una panoramica dettagliata del processo di creazione. I compiti di tale processo sono i seguenti: 1. Creare un file ELF classico per la fase “Test e re- portistica”. 2. Creare i file “.eca” che forniscono a TRACE32 i det- tagli necessari sulle decisioni (come richiesto dal criterio n. 1). 3. Creare un file ELF strumentato per la fase “Test e reportistica”, nel caso in cui siano stati rilevati gap di osservabilità. In figura 4 tutti gli output del processo di creazione ri- chiesti per la fase “Test e reportistica” sono disegnati in verde e sono contrassegnati con una freccia rivolta verso il basso. Per generare gli output necessari, i se- guenti prodotti TRACE32 devono essere integrati nel processo di creazione. • Strumento a riga di comando t32cast, basato su Clang; lo strumento t32cast per C/C++ è gratuito e indipendente dal compilatore • Simulatore di set di istruzioni TRACE32 per l’ar- chitettura principale sotto test; l’utilizzo del simu- latore del set di istruzioni TRACE32 richiede una licenza floating a pagamento I due prodotti TRACE32 usati nel processo di creazione gestiscono le seguenti attività aggiuntive: 1. t32cast analizza il codice sorgente C/C++. Come risultato di questa analisi statica del codice, per cia- scun file del codice sorgente viene generato un file “.eca”, che contiene le informazioni richieste sulla struttura delle decisioni. 2. Il file ELF e i file “.eca” devono essere caricati nel simulatore del set di istruzioni TRACE32 per verifi- care i gap di osservabilità. Il risultato viene salvato in un file JSON. Fig. 3 – Workflow a due fasi per la copertura MC/DC multimodale in TRACE32 Fig. 4 – Il processo di creazione per la copertura multimodale in TRACE32 Fig. 5 – Esempio di strumentazione per la copertura di codice multimodale

RkJQdWJsaXNoZXIy Mzg4NjYz