RTT appears to be broken in v2.46g

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

    • RTT appears to be broken in v2.46g

      I recently updated to jlink tools version 2.46g, and RTT from both JLinkExe and JLinkGDBServer appears not to work at all.

      My specs:

      • JLink tool version: 2.46g
      • OS: Linux, Ubuntu 18.04
      • JLink Adapter: JLink Plus compact
        • Firmware: J-Link V10 compiled Jun 14 2019 19:25:26
        • Hardware version: V10.10
      • MCU: nrf52832_xxaa
      • SEGGER_RTT runtime version (from SEGGER_RTT.h): 6849
        • This is the version bundled with the NRF SDK (version 14.2.0)


      When I start JLinkExe, it runs and connects successfully:

      Source Code

      1. $ JLinkExe -if swd -speed auto -device nrf52 -autoconnect 1
      2. SEGGER J-Link Commander V6.46g (Compiled Jun 14 2019 19:36:40)
      3. DLL version V6.46g, compiled Jun 14 2019 19:36:30
      4. Connecting to J-Link via USB...O.K.
      5. Firmware: J-Link V10 compiled Jun 14 2019 19:25:26
      6. Hardware version: V10.10
      7. S/N: 850100254
      8. License(s): RDI, FlashBP, FlashDL, JFlash, GDB
      9. VTref=3.438V
      10. Device "NRF52" selected.
      11. Connecting to target via SWD
      12. Found SW-DP with ID 0x2BA01477
      13. Found SW-DP with ID 0x2BA01477
      14. Scanning AP map to find all available APs
      15. AP[2]: Stopped AP scan as end of AP map has been reached
      16. AP[0]: AHB-AP (IDR: 0x24770011)
      17. AP[1]: JTAG-AP (IDR: 0x02880000)
      18. Iterating through AP map to find AHB-AP to use
      19. AP[0]: Core found
      20. AP[0]: AHB-AP ROM base: 0xE00FF000
      21. CPUID register: 0x410FC241. Implementer code: 0x41 (ARM)
      22. Found Cortex-M4 r0p1, Little endian.
      23. FPUnit: 6 code (BP) slots and 2 literal slots
      24. CoreSight components:
      25. ROMTbl[0] @ E00FF000
      26. ROMTbl[0][0]: E000E000, CID: B105E00D, PID: 000BB00C SCS-M7
      27. ROMTbl[0][1]: E0001000, CID: B105E00D, PID: 003BB002 DWT
      28. ROMTbl[0][2]: E0002000, CID: B105E00D, PID: 002BB003 FPB
      29. ROMTbl[0][3]: E0000000, CID: B105E00D, PID: 003BB001 ITM
      30. ROMTbl[0][4]: E0040000, CID: B105900D, PID: 000BB9A1 TPIU
      31. ROMTbl[0][5]: E0041000, CID: B105900D, PID: 000BB925 ETM
      32. Cortex-M4 identified.
      33. J-Link>
      Display All


      However, I cannot attach via JLinkRTTClient or by using telnet directly:

      Brainfuck Source Code

      1. $ JLinkRTTClient
      2. ###RTT Client: ************************************************************
      3. ###RTT Client: * SEGGER Microcontroller GmbH *
      4. ###RTT Client: * Solutions for real time microcontroller applications *
      5. ###RTT Client: ************************************************************
      6. ###RTT Client: * *
      7. ###RTT Client: * (c) 2012 - 2016 SEGGER Microcontroller GmbH *
      8. ###RTT Client: * *
      9. ###RTT Client: * www.segger.com Support: support@segger.com *
      10. ###RTT Client: * *
      11. ###RTT Client: ************************************************************
      12. ###RTT Client: * *
      13. ###RTT Client: * SEGGER J-Link RTT Client Compiled Jun 14 2019 19:36:51 *
      14. ###RTT Client: * *
      15. ###RTT Client: ************************************************************
      16. ###RTT Client: -----------------------------------------------
      17. ###RTT Client: Connecting to J-Link RTT Server via localhost:19021 ........
      Display All
      (it hangs here as long as I'll let it)


      Source Code

      1. $ telnet localhost:19021
      2. telnet: could not resolve localhost:19021/telnet: Name or service not known
      With my MCU running identical firmware, and the same JLink, I can successfully get RTT output through Ozone (v2.62e).


      I've not yet tried downgrading my JLink tools, but I will shortly to see if I can find the exact version this regression was introduced in.
    • Correction: I had my telnet command wrong (telnet localhost:19021 instead of telnet localhost 19021). With the corrected command, I'm able to get RTT output for v6.46g (I mistyped this above as v2.46g).

      The issue with JLinkRTTClient appears to have been introduced v6.46e -- v6.46d works. Telnet does work for all versions I've so far tested.