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

This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

  • [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.

    [img]https://doc.qt.io/qt-5/images/examples_chartthemes_light.png[/img]

    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
    -Best Regards, Matthew

    The post was edited 1 time, last by MatthewKyeo ().

  • Hello Matthew,

    Thank you for your inquiry.
    Systemview is based on SEGGER's RTT rechnology: segger.com/products/debug-prob…about-real-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:
    segger.com/products/debug-probes/j-link/tools/j-scope/

    Best regards,
    Nino
    Please read the forum rules before posting.

    Keep in mind, this is *not* a support forum.
    Our engineers will try to answer your questions between their projects if possible but this can be delayed by longer periods of time.
    Should you be entitled to support you can contact us via our support system: segger.com/ticket/

    Or you can contact us via e-mail.
  • SEGGER - Nino wrote:

    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:
    segger.com/products/debug-probes/j-link/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
    -Best Regards, Matthew
  • 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: segger.com/products/debug-prob…nk/technology/j-link-sdk/

    Best regards,
    Nino
    Please read the forum rules before posting.

    Keep in mind, this is *not* a support forum.
    Our engineers will try to answer your questions between their projects if possible but this can be delayed by longer periods of time.
    Should you be entitled to support you can contact us via our support system: segger.com/ticket/

    Or you can contact us via e-mail.
  • 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:



    -Best Regards, Matthew
  • Hi Matthew,

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

    Best regards,
    Nino
    Please read the forum rules before posting.

    Keep in mind, this is *not* a support forum.
    Our engineers will try to answer your questions between their projects if possible but this can be delayed by longer periods of time.
    Should you be entitled to support you can contact us via our support system: segger.com/ticket/

    Or you can contact us via e-mail.