impulse: Segger SystemView in Eclipse

I’m using the Segger SystemView in many of my applications to get insights of the running application. A reader of my blog pointed me to the company ‘toem’ (http://toem.de/) based in Germany which offers powerful data viewer (‘impulse’) for Eclipse. I have tried this out, and it is really an amazing piece of technology with lots of potential. It allows me to view Segger SystemView data πŸ™‚

Segger SystemView Data in Eclipse

Segger SystemView Data in Eclipse

So for everyone who wants to stay (mostly) inside Eclipse and not using the Segger SystemView application, that might be a good alternative. But it goes beyond that: with impulse I can read data from multiple data sources, combine them, filter and extract the data I need and export it. That tool opens up a lot of possibilities, and I think I just scratched on the surface of it.

There is a free ‘Basic’ edition, see http://toem.de/index.php/projects/impulse/licensing

Installation

Follow the tutorial/steps outlined here: http://toem.de/index.php/projects/impulse/articles/98-using-seggers-system-viewer-with-impulse

The steps to install it from an Eclipse update site are documented here: http://toem.de/index.php/projects/impulse/manual/25-a1-installation

I’m using the following update site:

http://update.toem.de

And I have the following plugins installed:

Installed Plugins

Installed Plugins

πŸ’‘ Update: I’m now at v1.6.22.

Setup

In the preferences, click on View/Edit:

View and Edit Serializer

View and Edit Serializer

Then add a new configuration:

Adding New Configuration

Adding New Configuration

Add a SystemView Configuration:

SystemView Configuration

SystemView Configuration

In the next dialog I should enter the user/system events:

Added FreeRTOS Events

Added FreeRTOS Events

I can copy the events from

SYSVIEW_FreeRTOS.txt

which on my machine it is installed here:

C:\Program Files (x86)\SEGGER\SystemView_V236a\Description\SYSVIEW_FreeRTOS.txt

With this I have added the configuration and this completes the setup.

Added Configuration

Added Configuration

Loading Recorded Data

One easy way to use the Eclipse views is to load recorded data (*.SVDat) file stored by the Segger SystemView application. I have shortcuts to the data file present in my project:

SVDat File in Project

SVDat File in Project

Double-Clicking on the file opens a dialog which asks me for the configuration to use. I select the one I have created earlier:

Open SVDat File

Open SVDat File

The first time I won’t have a view for it, so let’s create one:

new suitable view

new suitable view

Select the System Viewer one:

New Segger SystemView View

New Segger SystemView View

Using its views, I can deep dive and filter the data:

SVDat Viewing

SVDat Viewing

With ‘Show in’ I can show the data in a table and filter it:

Show in Table

Show in Table

Data can be inspected and filtered, and the view is synchronized with the ‘main’ timeline view too:

Value Table with Details

Value Table with Details

Collecting Streaming Data

According to the information on the toem.de web site it should be possible to directly stream in RTT data. It uses a socket configuration to socket #19021:

Segger RTT Socket Configuration

Segger RTT Socket Configuration

While that looks promising and would be exactly what I would need, despite several attempts and even with contacting the engineer directly I was not able to make it work :-(. I have Segger SystemView and RTT working, but I was not able to connect to it with the toem Eclipse plugin :-(. To bad.

Update: I have updated the plugins to v1.6.22, but still I was not able to collect streaming data. I tried to stream data only on the RTT channel 0, but this did not work neither.

Summary

impulse is a very flexible and expert tool to collect and inspect data from multiple sources. It worked for me with loading data stored from the Segger SystemView application. Unfortunately I was not able to get the RTT streaming working for unknown reasons. That would have been a great feature and potentially would have lifted the current Segger SystemView application limitation of collecting up to 1 Mio events. I was hoping that impulse would give me the ability to collect data for an extended period. But maybe this will be be possible in the future? Until then impulse is a nice viewer for me, but not more.

Happy Impulsing πŸ™‚

Links

Advertisements

3 thoughts on “impulse: Segger SystemView in Eclipse

  1. Nice!

    I was reading your previous posts about Systemview and Tracealizer today, they were really helpful and I learned a lot! Thank you for writing about!

    atm I’m playing around with STM32 and freeRTOS in a nucleo board, and saw today that segger released a firmware version of the jlink to update the stlink present in the nucleo and discovery boards, in the next days I should give it a try (I’ve just configured the FreeRTOS awareness in the OpenOCD, don’t want to mess with it :P), so probably this Impulse will be a really good addition to my Systemview try.

    By the way, is there any good trace visualizer like Tracealizer and Systemview, but open source?

    Like

What do you think?

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s