SystemView doesn't work with JLink Remote Server

  • I'm running SystemView 3.60d and JLink V8.24, an embOS example project on a STM32F722 board. I found this seems to be an interesting bug of SystemView or JLink:

    1. SystemView doesn't work with JLink in IP mode (hosted on the same machine), SystemView is not able to start recording, immediately returns error.
    JLink log (jlinkip.log):
    ```
    T2D78 524:320.416 JLINK_IsHalted()
    T2D78 524:321.632 - 1.257ms returns FALSE
    T2D78 524:321.696 JLINK_RTTERMINAL_Control(Cmd = JLINKARM_RTTERMINAL_CMD_START)
    T2D78 524:321.728 - 0.008ms returns 0xFFFFFFFF
    T2D78 524:333.152 JLINK_IsHalted()
    T2D78 524:334.080 - 0.905ms returns FALSE
    T2D78 524:334.144 JLINK_RTTERMINAL_Control(Cmd = JLINKARM_RTTERMINAL_CMD_GETNUMBUF)
    T2D78 524:334.144 - 0.008ms returns 0xFFFFFFFF
    T2D78 524:365.312 JLINK_Close()
    ```
    2. SystemView doesn't work in USB mode, when JLink remote server is running in the background (no connection from other clients). SystemView tries to start, times out and returns error.
    JLink log (jlinkusb2.log):
    ```
    T7678 1311:697.152 JLINK_IsHalted()
    T7678 1311:698.304 - 1.239ms returns FALSE
    T7678 1311:698.304 JLINK_RTTERMINAL_Control(Cmd = JLINKARM_RTTERMINAL_CMD_START)
    T7678 1311:698.432 - 0.089ms returns 0x00
    T7678 1311:709.056 JLINK_IsHalted()
    T7678 1311:709.952 - 0.924ms returns FALSE
    T7678 1311:710.080 JLINK_RTTERMINAL_Control(Cmd = JLINKARM_RTTERMINAL_CMD_GETNUMBUF)
    T7678 1311:710.208 - 0.106ms returns 0xFFFFFFFE
    T7678 1311:715.456 JLINK_RTTERMINAL_Control(Cmd = JLINKARM_RTTERMINAL_CMD_GETNUMBUF)
    .....(duplicates)......
    .....(No CPU_ReadMem log at all)
    ```
    3. SystemView can start in USB mode, if no JLink remote server is running:
    JLink log (jlinkusb.log):
    ```
    T5690 240:536.752 JLINK_IsHalted()
    T5690 240:537.264 - 0.507ms returns FALSE
    T5690 240:537.264 JLINK_RTTERMINAL_Control(Cmd = JLINKARM_RTTERMINAL_CMD_START)
    T5690 240:537.296 - 0.007ms returns 0x00
    T3EF8 240:537.312 CPU_ReadMem(4 bytes @ 0xE000ED00)
    T3EF8 240:538.144 CPU_ReadMem(4 bytes @ 0xE000ED08)
    T3EF8 240:538.656 CPU_ReadMem(4 bytes @ 0x08000020)
    T3EF8 240:539.088 Periodic RTT: Looking for RTT CB @ 0x20020000 (Range 1/5)
    T3EF8 240:539.104 CPU_ReadMem(4096 bytes @ 0x20020000)
    T5690 240:561.792 JLINK_IsHalted()
    T5690 240:562.432 - 0.641ms returns FALSE
    T5690 240:562.464 JLINK_RTTERMINAL_Control(Cmd = JLINKARM_RTTERMINAL_CMD_GETNUMBUF)
    T5690 240:562.464 - 0.006ms returns 0xFFFFFFFE
    T5690 240:567.808 JLINK_RTTERMINAL_Control(Cmd = JLINKARM_RTTERMINAL_CMD_GETNUMBUF)
    T5690 240:567.808 - 0.014ms returns 0xFFFFFFFE
    ......(duplicates with some CPU_ReadMem log)......
    T5690 242:661.856 JLINK_RTTERMINAL_Control(Cmd = JLINKARM_RTTERMINAL_CMD_GETNUMBUF)
    T5690 242:661.856 - 0.013ms returns 0x03
    T5690 242:667.136 JLINK_RTTERMINAL_Control(Cmd = JLINKARM_RTTERMINAL_CMD_GETDESC)
    T5690 242:667.136 CPU_ReadMem(144 bytes @ 0x20000588)
    T5690 242:668.848 CPU_ReadMem(32 bytes @ 0x08005481)
    T5690 242:670.080 CPU_ReadMem(32 bytes @ 0x08005530)
    T5690 242:671.024 CPU_ReadMem(32 bytes @ 0x08005481)
    T5690 242:672.080 - 4.937ms returns 0x00
    ```

    At the meantime, SEGGER_RTT (terminal) always works.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!