EMB_85

EMBEDDED 85 • SETTEMBRE • 2022 61 HW DEBUG | SOFTWARE debugger inteso come strumento di sviluppo. Un nu- mero sempre maggiore di funzionalità che in prece- denza venivano realizzate in hardware erano ora im- plementate in software. Gli ambienti di sviluppo e il debugger software erano sempre più potenti, mentre l’hardware “rimpiccioliva” a fronte di un aumento di prestazioni in termini di ampiezza di banda e di velo- cità. Nonostante ciò, le applicazioni (use case) fonda- mentali del debug restano ancora oggi invariate. Lo sviluppo dei debugger hardware Utilizzo dell’istruzione printf, impostazione dei bre- akpoint nella flash, osservazione in real-time e utiliz- zo della modalità step-over (passaggio riga per riga senza entrare nella funzione): questa può essere una descrizione semplificata del processo di debug. In linea di principio, il debug viene utilizzato per lo sviluppo e il troubleshooting (analisi finalizzata e individuare delle cause di un problema e la loro eliminazione) del software in applicazioni quali sviluppo di driver, bring-up (validazione funzionale ed elettrica) di schede e componenti hardware, processi di boot (avvio) e altre ancora come metodo standard per lo sviluppo “di basso livello”, ovvero correlato all’hardware. Un debugger poteva essere disponibile in tempo brevi sul banco di lavoro (Fig. 2) per caricare (flash) il software sull’hardware target, avviare l’esecuzione o arrestarla a un certo punto del codice tramite un breakpoint, per verificare aree di memoria e registri o per modificarle per il collaudo, per leggere lo stack di chiamate e così via. In termini di applicazione è semplice, comprensibile e in linea di principio rappresenta ciò che la maggior parte degli sviluppatori desidera ottenere dal processo di debug. Nella maggior parte dei casi, manca il tempo per occuparsi in maniera più approfondita del debugger stesso, cercando di scoprire il “Santo Graal” del debugging”, ovvero quelle funzionalità aggiuntive che potrebbero far risparmiare molto tempo nelle fasi di debug e collaudo. In questo contesto, ad esempio, una tecnica spesso sottostimata è il tracing. Essa fornisce informazioni dettagliate Fig. 2 – Debug hardware – l’attività quotidiana di uno sviluppatore di software embedded

RkJQdWJsaXNoZXIy Mzg4NjYz