[ABANDONED] 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.

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