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

Bricked nRF52832 with Segger J-link, can't recover it

After setting up the tool chain and confirm it is compiling correctly by flashing the Proximity build into the dev kit PCA10040 and confirmed with the Android App it is fully working. Now I wanted to try out my board my own designed board and flash the same files (softdevice and application) into the nRF52832 with nRFgo Studion and a Segger J-link. Loading of the softdevice (S132) worked, but loading of the application failed and now I cannot connect to the chip anymore. 

Pressing the recover button in nRFGo Studio it is not resolving the issue. 

Parents
  • Please try to use nrfjprog.exe tool to recover/programming. Make sure you select --family NRF52. 

    Please try to test first using non-softdevice application, for example blinky application. 

  • I've tried to recover it with nrfjprog, but it gives the following error;

    nrfjprog.exe -f NRF52 --recover --log

    WARNING: No logging will be possible since nrfjprog.exe has no write permission
    WARNING: to the current directory.
    Recovering device. This operation might take 30s.
    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 log file is as follows:

    --------------------------------------------------------------------------------
    nrfjprog.exe -f NRF52 --recover --log
    nrfjprog verion 8.5.0
    --------------------------------------------------------------------------------
    FUNCTION: open_dll.
    FUNCTION: open_dll.
    FUNCTION: enum_emu_snr.
    FUNCTION: enum_emu_snr.
    FUNCTION: enum_emu_snr.
    FUNCTION: enum_emu_snr.
    FUNCTION: connect_to_emu_with_snr.
    FUNCTION: connect_to_emu_with_snr.
    FUNCTION: connect_to_emu_without_snr.
    FUNCTION: enum_emu_snr.
    Device "NRF52832_XXAA" selected.
    FUNCTION: recover.
    FUNCTION: recover.
    Found SWD-DP with ID 0x2BA01477
    Could not power-up debug power domain.
    AP-IDR: 0x00000000, Type: JTAG-AP
    Found SWD-DP with ID 0x2BA01477
    Could not power-up debug power domain.
    AP-IDR: 0x00000000, Type: JTAG-AP
    JLinkARM.dll Connect returned error -261.
    Found SWD-DP with ID 0x2BA01477
    Could not power-up debug power domain.
    AP-IDR: 0x00000000, Type: JTAG-AP
    Found SWD-DP with ID 0x2BA01477
    Could not power-up debug power domain.
    AP-IDR: 0x00000000, Type: JTAG-AP
    JLinkARM.dll Connect returned error -261.
    Found SWD-DP with ID 0x2BA01477
    Could not power-up debug power domain.
    AP-IDR: 0x00000000, Type: JTAG-AP
    Found SWD-DP with ID 0x2BA01477
    Could not power-up debug power domain.
    AP-IDR: 0x00000000, Type: JTAG-AP
    JLinkARM.dll Connect returned error -261.
    Found SWD-DP with ID 0x2BA01477
    Could not power-up debug power domain.
    AP-IDR: 0x00000000, Type: JTAG-AP
    Found SWD-DP with ID 0x2BA01477
    Could not power-up debug power domain.
    AP-IDR: 0x00000000, Type: JTAG-AP
    JLinkARM.dll Connect returned error -261.
    Found SWD-DP with ID 0x2BA01477
    Could not power-up debug power domain.
    AP-IDR: 0x00000000, Type: JTAG-AP
    Found SWD-DP with ID 0x2BA01477
    Could not power-up debug power domain.
    AP-IDR: 0x00000000, Type: JTAG-AP
    JLinkARM.dll Connect returned error -261.
    Found SWD-DP with ID 0x2BA01477
    Could not power-up debug power domain.
    AP-IDR: 0x00000000, Type: JTAG-AP
    Found SWD-DP with ID 0x2BA01477
    Could not power-up debug power domain.
    AP-IDR: 0x00000000, Type: JTAG-AP
    JLinkARM.dll Connect returned error -261.
    Found SWD-DP with ID 0x2BA01477
    Could not power-up debug power domain.
    AP-IDR: 0x00000000, Type: JTAG-AP
    Found SWD-DP with ID 0x2BA01477
    Could not power-up debug power domain.
    AP-IDR: 0x00000000, Type: JTAG-AP
    JLinkARM.dll Connect returned error -261.
    Found SWD-DP with ID 0x2BA01477
    Could not power-up debug power domain.
    AP-IDR: 0x00000000, Type: JTAG-AP
    Found SWD-DP with ID 0x2BA01477
    Could not power-up debug power domain.
    AP-IDR: 0x00000000, Type: JTAG-AP
    JLinkARM.dll Connect returned error -261.
    Found SWD-DP with ID 0x2BA01477
    Could not power-up debug power domain.
    AP-IDR: 0x00000000, Type: JTAG-AP
    Found SWD-DP with ID 0x2BA01477
    Could not power-up debug power domain.
    AP-IDR: 0x00000000, Type: JTAG-AP
    JLinkARM.dll Connect returned error -261.
    Found SWD-DP with ID 0x2BA01477
    Could not power-up debug power domain.
    AP-IDR: 0x00000000, Type: JTAG-AP
    Found SWD-DP with ID 0x2BA01477
    Could not power-up debug power domain.
    AP-IDR: 0x00000000, Type: JTAG-AP
    JLinkARM.dll Connect returned error -261.
    Found SWD-DP with ID 0x2BA01477
    Could not power-up debug power domain.
    AP-IDR: 0x00000000, Type: JTAG-AP
    Found SWD-DP with ID 0x2BA01477
    Could not power-up debug power domain.
    AP-IDR: 0x00000000, Type: JTAG-AP
    JLinkARM.dll Connect returned error -261.
    Found SWD-DP with ID 0x2BA01477
    Could not power-up debug power domain.
    AP-IDR: 0x00000000, Type: JTAG-AP
    Found SWD-DP with ID 0x2BA01477
    Could not power-up debug power domain.
    AP-IDR: 0x00000000, Type: JTAG-AP
    JLinkARM.dll Connect returned error -261.
    Found SWD-DP with ID 0x2BA01477
    Could not power-up debug power domain.
    AP-IDR: 0x00000000, Type: JTAG-AP
    Found SWD-DP with ID 0x2BA01477
    Could not power-up debug power domain.
    AP-IDR: 0x00000000, Type: JTAG-AP
    JLinkARM.dll Connect returned error -261.
    Found SWD-DP with ID 0x2BA01477
    Could not power-up debug power domain.
    AP-IDR: 0x00000000, Type: JTAG-AP
    Found SWD-DP with ID 0x2BA01477
    Could not power-up debug power domain.
    AP-IDR: 0x00000000, Type: JTAG-AP
    JLinkARM.dll Connect returned error -261.
    Found SWD-DP with ID 0x2BA01477
    Could not power-up debug power domain.
    AP-IDR: 0x00000000, Type: JTAG-AP
    Found SWD-DP with ID 0x2BA01477
    Could not power-up debug power domain.
    AP-IDR: 0x00000000, Type: JTAG-AP
    JLinkARM.dll Connect returned error -261.
    Found SWD-DP with ID 0x2BA01477
    Could not power-up debug power domain.
    AP-IDR: 0x00000000, Type: JTAG-AP
    Found SWD-DP with ID 0x2BA01477
    Could not power-up debug power domain.
    AP-IDR: 0x00000000, Type: JTAG-AP
    JLinkARM.dll Connect returned error -261.
    Found SWD-DP with ID 0x2BA01477
    Could not power-up debug power domain.
    AP-IDR: 0x00000000, Type: JTAG-AP
    Found SWD-DP with ID 0x2BA01477
    Could not power-up debug power domain.
    AP-IDR: 0x00000000, Type: JTAG-AP
    JLinkARM.dll Connect returned error -261.
    Found SWD-DP with ID 0x2BA01477
    Could not power-up debug power domain.
    AP-IDR: 0x00000000, Type: JTAG-AP
    Found SWD-DP with ID 0x2BA01477
    Could not power-up debug power domain.
    AP-IDR: 0x00000000, Type: JTAG-AP
    JLinkARM.dll Connect returned error -261.
    Found SWD-DP with ID 0x2BA01477
    Could not power-up debug power domain.
    AP-IDR: 0x00000000, Type: JTAG-AP
    Found SWD-DP with ID 0x2BA01477
    Could not power-up debug power domain.
    AP-IDR: 0x00000000, Type: JTAG-AP
    JLinkARM.dll Connect returned error -261.
    Found SWD-DP with ID 0x2BA01477
    Could not power-up debug power domain.
    AP-IDR: 0x00000000, Type: JTAG-AP
    Found SWD-DP with ID 0x2BA01477
    Could not power-up debug power domain.
    AP-IDR: 0x00000000, Type: JTAG-AP
    JLinkARM.dll Connect returned error -261.
    Found SWD-DP with ID 0x2BA01477
    Could not power-up debug power domain.
    AP-IDR: 0x00000000, Type: JTAG-AP
    Found SWD-DP with ID 0x2BA01477
    Could not power-up debug power domain.
    AP-IDR: 0x00000000, Type: JTAG-AP
    JLinkARM.dll IsHalted returned error -1.
    FUNCTION: close_dll.
    FUNCTION: close_dll.

  • It's hard to tell what can be wrong. The programmer complains that Could not power-up debug power domain. 

    My suggestion is to try testing on an unpopulated board without any other components, make sure the SWD pins are connected properly and the chip and the debugger share the same ground (not just ground detect pin in the header)

  • I see you're using quite an old version of nRFJProg, could you try to update it? There are some stability improvements when it comes to recover on the newer versions that might benefit you.

  • Have you updated the Segger J-Link firmware on the pc and on the board?  Are you powering your board up independently of the Dev kit?  This is a must. 

  • updated everything to the latest version, see log below;

    --------------------------------------------------------------------------------
    nrfjprog.exe --recover --log
    nrfjprog verion 9.7.1
    --------------------------------------------------------------------------------
    FUNCTION: open_dll.
    FUNCTION: open_dll.
    FUNCTION: enum_emu_snr.
    FUNCTION: enum_emu_snr.
    FUNCTION: enum_emu_snr.
    FUNCTION: enum_emu_snr.
    FUNCTION: connect_to_emu_with_snr.
    FUNCTION: connect_to_emu_with_snr.
    FUNCTION: connect_to_emu_without_snr.
    FUNCTION: enum_emu_snr.
    Device "NRF52832_XXAA" selected.
    FUNCTION: read_connected_emu_snr.
    FUNCTION: read_connected_emu_snr.
    FUNCTION: read_device_family.
    FUNCTION: read_device_family.
    JLinkARM.dll CORESIGHT_WriteAPDPReg returned error -1.
    JLinkARM.dll CORESIGHT_WriteAPDPReg returned error -102.
    FUNCTION: close_dll.
    FUNCTION: close_dll.

  • stripped all the parts from the board, only left the nRF52832 on it and is now supplied by the programmer. Verified that SWDCLK and SWDIO are connected correctly (chip to programmer) and not shorted. Still the same. 

Reply Children
No Data
Related