JLink hangs after reset from nrfjprog v10.10+

Hi,

I was using JLink v7.50a with nrfjprog 10.9.0 and debug were working fine on Ubuntu 20.10 using SWD pins and JLink RTT. After changing to Ubuntu 21.10 and installing up to date version of both programs, my JLinkRTTViewer was hanging (no more logs) after executing a nrfjprog -r or nrfjprog -p.

I then thought it was a problem with JLink auto-detection feature, but I've checked that a reset with the reset button of our boards didn't cause the JLink logs to hang.

So it seems that nrfjprog is messing with something on SWD protocol (?) and the Inteface MCU can't get back to the RTT logs?

I've made some tests with other versions nrfjprog and JLink. Tests made on Ubuntu 21.10 (kernel 5.13.0-23-generic), with our nrf52840 custom board and using Nina B302-EVK (the interface MCU should work the same as nRF52840-DK, right?). Our board has zephyr vanilla FW inside with RTT enabled. To get the logs we use the following:

JLinkExe -device NRF52840_XXAA -if SWD -speed 20000 -autoconnect 1

# on other terminal:

JLinkRTTClient

The problem was the same using JLinkRTTLogger or JLinkRTTViewer.

Results for different versions:

10.9      with 7.50a -> ok
10.10    with 7.50a -> not ok
10.12    with 7.50a -> not ok
10.13    with 7.50a (default) -> not ok
10.15.1 with 7.58b (default) -> not ok
10.15.1 with 7.60b -> not ok
10.15.1 with 7.50a -> not ok

 

Could you reproduce this problem at your sides?

Thanks!

Best,

Parents Reply
  • nrfjprog will force the chip out of Debug Interface mode when you perform a reset, which is typically what you want after loading a new FW image. But this will also kill any active RTT sessions. If the chip had remained in debug mode it would have increased the overall power consumption of your device.

    The workaround is to keep the debug session active by resetting the device from a Jlink commander session, or re-establish the debugger connection after a nrfjprog reset.

Children
No Data
Related