Lauterbach: soluzioni di debug e trace Arm® Cortex®-M a prova di futuro

Pubblicato il 24 novembre 2021

Lauterbach è il più grande produttore mondiale di strumenti di sviluppo professionali per microprocessori, completi, modulari e aggiornabili: i sistemi TRACE32®.

Questi sistemi offrono da sempre funzionalità di debug software molto avanzate, un sistema di scripting per automatizzare le operazioni e un sistema di help online e supporto tecnico apprezzato da un gran numero di utenti nel mondo.

I sistemi TRACE32 sono anche famosi per le funzionalità di real-time trace e le sofisticate capacità di analisi e profiling, per diverse architetture di processore.

I processori basati su core Arm® Cortex®-M stanno raggiungendo velocità di clock sempre più elevate e sono sempre più spesso multicore. All’aumento di prestazioni, corrisponde anche un notevole aumento delle informazioni di trace che i chip trasmettono in real-time attraverso la trace port Arm ETM, che diventa quindi sempre più veloce.

Per offrire agli sviluppatori una soluzione a prova di futuro in questo contesto di frequenze che aumentano continuamente, sono stati progettati nuovi cavi High-Speed Whisker in grado di lavorare a frequenze di trace clock fino a 200 MHz su porte trace che variano da 1 a 4 bit, fornendo così una banda di trace complessiva fino a 200 MByte/s.

Con l’aumento di velocità del clock di trace aumenta anche il rischio di disallineamento dei segnali durante il campionamento di pin di trace paralleli. Il cavo High-Speed Whisker realizza un’innovativa tecnologia di Autofocus che non solo rileva la frequenza di clock della porta di trace ma può anche adattare i punti di campionamento ottimali di ogni pin per escludere qualsiasi problema di allineamento nella temporizzazione dei segnali che trasportano i dati. I punti in cui ciascun segnale contiene dati validi per ciascun pin, detti anche “occhi dei dati”, possono essere visualizzati nel software PowerView di TRACE32. Sono anche mostrate informazioni dettagliate riguardo a jitter e fronti di salita e di discesa. Inoltre gli utenti hanno la possibilità di regolare manualmente il punto di campionamento di ciascun segnale. Una volta configurati, questi punti di campionamento possono essere salvati e richiamati per l’utilizzo futuro del trace su quel target.

Per venire meglio incontro alle esigenze degli utenti, Lauterbach offre due diverse soluzioni per il debug e trace di Arm Cortex-M:

µTrace®: un sistema debug+trace all-in-one, a basso costo, dedicato ai soli Cortex-M.

CombiProbe 2: un sistema debug+trace modulare, con più trace storage, per i Cortex-M, ma anche aggiornabile per il supporto ai Cortex-A/R o altre architetture anche non Arm, comuni nei SoC multicore moderni.

I due sistemi hanno lo stesso software debugger PowerView per PC windows/linux e MacOS-X e impiegano lo stesso tipo di probe ad alta velocità per garantire le stesse funzionalità di debug e trace. Tuttavia mentre CombiProbe è modulare ed ha un trace storage più grande, da 512MByte, µTrace invece si ferma a 256 Mbyte.

Nel caso servisse un trace di lunga durata, entrambi i sistemi consentono di estendere illimitatamente la durata del trace con la tecnica di trace streaming via USB3, che consente il salvataggio continuativo su hard-disk del trace prodotto dal target, fino ad un massimo di 1 Tera frame!

Entrambi i sistemi consentono oltre al debug in diverse modalità (JTAG, SWD), anche il trace ETM/ITM sia onchip (MTB, ETB) che offchip (TPIU/SWV), ed hanno un secondo connettore di debug a cui è possibile collegare un secondo probe per il debug e trace simultaneo di un altro chip Cortex-M, oppure è possibile collegare il nuovo Mixed Signal Probe.

 

Mixed Signal Probe – lo strumento ideale per correlare trace hardware e software

Il Mixed Signal Probe è un innovativo ed economico probe che consente di registrare ad alta velocità sia segnali analogici che digitali, e di correlarli temporalmente con il trace del programma.

Il sistema registra fino 12 canali digitali (0V..5V) a max. 200 Msample/sec per canale, 6 segnali analogici di tensione, -12V…+12V, risoluzione 13 bit ADC e 2 sensori di corrente, con campionamento 1 Msample/sec.

I canali digitali possono inoltre essere decodificati dal protocol analyzer per diversi procotolli di comunicazione seriali come seriale asyncrona (RS232), I2C, SPI, CAN, USB, JTAG e SWD. Protocolli proprietari possono essere aggiunti con uno specifico Sw Development Kit gratuito.

Il sistema, oltre a correlare temporalmente il trace di programma e il trace dei segnali, consente anche il trigger in/out tra eventi o segnali hardware, ed eventi o breakpoint software.

Questo semplifica enormemente il debug di applicazioni realtime embedded, spesso caratterizzate dalla necessità di garantire tempi molto stretti tra segnali hardware e routine di gestione software.

 

Energy Profiling

La capacità di registrare tensioni e correnti del Mixed Signal Probe consente di misurare, insieme al trace del programma, anche i consumi istantanei. Molto utile per individuare quali parti e funzionalità del programma causano picchi di consumo, verificare le modalità di power saving, misurare l’energia consumata per svolgere particolari procedure software, con la precisione di singole funzioni.

Il Mixed Signal Probe può essere impiegato sia nei sistemi µTrace e CombiProbe 2, sia anche nei più potenti PowerTrace-III e PowerTrace Serial V2.

 

TRACE32 PowerView software

PowerView fornisce un ambiente di debug integrato e un’interfaccia universale per l’intera famiglia di strumenti Lauterbach. Le barre degli strumenti e le finestre di dialogo offrono un accesso rapido e intuitivo a tutte le funzioni di debug, tracciamento e all’analizzatore logico.

Garantisce un controllo per tutti gli strumenti e una visualizzazione coerente di tutte le informazioni software e hardware necessarie per debugging, tracciamento e ulteriori analisi. Essendo un’interfaccia utente flessibile, PowerView consente agli sviluppatori di configurare l’ambiente per soddisfare le loro specifiche esigenze. Per esempio:

  • Libera scelta dell’interfaccia host e del sistema operativo host: PowerView funziona su PC Windows e Linux sia a 32 bit che 64 bit, ma anche MacOS-X: https://www.lauterbach.com/powerview.html
  • Libera scelta del chip per proprio progetto: PowerView supporta un numero elevatissimo di architetture e chip diversi, sempre costantemente aggiornato per aggiungerne di nuovi ed è pronto per ogni nuova architettura: https://www.lauterbach.com/prolist.html
  • Nessun vincolo sul linguaggio di programmazione e sul compilatore: PowerView supporta diversi linguaggi di programmazione (C, C++, C#, ADA, assembler, etc…) e i principali compilatori impiegati per applicazioni embedded: https://www.lauterbach.com/clist.html
  • Selezione libera del sistema operativo sul target: PowerView supporta numerosi RTOS e Kernel: https://www.lauterbach.com/xlist.html
  • Selezione libera degli strumenti CASE: PowerView può essere facilmente integrato con IDE e CASE tools di terze parti: https://www.lauterbach.com/dlist.html