RTT (Real-Time Transfer)

RTT è una tecnologia di log sviluppata da Segger che consente la comunicazione bidirezionale tra scheda target e PC. La tecnologia si basa sulla capacità del J-Link di leggere dati nella memoria del microcontrollore mentre esso sta eseguendo il proprio codice.

Caratteristiche principali:

  • Elevata velocità di trasferimento dati bidirezionale, senza inficiare il comportamento real-time del sistema
  • Supporta diversi canali indipendenti di comunicazione
  • Non richiede alcun hardware particolare o pin aggiuntivi, basta possedere un J-Link
  • Supporta le architetture: ARM Cortex-M0/M0+/M1/M3/M4/M7/M23/M33 e Renesas RX100/200/600
  • implementazione completa per le toolchain principali (IAR, Keil) per un’integrazione senza sforzi.

Che cos’è RTT

RTT è una libreria per il target che consente il trasferimento di dati tra target e PC in modo bidirezionale e ad alta velocità. Può supportare più canali di comunicazione simultanei, per default viene abilitato un singolo canale utilizzabile per esempio come terminale per I/O. Con la utility per Windows RTT Viewer, questo canale può essere utilizzato per gestire più terminali virtuali consentendo di “stampare” dati su più finestre. (es. una per lo standard output, una per error output, una per output di debug) impiegando un solo buffer nella RAM del target. Un canale aggiuntivo potrebbe per esempio essere utilizzato per inviare al PC dati di profiling o di trace di eventi interni.

Comunicazione RTT

Il flusso di dati di RTT può essere gestito sul PC attraverso varie applicazioni. La funzionalità può essere integrata direttamente all’interno di un’applicazione attraverso la libreria J-Link SDK. Un’alternativa è connettersi alla porta localhost:19021 tramite una sessione telnet. Il pacchetto del J-Link scaricabile liberamente include anche altre applicazioni in grado di gestire il flusso RTT (es. J-Scope, che può anche graficare i dati ricevuti).

J-Link RTT Viewer

E’ un’applicazione per Windows che visualizza il flusso RTT in un terminale. Può lavorare in modo standalone, oppure in parallelo a una sessione di debug gestita dal J-Link.

Caratteristiche supportate da RTT Viewer:

  • Terminal output on Channel 0
  • Sending text input to Channel 0
  • Up to 16 virtual Terminals with only one target channel
  • Controlling text output: Colored text, erasing the console
  • Logging data on Channel 1

J-Link RTT Client

E’ un applicazione che si comporta come un server Telnet, ma tenta di ristabilire la connessione al J-Link quando una sessione di debug sia chiusa. RTT Client è parte del pacchetto di software di base per il J-Link.

J-Link RTT Logger

Questa applicazione legge i  dati da Up-Channel 1 e li scrive in un file. Questo canale può ad esempio essere utilizzato per inviare continuamente dati relativi alle performance del sistema, senza dover utilizzare alcun debugger.  J-Link RTT Logger è parte del pacchetto di software di base per il J-Link.