Segger RTT Library: printf debugging on Arduinos with arm processors

Hi. Segger RTT (Real-Time Transfer) is software that allows an Arduino sketch running on an arm processor to print messages on your pc, and read commands from your pc. I've made an Arduino Stream wrapper around Segger RTT, so Arduino programmers feel more at ease using RTT.

This is a software library that needs debugger hardware to work.

On the positive side:

  • fast
  • does not need uart or usb
  • can print in an interrupt handler
  • can cache a boot log
  • not only send messages, but also receive commands

But:

  • only works on arm and risc-v processors
  • needs a Segger J-Link debugger
  • initial support for other debuggers (cmsis-dap, st-link) via OpenOCD open source software

I am using RTTStream for "printf debugging" on stm32duinos. What is more: you can leave the print statements in your release code; the sketch is not slowed down at all and runs fine even if no debugger is present.

Hope you find this useful.

koen

1 Like