This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

nrfjproj ERROR: JLinkARM DLL reported an error.

Hello .

I try to connect my JLink to my nrf51422QFAA cunstom board. And I use J-Flash to test ifg it can readback and it is OK. But When I try to use nrfjprog, I got some error.

Here is my command : nrfjprog -e -f nRF51  --log

And I got some error.

ERROR: JLinkARM DLL reported an error. Try again. If error condition
ERROR: persists, run the same command again with argument --log, contact Nordic
ERROR: Semiconductor and provide the generated log.log file to them.

the content in log file is :

2019-Jan-31 15:43:45 --------------------------------------------------------------------------------
2019-Jan-31 15:43:45 nrfjprog -e -f nRF51 --log
2019-Jan-31 15:43:45 nrfjprog version 9.8.1
2019-Jan-31 15:43:45 --------------------------------------------------------------------------------
2019-Jan-31 15:43:45 nRF_open_dll
2019-Jan-31 15:43:45 . nRF51_open_dll
2019-Jan-31 15:43:45 . . nRF51_dll_version
2019-Jan-31 15:43:45 nRF_enum_emu_snr
2019-Jan-31 15:43:45 . nRF51_enum_emu_snr
2019-Jan-31 15:43:45 . . nRF51_enum_emu_snr
2019-Jan-31 15:43:45 nRF_enum_emu_snr
2019-Jan-31 15:43:45 . nRF51_enum_emu_snr
2019-Jan-31 15:43:45 . . nRF51_enum_emu_snr
2019-Jan-31 15:43:45 nRF_connect_to_emu_with_snr
2019-Jan-31 15:43:45 . nRF51_connect_to_emu_with_snr
2019-Jan-31 15:43:45 . . nRF51_is_connected_to_emu
2019-Jan-31 15:43:45 . . nRF51_enum_emu_snr
2019-Jan-31 15:43:45 . . nRF51_connect_to_emu_with_snr
2019-Jan-31 15:43:45 . . . nRF51_connect_to_emu_without_snr
2019-Jan-31 15:43:45 . . . nRF51_connect_to_emu_without_snr: JLink: Firmware: J-Link V9 compiled Oct 25 2018 11:46:07
2019-Jan-31 15:43:45 . . . nRF51_connect_to_emu_without_snr: JLink: Hardware: V9.20
2019-Jan-31 15:43:45 . . . nRF51_connect_to_emu_without_snr: JLink: Feature(s): GDB, RDI, FlashBP, FlashDL, JFlash
2019-Jan-31 15:43:45 . . . nRF51_connect_to_emu_without_snr: JLink: TELNET listener socket opened on port 19021
2019-Jan-31 15:43:45 . . . nRF51_connect_to_emu_without_snr: JLink: WEBSRV Starting webserver
2019-Jan-31 15:43:45 . . . nRF51_connect_to_emu_without_snr: JLink: (0036ms, 0044ms total)
2019-Jan-31 15:43:45 . . . nRF51_connect_to_emu_without_snr: JLink: WEBSRV Webserver running on local port 19080
2019-Jan-31 15:43:45 . . . nRF51_connect_to_emu_without_snr: JLink: (0039ms, 0047ms total)
2019-Jan-31 15:43:45 . . . nRF51_connect_to_emu_without_snr: JLink: returns O.K.
2019-Jan-31 15:43:45 . . . nRF51_connect_to_emu_without_snr: JLink: (0042ms, 0050ms total)
2019-Jan-31 15:43:45 . . . nRF51_connect_to_emu_without_snr: JLink: JLINK_GetHWStatus(...)
2019-Jan-31 15:43:45 . . . nRF51_connect_to_emu_without_snr: JLink: returns 0x00
2019-Jan-31 15:43:45 . . . nRF51_connect_to_emu_without_snr: JLink: (0002ms, 0053ms total)
2019-Jan-31 15:43:45 . . . nRF51_connect_to_emu_without_snr: JLink: JLINK_ExecCommand("Device = nrf51", ...).
2019-Jan-31 15:43:45 . . . nRF51_connect_to_emu_without_snr: JLink: XML file found at: C:\Program Files (x86)\SEGGER\JLink_V640\JLinkDevices.xml
2019-Jan-31 15:43:45 . . . nRF51_connect_to_emu_without_snr: JLink: (0002ms, 0057ms total)
2019-Jan-31 15:43:45 . . . nRF51_connect_to_emu_without_snr: JLink: C:\Program Files (x86)\SEGGER\JLink_V640\JLinkDevices.xml evaluated successfully.
2019-Jan-31 15:43:45 . . . nRF51_connect_to_emu_without_snr: JLink: Device "NRF51822_XXAA" selected.
2019-Jan-31 15:43:45 . . . nRF51_connect_to_emu_without_snr: JLink: Device "NRF51822_XXAA" selected.
2019-Jan-31 15:43:45 . . . nRF51_connect_to_emu_without_snr: JLink: returns 0x00
2019-Jan-31 15:43:45 . . . nRF51_connect_to_emu_without_snr: JLink: (0243ms, 0298ms total)
2019-Jan-31 15:43:45 . . . nRF51_connect_to_emu_without_snr: JLink: JLINK_ExecCommand("SetRestartOnClose = 0", ...).
2019-Jan-31 15:43:45 . . . nRF51_connect_to_emu_without_snr: JLink: returns 0x01
2019-Jan-31 15:43:45 . . . nRF51_connect_to_emu_without_snr: JLink: (0001ms, 0302ms total)
2019-Jan-31 15:43:45 . . . nRF51_connect_to_emu_without_snr: JLink: JLINK_ExecCommand("DisableFlashDL", ...).
2019-Jan-31 15:43:45 . . . nRF51_connect_to_emu_without_snr: JLink: returns 0x00
2019-Jan-31 15:43:45 . . . nRF51_connect_to_emu_without_snr: JLink: (0001ms, 0305ms total)
2019-Jan-31 15:43:45 . . . nRF51_connect_to_emu_without_snr: JLink: JLINK_ExecCommand("SetDbgPowerDownOnClose = 1", ...).
2019-Jan-31 15:43:45 . . . nRF51_connect_to_emu_without_snr: JLink: returns 0x01
2019-Jan-31 15:43:45 . . . nRF51_connect_to_emu_without_snr: JLink: (0002ms, 0308ms total)
2019-Jan-31 15:43:45 . . . nRF51_connect_to_emu_without_snr: JLink: JLINK_ExecCommand("ExcludeFlashCacheRange 0x0-0xFFFFFFFF", ...).
2019-Jan-31 15:43:45 . . . nRF51_connect_to_emu_without_snr: JLink: returns 0x00
2019-Jan-31 15:43:45 . . . nRF51_connect_to_emu_without_snr: JLink: (0001ms, 0311ms total)
2019-Jan-31 15:43:45 . . . nRF51_connect_to_emu_without_snr: JLink: JLINK_SetHookUnsecureDialog(...)
2019-Jan-31 15:43:45 . . . nRF51_connect_to_emu_without_snr: JLink: returns 0
2019-Jan-31 15:43:45 . . . nRF51_connect_to_emu_without_snr: JLink: (0002ms, 0313ms total)
2019-Jan-31 15:43:45 . . . nRF51_connect_to_emu_without_snr: JLink: JLINK_TIF_Select(JLINKARM_TIF_SWD)
2019-Jan-31 15:43:45 . . . nRF51_connect_to_emu_without_snr: JLink: returns 0x00
2019-Jan-31 15:43:45 . . . nRF51_connect_to_emu_without_snr: JLink: (0003ms, 0317ms total)
2019-Jan-31 15:43:45 . . . nRF51_connect_to_emu_without_snr: JLink: JLINK_SetSpeed(2000)
2019-Jan-31 15:43:45 . . . nRF51_connect_to_emu_without_snr: JLink: (0001ms, 0318ms total)
2019-Jan-31 15:43:45 . . . nRF51_connect_to_emu_without_snr: JLinkARM.dll GetSN returned error -1.

2019-Jan-31 15:43:45 . . . nRF51_connect_to_emu_without_snr: JLink: JLINK_Close()
2019-Jan-31 15:43:45 nRF_close_dll
2019-Jan-31 15:43:45 . nRF51_close_dll
2019-Jan-31 15:43:45 . . nRF51_is_connected_to_emu

It hint my problem generate at GetSN phase.

Any idea?

Parents
  • Just in case. If someone else will hit it. Explanation :)

    Chinese clones report "-1" (or 0xFFFFFFFF to be precise, but this is "-1") as serial number. And nrfjprog ( "libjlinkarm_nrfXX_nrfjprog" libraries, to be precise ) check returned serial for negativeness (assumption is that serials are positives and errors are negatives), and therefore assume that GetSN function returned error.

    SEGGER flasher has no problem with those clones. So, if you need to flash, erase of whatever else, you can do it from J-Link programmer. If you need to use nrfjprog specifically, then you need to either patch those libraries (DLLs, SOs or DYLIBs) to exclude that check, or patch your J-link firmware.

Reply
  • Just in case. If someone else will hit it. Explanation :)

    Chinese clones report "-1" (or 0xFFFFFFFF to be precise, but this is "-1") as serial number. And nrfjprog ( "libjlinkarm_nrfXX_nrfjprog" libraries, to be precise ) check returned serial for negativeness (assumption is that serials are positives and errors are negatives), and therefore assume that GetSN function returned error.

    SEGGER flasher has no problem with those clones. So, if you need to flash, erase of whatever else, you can do it from J-Link programmer. If you need to use nrfjprog specifically, then you need to either patch those libraries (DLLs, SOs or DYLIBs) to exclude that check, or patch your J-link firmware.

Children
Related