Monday, December 11th 2017, 5:55pm UTC+1

You are not logged in.

  • Login
  • Register

Dear visitor, welcome to SEGGER Forum. If this is your first visit here, please read the Help. It explains how this page works. You must be registered before you can use all the page's features. Please use the registration form, to register here or read more information about the registration process. If you are already registered, please login here.

MatthewKyeo

Beginner

Date of registration: Jul 19th 2017

Posts: 40

1

Friday, December 1st 2017, 6:27pm

[SOLVED] Are there SystemView APIs when creating custom desktop GUI applications?

Hi, I'm Matthew. I use Nordic's PCA10040 (nRF-52 dev kit which has SEGGER's J-Link), and SES 3.

I'm new to the SystemView so my idea might sound weird.

Most of the time, people use UART/RS232 serial communication; a USB-UART converter to log or plot data.

Using Qt5, the cross-platform GUI application framework, I wanted to draw a graph or a line chart after receiving data.



However, each desktop OS required OS specific serial libraries. So I thought I can replace the UART serial communication to the SystemView.

In other words, I want to replace the UART module

and I want to create a cross-platform GUI desktop application, which is quite similar to the current SystemView, to plot data.

I use the PyQt5 (based on Python 3) and the Qt creator (based on C++).

Are there SystemView APIs or libraries available for Windows/Ubuntu 16/MacOS machines?

It would be great to read data with the J-Link and plot them on my GUI app.

-Regards, Matthew

This post has been edited 1 times, last edit by "MatthewKyeo" (Dec 1st 2017, 6:29pm)


SEGGER - Nino

Super Moderator

Date of registration: Jan 2nd 2017

Posts: 437

2

Monday, December 4th 2017, 11:36am

Hello Matthew,

Thank you for your inquiry.
Systemview is based on SEGGER's RTT rechnology: https://www.segger.com/products/debug-pr…-time-transfer/

So if you want to replace UART with "what Systemview" is using then this is what you want to use.
Sources are available on the website.

If you want to use something like J-Scope that relies on high speed sampling (HSS) then you will need to purchase a J-Link SDK for your company:
https://www.segger.com/products/debug-pr…/tools/j-scope/

Best regards,
Nino

MatthewKyeo

Beginner

Date of registration: Jul 19th 2017

Posts: 40

3

Tuesday, December 5th 2017, 1:44am

If you want to use something like J-Scope that relies on high speed sampling (HSS) then you will need to purchase a J-Link SDK for your company:
https://www.segger.com/products/debug-pr…/tools/j-scope/

Hi, Nino! I definitely don't need the HSS. Thanks for telling me.

I have installed J-Link V6.22a, by the way.





About the source, are you mentioning these "SEGGER_RTT_XXX" API functions?

I have understood that if I use the "SEGGER_RTT_printf()", a message will be transferred and a desktop program, such as the J-Link RTT Viewer, will get this message.

My point is that I want to create a program like this J-Link RTT Viewer on Windows or Mac!

Are there APIs for the desktop RTT applications in the UM08001 document, too?

-Best Regards, Matthew

SEGGER - Nino

Super Moderator

Date of registration: Jan 2nd 2017

Posts: 437

4

Tuesday, December 5th 2017, 9:13am

Hi Matthew,

If you only want to grab basic RTT printf data from Channel0, then you can simply use any telnet client and grab the information with that.
More information about that in point 13.3.4 in the user manual.
If you need more advanced RTT features and more customization options then you will need to purchase the J-Link SDK separately: https://www.segger.com/products/debug-pr…ogy/j-link-sdk/

Best regards,
Nino

MatthewKyeo

Beginner

Date of registration: Jul 19th 2017

Posts: 40

5

Tuesday, December 5th 2017, 5:34pm

Thanks, Nino.

DOC 13.3.4 RTT in other host applications
RTT can also be integrated in any other PC application like a debugger or a data visualizer in either of two ways.


• The application can establish a socket connection to the RTT Telnet Server which is
opened on localhost:19021 when a J-Link connection is active.
• The application creates its own connection to J-Link and uses the J-Link RTT API which
is part of the J-Link SDK to directly configure and use RTT.

The Nordic devzone also posted a tutorial using the telnet command.

Using both, that will solve my case! Thanks for your time! :thumbsup:




SEGGER - Nino

Super Moderator

Date of registration: Jan 2nd 2017

Posts: 437

6

Wednesday, December 6th 2017, 9:01am

Hi Matthew,

Happy to hear that your question is answered.
We will consider this case as closed then.

Best regards,
Nino