Hi there. We are using JLink [V6.84a] to download code to our test boards and then do RTT logging in a multiply parallel environment, i.e. we have many boards (Nordic NRF52/53) connected to the [Windows 10] PC in question. All operation is controlled through Python [3.8.5] scripts. Each board serial number is specifically addressed with the -USB parameter in the call to J-Link. We have a lock in place so that JLink is never called to download to two boards at the same time.
Our problem is that about 1 in 10 times J-Link freezes: does nothing whatsoever, no prints, nothing, just sits there. This occurs when a board has been running J-Link for RTT logging and that J-Link executable is terminated to do the next thing, which is a J-Link download of new SW to the same board: on launching J-Link to do that download it freezes. It doesn't happen all the time but it does happen frequently enough to flash red lights on our CI display much of the time, so we need to fix it, but we're all out of ideas.
Every J-Link session is a Python subprocess. The RTT logging session is terminated using subprocess.terminate(). We retry after 60 seconds of "frozen" but that doesn't help. We've tried resetting the USB port in question, at Windows device level, after a failure but that doesn't help. The only thing that fixes it is physically powering down the board and powering it back on again.
Has anyone any suggestion for any workarounds we might apply?
The debugger FW versions on the boards in question are:
Our problem is that about 1 in 10 times J-Link freezes: does nothing whatsoever, no prints, nothing, just sits there. This occurs when a board has been running J-Link for RTT logging and that J-Link executable is terminated to do the next thing, which is a J-Link download of new SW to the same board: on launching J-Link to do that download it freezes. It doesn't happen all the time but it does happen frequently enough to flash red lights on our CI display much of the time, so we need to fix it, but we're all out of ideas.
Every J-Link session is a Python subprocess. The RTT logging session is terminated using subprocess.terminate(). We retry after 60 seconds of "frozen" but that doesn't help. We've tried resetting the USB port in question, at Windows device level, after a failure but that doesn't help. The only thing that fixes it is physically powering down the board and powering it back on again.
Has anyone any suggestion for any workarounds we might apply?
The debugger FW versions on the boards in question are:
- J-Link OB-SAM3U128-V2-NordicSemi compiled Mar 17 2020 14:43:00 V1.0
- SEGGER J-Link ARM V10.1
- J-Link OB-K22-NordicSemi compil V1.00
The post was edited 4 times, last by RobMeades ().