Reply
Posts: 439
Registered: ‎07-13-2015

Does EFM32 support Segger's RTT?

[ Edited ]

Segger has a technology called J-Link RTT which they claim is supported by all J-Link models and is faster than SWO output. Does the EFM32 support this technology?

 

I use an EFM32 Zero Gecko starter kit, which has an embedded J-Link, so would it be possible to use it with RTT? Does RTT work with external targets?

Posts: 39
Registered: ‎09-26-2015

Re: Does EFM32 support Segger's RTT?

Hi @Timur,

RTT should work nicely on all our devices. It works by opening a debugger connection between the J-Link library on your computer and the target device. The J-Link library then writes data to and reads data from the target RAM.

 

J-Link PRO debuggers increase the performance of the connection by doing the RAM access in the debugger itself, and then passing the data on to the computer. This feature is not supported by the on-board J-Link on the EFM32 STKs.

 

I haven't tested it myself, but I see no reason why RTT shouldn't work with "debug out", since it's just a debug connection.

 

Regards,

Aksel

Posts: 439
Registered: ‎07-13-2015

Re: Does EFM32 support Segger's RTT?

@asmellby Thank you Aksel for your quick and precise reply.

 

I now tried it. I use a Zero Gecko Starter Kit in Debug Out mode with an EFM32HG310F64 Happy Gecko and I use Simplicity Studio v4. I've got some trouble:

 

  • I couldn't figure out how to show the RTT output in Simplicity Studio
  • JLinkRTTClient works, but it can only see the RTT output if I connect to the Starter Kit using JLinkExe.
  • JLinkRTTClient can connect to the "siagentarm" process when I'm debugging with Simplicity Studio, but unfortunately it doesn't show any RTT output.

I use the following code on the Happy Gecko:

 

int main(void) {
  CHIP_Init();

  SEGGER_RTT_Init();
  SEGGER_RTT_ConfigUpBuffer(0, NULL, NULL, 0, SEGGER_RTT_MODE_BLOCK_IF_FIFO_FULL);
  SEGGER_RTT_WriteString(0, "Hello world!\n");
while (1) { } }

Would it be possible to show RTT output in Simplicity Studio? Or at least have JLinkRTTClient work with it when I'm debugging with Simplicity Studio? That would be marvellous!

Posts: 248
Registered: ‎11-17-2013

Re: Does EFM32 support Segger's RTT?

RTT uses a debug connection to read/write its memory location. This will prevent you from debugging the chip elsewhere (e.g. in Simplicity Studio) as there is only one debug connection possible AFAIK.

 

If you really need a terminal connection while debugging consider using either USB or UART connection to the PC.

Posts: 439
Registered: ‎07-13-2015

Re: Does EFM32 support Segger's RTT?

@Turbo_J The trouble is that Simplicity Studio does not show the RTT output, and I'm not sure if I'm doing something wrong or this is maybe just a missing feature.
Highlighted
<a href="http://community.silabs.com/t5/Welcome-and-Announcements/Community-Ranking-System-and-Recognition-Program/m-p/140490#U140490"><font color="#000000"><font size="2">Ninja</font></font> </a> tj
Posts: 55
Registered: ‎07-04-2016

Re: Does EFM32 support Segger's RTT?

I had similar problem, but I solved it.

RTT works in simplicity Studio with Eclipse plugin ‘TCF Terminal (Console) View‘

Posts: 439
Registered: ‎07-13-2015

Re: Does EFM32 support Segger's RTT?

Thank you @tj I'll definitely try that! How can I install that Eclipse plugin into Simplicity Studio?

<a href="http://community.silabs.com/t5/Welcome-and-Announcements/Community-Ranking-System-and-Recognition-Program/m-p/140490#U140490"><font color="#000000"><font size="2">Ninja</font></font> </a> tj
Posts: 55
Registered: ‎07-04-2016

Re: Does EFM32 support Segger's RTT?

You have to install EPP Marketplace Client

 

Help -> Update Software 

Package Manager ->Tools tab -> button to install the EPP Marketplace Client

 

Help -> Eclipse Marketplace

and next instructions is here:

 

https://mcuoneclipse.com/2015/07/07/using-segger-real-time-terminal-rtt-with-eclipse/

Posts: 2
Registered: ‎01-26-2017

Re: Does EFM32 support Segger's RTT?

Not sure whether this is still relevant (after 2 years...) and how to proceed, but I implemented a wrapper around RTT that replaces the Gecko SDK implementation debug-print.c and routes everything that would go to a serial output to the RTT connection.

 

I think it might be helpful to anybody else using SEGGER debuggers, especially to have debug output on small modules where you might not be able to afford the space/pins for an old school UART

 

Is there a proper way to submit this for review and potentially inclusion in the SDK? 

Posts: 439
Registered: ‎07-13-2015

Re: Does EFM32 support Segger's RTT?

@MatteoSilexI kind of gave up on RTT because Simplicity Studio was incapable of printing the messages coming from RTT to its console. I haven't checked in a while whether this is still true. I believe you can contact someone at Silabs, perhaps @delu will know who, and they may consider adding your code to the SDK. In the meantime, I'd be interested to see your code anyway. Robot Happy