[SOLVED] J-Scope shows no data, but JLinkRTTLogger works

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

  • [SOLVED] J-Scope shows no data, but JLinkRTTLogger works

    Really happy to get new J-Scope versions, thanks for that! Sadly, it does not work for me; does anybody has/had the same problem and a solution?

    OS: Win10 (tried on three different PCs), Fedora34 (both 64 Bit)
    J-Link hardware: J-Link Edu 9.3, latest firmware
    J-Link software tried (same results): 7.54, 7.55a (beta) (64 Bit and 32 Bit, as normal user and as admin)

    Target: STM32F103C8 using RTT, both with and without rtt_time information at beginning of RTT buffer

    What works:
    - connecting target to J-Link and firmware download
    - using JLinkRTTLogger to connect to target, find control block and log data to file
    - old 6.11m J-Scope works, displays data
    - starting J-Scope 7.5x, setup for MCU, RTT, 4MHz
    - J-Scope 7.5x always finds the control block and displays the correct amount and data size of the variables in the lower section (without actual values).

    What does not work:
    - Main issue: J-Scope 7.5x does not show any values, neither in graph nor in variables list (target is running and feeding data).
    - Clicking the "pause" button does not always toggle the button symbol.
    - Normally, it is possible to click on the variables row in the bottom section to change scaling etc. This is not possible, the highlighting (blue bar) immediately vanishes.
    - It looks like the screen is always redrawn, there is a coloured block flickering in front of the first variable.
    - In one try, by clicking on the "pause" button and having 10s/div time base setting, the correct live data was plotted, but the rigger point was far off to the left (invisible) and it seemed to continue invisibly drawing far to right, although "Autoscroll" was checked. No further data update was happening after this. Could not reproduce this.
    - Minor issue: saving a profile does not work in the first try, the project file dialog appears and seems all good, but no file is created.

    Any hint? Thanks in advance!
  • Hello,

    The recent version of J-Scope was a major rework that still has some bugs to iron out, so thanks for your detailed feedback :)

    Regarding the main issue: Is it possible for you to provide the .elf file and .jscope project file? I´ve had a quick look with a generic RTT setup and this works as expected.

    The pause button and saving issues are reproduceable and will be addressed as soon as possible.

    I was not able to reproduce the behaviour that you mentioned where the variables are not selectable in the bottom table. Does this only occur unter special circumstances?

    Best regards
    Matthias
    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.
  • Hi, thanks for your reply, sorry for my delay. I really appreciate that J-Scope is being re-born :)

    I realized that I was still using some v6.xx RTT headers and sources on the target. I updated to the recent version, but this did not help, i.e. J-Scope does not show data, but RTTLogger works, as before.

    Unfortunately, due to NDA I can't provide the .elf. But this is my init for RTT in main on target, RTT headers and sources are unchanged:

    Source Code

    1. char JS_RTT_UpBuffer[1024];
    2. int JS_RTT_Channel = 1;
    3. U32 js_rtt_time_us = 0;
    4. SEGGER_RTT_ConfigUpBuffer(JS_RTT_Channel, "JScope_t4i2i2", &JS_RTT_UpBuffer[0], sizeof(JS_RTT_UpBuffer), SEGGER_RTT_MODE_NO_BLOCK_SKIP);

    Then, in a periodic interrupt data is sent:

    Source Code

    1. #pragma pack(push, 1)
    2. struct {
    3. uint32_t time;
    4. int16_t var1;
    5. int16_t var2;
    6. } rtt_buffer;
    7. #pragma pack(pop)
    8. js_rtt_time_us += 42u; // 42us interrupt timing
    9. rtt_buffer.time = js_rtt_time_us;
    10. rtt_buffer.var1 = foo;
    11. rtt_buffer.var2 = bar;
    12. SEGGER_RTT_Write(JS_RTT_Channel, &rtt_buffer, sizeof(rtt_buffer));
    Display All
    Compiler is IAR. The old J-Scope used to work with same settings and same interrupt frequency.

    For each test I create a new .jscope project, i.e. I don't use a config file (for now).
    Settings are USB, STM32F103C8, SWD 12MHz (tried 4MHz, too), RTT

    When J-Scope is not paused, the colored blocks in front of each variable line and the trigger block always flicker. For me, this happens always and then I can't select the line, background of the line stays white. Only when sampling is stopped (not paused), then the colored blocks stop flickering and I can at least open the right-click menu for each variable.
  • Hello,

    your RTT usage looks good.

    There was indeed an issue with the displaying of RTT data that matches your description. This issue was resolved with V7.54b of the J-Link software package.

    Thank you for bringing this to our attention.

    Best regards,
    Matthias
    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, I tried both V7.54b and V7.55b beta.
    With same target firmware, J-Scope now displays data and I can scale the graphs etc.

    Although the original bug is resolved, J-Scope still crashes when loading a .jscope config file created with the same version. config file is attached (added .txt only for upload since forum does not allow .jscope extension) Error log in terminal:

    Source Code

    1. Object::connect: No such slot GraphContainer::_SlotOnContextMenuRequested(const QPoint &)
    2. Object::connect: No such signal MainWindow::_SignalUpdateSymbolSelection()
    3. QLayout: Attempting to add QLayout "" to NewProjectDialog "", which already has a layout
    4. QLayout: Attempting to add QLayout "" to NewProjectDialog "", which already has a layout
    5. QObject::connect: Incompatible sender/receiver arguments
    6. TIFSpeedComboBox::SignalSpeedChanged() --> NewProjectDialog::_SlotOnChangedCmbBxSpeed(int)
    7. QLayout: Attempting to add QLayout "" to NewProjectDialog "", which already has a layout
    8. Waiting until RTT Control Block is found...Speicherzugriffsfehler (Speicherabzug geschrieben)


    The "Pause" button sometimes does not pause the recording, did not figure out the logic behind. If it does pause and autoscroll is checked, zero data is autoscrolled instead if freezing the last received data. Only clicking the stop button freezes the last data. "Pause" with freezing data (and autoscroll enabled) is handy, would be cool if J-Scope gets further polishing. Thanks!
    Files
  • hdgb wrote:

    Although the original bug is resolved, J-Scope still crashes when loading a .jscope config file created with the same version. config file is attached (added .txt only for upload since forum does not allow .jscope extension) Error log in terminal:
    Hello,

    thank you for the feedback.

    I was sometimes able to reproduce the crash issue, but it does not seem to be consistent. I will have a look into fixing this issue.

    Regarding the Pause button:
    The current behaviour of the pause button only pauses the recording of samples. When it is pressed, sampling continues in the background, but every incoming sample is discarded and only the corresponding timestamps are added. This causes the graph to flatline and keep moving when paused.
    I will have a discussion with my colleague if this behaviour may be changed to discard the timestamps as well or maybe keep the current behaviour and only stop the graph from scrolling when paused.

    Best regards,
    Matthias
    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.
  • Meanwhile, the updated versions of JScope work for me ok'ish, sometimes I get a "Speicherzugriffsfehler" and it crashes, project saving still does not work for RTT projects. Anyway, the inital bug why this thread was started is solved and it can be closed. Thanks again!