Using Seggers SystemView with impulse

SEGGER's SystemView environment is a real-time recording and visualization tool that visualizes the runtime behavior of embedded applications. With the new SystemView serializer, you can use impulse to read and analyze SystemView recording data from files or directly from running targets.

Using eclipse/impulse as backend for SystemView, you may

  • read SystemView data from different sources or paths (e.g. tcp, serial line,..),
  • read SystemView data from multiple cores in parallel,
  • combine multiple source and formats(e.g: additional traces or logic analyzer data),
  • automatically analyze the input data using scripts,
  • extract custom statistical data,
  • use additional presentation forms like charts, line and area diagrams,
  • filter and search for specific events,
  • add annotations (bookmarks,..) and deploy to customers or colleagues.

SystemView on the target

For information about how to instrument and use SystemView on the target refer to https://www.segger.com/systemview.html.

Install and configure the SystemView reader

The SystemView reader is part of the "impulse Embedded/IoT Tools". Please check this feature when installing impulse.

To use the reader, you need to add a configuration for your target (Preferences->impuse->Serializer->SystemView).

The configuration requires a domain base to be set (this is ns by default) and optionally a list of user/rtos events. This list is of the same format as in SystemView (you may copy the content of the files SYSVIEW_embOS.txt or SYSVIEW_FreeRTOS.txt into this field). You may define multiple configurations for multiple targets.

 

Read the SystemView content

Using Files

If you've already stored your SystemView content into a file (e.g: you may use the the SystemView example trace as a first step) you can open the file as usual (by double-clicking on the resource in the navigator or explorer view).

Using Ports

If you want to read content from your target, add a new TCP Socket (Window->Show View->impulse->Signal Ports) and configure socket 19021 for J-Link RTT channel 0 (https://www.segger.com/jlink-rtt.html).

Double-click on the port to open the viewer. Press Start/Stop Streaming to start recording. Refer to 06 Ports for more information about using ports.

Add a view

 After opening the viewer you will be asked to add a new view (you may create multiple views and switch between of them). A view describes all graphical presentations and can be created and modified by the user.

 

 Chose the template "SystemView Default View" to create a ready-to-use view. You may later extend and modify the view according to your needs.

Analyze the input

After creating a view you may get a picture like below. All context and console signals are organized in form of a tree. Refer to the manual for further information how to get into you traces. 

Use the Value Tables

The Value Table shows the different events within your signals as a table. This table displays the domain (e.g., time) on the left-hand side and the value of it on the right-hand side. When you choose multiple signals (context), the table additionally shows their names. You may open multiple Value Tables to

  • watch the SystemView console output,
  • anaylze the event details  (system/user/ for each context (or multiple context),
  • to show statistical data,
  • filter and search your content.

To open a Value Table for a specific signal (context, logs or statistics), open the context menu and choose Show in->Value Table. If you want to show the events of the currently selected signals, unfreeze the input of the table (press the "Freeze Input" button to toggle state).

More about tables: 07 Tables