nRF52833 chips are consistently becoming bricked and un-programmable via SWD

Hi folks,

I'm attempting to program an nRF52833 using a Segger J-Link+ connected to the SWD program/debug pins on the board.The board is only an nRF52833 - as a learning exercise, I printed a PCB that extends the pins on a QFN40 package to standard 2.54mm spaced pins. I'm powering the board using a 3.3V power supply, and using the 3.3V input as the VRef for the J-Link. The programming itself is being done via Segger JFlashLite, over SWD, at 4000 kHz. The software being uploaded is a .hex file provided by Qorvo for product of theirs that utilizes with an nRF52833 (the DWM3001C chip). I have a total of 5 of these boards.

At first, when I program the board, everything is successful. JFlashLite confirms that the programming succeeded and I'm able to interact with the board over UART (as is expected from the program uploaded). After some amount of re-programming (after modifying the software), normally between 5 and 10 times, the J-Link stops being able to connect to the board and consistently encounters the error "Unable to connect to target" when attempting to program. When I attempt to connect to the board using JFlashExe to debug, it also fails with the error "Unable to connect to target". This has now happened to all 5 of my boards, and once they enter this state they appear to be bricked - they cannot be re-programmed and they cannot be interacted with over UART. Upon further inspection, I've discovered that one of the traces in my breadboard has a spotty connection and occasionally doesn't correctly connect the JLink SWD_CLK/SWD_IO pins to the corresponding pins on the board, if that has any significance (I have since tried programming the boards in different locations and they're still bricked).

I've attempted to use nrfutils to recover the device as per this doc page: https://docs.nordicsemi.com/bundle/nrfutil/page/nrfutil-device/guides/programming_recovery.html, but this also fails with an error suggesting that the JLink is unable to connect to the target device. I have also attempted cycling the RESET pin high & low while programming and this also does nothing to recover the board.

At this point, I'm at a loss. I'm particularly confused because the programming does appear to work most of the time, but occasionally it ends up in this corrupted state that I can't appear to recover from. Any support on how I could recover these would be much appreciated. Cheers.

  • Specific recovery command run:

    ~/nrfutil device recover --serial-number 69655908 --x-family nrf52 --log-level debug --log-output file

    Output:

    [2025-01-30T06:18:46.930Z] [34435] INFO - nrfutil-device (version = 2.7.12, platform = x86_64-apple-darwin) invoked with recover --serial-number 69655908 --x-family nrf52 --log-level debug --log-output file --json-pretty
    [2025-01-30T06:18:46.932Z] [34435] INFO - Starting parent process watchdog, current parent process ID: 34434
    [2025-01-30T06:18:46.932Z] [34435] DEBUG - cargo = false, force_libnrfdl_lookup = false, force_nrfutil_libdir = false
    [2025-01-30T06:18:46.932Z] [34435] DEBUG - Creating the nrfdl context via nrfdl_create_context_with_config: Plugin location is assumed to be /Users/aidaneglin/.nrfutil/lib/nrfutil-device
    [2025-01-30T06:18:47.063Z] [34435] INFO - [ProbeLib] [2025-01-30 06:18:47.063604Z] Opened J-Link DLL at /Applications/SEGGER/JLink/libjlinkarm.dylib with version 8.12b
    [2025-01-30T06:18:47.084Z] [34435] DEBUG - [jlink] [NRFJPROG][Client][-] open
    [2025-01-30T06:18:47.084Z] [34435] DEBUG - [jlink] [NRFJPROG][Client][-] start
    [2025-01-30T06:18:47.116Z] [34435] DEBUG - [jlink] [NRFJPROG][SeggerBackend][-] Logger sink registered in Segger backend logger
    [2025-01-30T06:18:47.116Z] [34435] DEBUG - [jlink] [NRFJPROG][JLink][-] Logger sink registered in JLink logger
    [2025-01-30T06:18:47.116Z] [34435] DEBUG - [jlink] [NRFJPROG][nRFXX][-] open
    [2025-01-30T06:18:47.128Z] [34435] DEBUG - [jlink] [NRFJPROG][nRFXX][-] just_check_family
    [2025-01-30T06:18:47.128Z] [34435] DEBUG - [jlink] [NRFJPROG][SeggerBackend][-] open_dll
    [2025-01-30T06:18:47.128Z] [34435] DEBUG - [jlink] [NRFJPROG][SeggerBackend][-] No J-Link DLL path was provided. Attempting to auto detect.
    [2025-01-30T06:18:47.128Z] [34435] DEBUG - [jlink] [NRFJPROG][SeggerBackend][-] Set batch mode
    [2025-01-30T06:18:47.128Z] [34435] DEBUG - [jlink] [NRFJPROG][SeggerBackend][-] dll_version
    [2025-01-30T06:18:47.129Z] [34435] DEBUG - [jlink] [NRFJPROG][Client][-] jlink_dll_version
    [2025-01-30T06:18:47.138Z] [34435] DEBUG - [jlink] [NRFJPROG][nRFXX][-] dll_version
    [2025-01-30T06:18:47.138Z] [34435] DEBUG - [jlink] [NRFJPROG][SeggerBackend][-] is_connected_to_emu
    [2025-01-30T06:18:47.138Z] [34435] DEBUG - [jlink] [NRFJPROG][SeggerBackend][-] dll_version
    [2025-01-30T06:18:47.138Z] [34435] DEBUG - [jlink] [NRFJPROG][SeggerBackend][-] is_connected_to_emu
    [2025-01-30T06:18:47.138Z] [34435] DEBUG - [jlink] [NRFJPROG][nRFXX][-] close
    [2025-01-30T06:18:47.138Z] [34435] DEBUG - [jlink] [NRFJPROG][SeggerBackend][-] is_connected_to_emu
    [2025-01-30T06:18:47.138Z] [34435] DEBUG - [jlink] [NRFJPROG][SeggerBackend][-] close
    [2025-01-30T06:18:47.138Z] [34435] DEBUG - [jlink] [NRFJPROG][SeggerBackend][-] disconnect_from_emu
    [2025-01-30T06:18:47.138Z] [34435] DEBUG - [jlink] [NRFJPROG][SeggerBackend][-] is_connected_to_emu
    [2025-01-30T06:18:47.138Z] [34435] DEBUG - [jlink] [NRFJPROG][SeggerBackend][-] Segger Backend closed.
    [2025-01-30T06:18:47.138Z] [34435] DEBUG - [jlink] [NRFJPROG][nRFXX][-] nRF family DLL closed
    [2025-01-30T06:18:47.150Z] [34435] DEBUG - [jlink] [NRFJPROG][Client][-] terminate
    [2025-01-30T06:18:47.172Z] [34435] DEBUG - [jlink] [NRFJPROG][Client][-] Child process terminated with result 0
    [2025-01-30T06:18:47.172Z] [34435] DEBUG - [jlink] [NRFJPROG][Client][-] Worker process exited with code: 0
    [2025-01-30T06:18:47.172Z] [34435] DEBUG - [jlink] [NRFJPROG][Client][-] Worker process exited with code: 0
    [2025-01-30T06:18:47.172Z] [34435] DEBUG - [jlink] [NRFJPROG][Client][-] terminate
    [2025-01-30T06:18:47.181Z] [34435] WARN - [JlinkARM] nrfutil device commands were tested using SEGGER J-Link version JLink_V8.10f, but the J-Link version you are using is JLink_V8.12b. Your installed version will most likely work fine, but if you get issues related to J-Link with your devices, use the tested version
    [2025-01-30T06:18:47.183Z] [34435] DEBUG - operation to get devices for : Ok("{\"family\":\"NRF52_FAMILY\",\"operations\":[{\"operation\":{\"type\":\"recover\"},\"core\":\"NRFDL_DEVICE_CORE_APPLICATION\"}]}")
    [2025-01-30T06:18:47.183Z] [34435] DEBUG - USBLister: enumerate
    [2025-01-30T06:18:47.183Z] [34435] DEBUG - usb-lister-rs: UsbContext::Apple: Apple USB enumerate.
    [2025-01-30T06:18:47.184Z] [34435] INFO - usb-lister-rs: UsbContext::Apple: skip apple product
    [2025-01-30T06:18:47.184Z] [34435] INFO - usb-lister-rs: UsbContext::Apple: skip apple product
    [2025-01-30T06:18:47.184Z] [34435] INFO - usb-lister-rs: UsbContext::Apple: skip apple product
    [2025-01-30T06:18:47.184Z] [34435] INFO - usb-lister-rs: UsbContext::Apple: skip apple product
    [2025-01-30T06:18:47.184Z] [34435] INFO - usb-lister-rs: UsbContext::Apple: skip apple product
    [2025-01-30T06:18:47.184Z] [34435] INFO - usb-lister-rs: UsbContext::Apple: skip apple product
    [2025-01-30T06:18:47.184Z] [34435] INFO - usb-lister-rs: UsbContext::Apple: skip apple product
    [2025-01-30T06:18:47.184Z] [34435] INFO - usb-lister-rs: UsbContext::Apple: skip apple product
    [2025-01-30T06:18:47.184Z] [34435] INFO - usb-lister-rs: UsbContext::Apple: skip apple product
    [2025-01-30T06:18:47.184Z] [34435] INFO - usb-lister-rs: UsbContext::Apple: skip apple product
    [2025-01-30T06:18:47.184Z] [34435] DEBUG - usb-lister-rs: Serial number: Some("1e85b5fd2685ec118b7df42b19c2d21c")
    [2025-01-30T06:18:47.184Z] [34435] DEBUG - usb-lister-rs: Serial number: Some("000069655908")
    [2025-01-30T06:18:47.184Z] [34435] DEBUG - usb-lister-rs: Serial number: Some("0F00086955E4")
    [2025-01-30T06:18:47.185Z] [34435] DEBUG - usb-lister-rs: Serial number: Some("006NTUW9H046")
    [2025-01-30T06:18:47.185Z] [34435] DEBUG - usb-lister-rs: Serial number: Some("14400000")
    [2025-01-30T06:18:47.185Z] [34435] DEBUG - usb-lister-rs: UsbContext::Apple: Apple USB enumerate done.
    [2025-01-30T06:18:47.185Z] [34435] DEBUG - USBLister: Adding new device with ID 1 and serial number: '0F00086955E4'
    [2025-01-30T06:18:47.185Z] [34435] DEBUG - USBLister: Adding new device with ID 2 and serial number: '006NTUW9H046'
    [2025-01-30T06:18:47.185Z] [34435] DEBUG - USBLister: Adding new device with ID 3 and serial number: '1e85b5fd2685ec118b7df42b19c2d21c'
    [2025-01-30T06:18:47.185Z] [34435] DEBUG - USBLister: Adding new device with ID 4 and serial number: '14400000'
    [2025-01-30T06:18:47.185Z] [34435] DEBUG - USBLister: Adding new device with ID 5 and serial number: '000069655908'
    [2025-01-30T06:18:47.194Z] [34435] DEBUG - Enumeration for plugin 'devkit' took 8 ms
    [2025-01-30T06:18:47.196Z] [34435] INFO - [ProbeLib] [2025-01-30 06:18:47.196631Z] Opened J-Link DLL at /Applications/SEGGER/JLink/libjlinkarm.dylib with version 8.12b
    [2025-01-30T06:18:47.199Z] [34435] INFO - [ProbeLib] [2025-01-30 06:18:47.199274Z] Found 1 attached J-Link devices
    [2025-01-30T06:18:47.199Z] [34435] DEBUG - Enumeration for plugin 'Probe' took 5 ms
    [2025-01-30T06:18:47.207Z] [34435] DEBUG - [jlink] [NRFJPROG][Client][-] open
    [2025-01-30T06:18:47.207Z] [34435] DEBUG - [jlink] [NRFJPROG][Client][-] start
    [2025-01-30T06:18:47.216Z] [34435] DEBUG - [jlink] [NRFJPROG][SeggerBackend][-] Logger sink registered in Segger backend logger
    [2025-01-30T06:18:47.216Z] [34435] DEBUG - [jlink] [NRFJPROG][JLink][-] Logger sink registered in JLink logger
    [2025-01-30T06:18:47.217Z] [34435] DEBUG - [jlink] [NRFJPROG][nRFXX][-] open
    [2025-01-30T06:18:47.217Z] [34435] DEBUG - [jlink] [NRFJPROG][nRFXX][-] just_check_family
    [2025-01-30T06:18:47.217Z] [34435] DEBUG - [jlink] [NRFJPROG][SeggerBackend][-] open_dll
    [2025-01-30T06:18:47.217Z] [34435] DEBUG - [jlink] [NRFJPROG][SeggerBackend][-] No J-Link DLL path was provided. Attempting to auto detect.
    [2025-01-30T06:18:47.228Z] [34435] DEBUG - [jlink] [NRFJPROG][SeggerBackend][-] Set batch mode
    [2025-01-30T06:18:47.228Z] [34435] DEBUG - [jlink] [NRFJPROG][SeggerBackend][-] dll_version
    [2025-01-30T06:18:47.231Z] [34435] DEBUG - [jlink] [NRFJPROG][Client][-] enum_emu_snr
    [2025-01-30T06:18:47.239Z] [34435] DEBUG - [jlink] [NRFJPROG][nRFXX][-] enum_emu_snr
    [2025-01-30T06:18:47.239Z] [34435] DEBUG - [jlink] [NRFJPROG][SeggerBackend][-] is_connected_to_emu
    [2025-01-30T06:18:47.239Z] [34435] DEBUG - [jlink] [NRFJPROG][SeggerBackend][-] enum_emu_snr
    [2025-01-30T06:18:47.239Z] [34435] DEBUG - [jlink] [NRFJPROG][SeggerBackend][-] ---just_enum_emu_snr
    [2025-01-30T06:18:47.239Z] [34435] DEBUG - [jlink] [NRFJPROG][SeggerBackend][-] ---just_get_num_emus
    [2025-01-30T06:18:47.266Z] [34435] DEBUG - [jlink] Found 1 J-Link devices connected
    [2025-01-30T06:18:47.271Z] [34435] DEBUG - [jlink] [NRFJPROG][SeggerBackend][-] is_connected_to_emu
    [2025-01-30T06:18:47.271Z] [34435] DEBUG - [jlink] [NRFJPROG][nRFXX][-] close
    [2025-01-30T06:18:47.271Z] [34435] DEBUG - [jlink] [NRFJPROG][SeggerBackend][-] is_connected_to_emu
    [2025-01-30T06:18:47.271Z] [34435] DEBUG - [jlink] [NRFJPROG][SeggerBackend][-] close
    [2025-01-30T06:18:47.271Z] [34435] DEBUG - [jlink] [NRFJPROG][SeggerBackend][-] disconnect_from_emu
    [2025-01-30T06:18:47.271Z] [34435] DEBUG - [jlink] [NRFJPROG][SeggerBackend][-] is_connected_to_emu
    [2025-01-30T06:18:47.271Z] [34435] DEBUG - [jlink] [NRFJPROG][SeggerBackend][-] Segger Backend closed.
    [2025-01-30T06:18:47.272Z] [34435] DEBUG - [jlink] [NRFJPROG][nRFXX][-] nRF family DLL closed
    [2025-01-30T06:18:47.282Z] [34435] DEBUG - [jlink] [NRFJPROG][Client][-] terminate
    [2025-01-30T06:18:47.305Z] [34435] DEBUG - [jlink] [NRFJPROG][Client][-] Child process terminated with result 0
    [2025-01-30T06:18:47.305Z] [34435] DEBUG - [jlink] [NRFJPROG][Client][-] terminate
    [2025-01-30T06:18:47.312Z] [34435] DEBUG - Enumeration for plugin 'jlink' took 113 ms
    [2025-01-30T06:18:47.317Z] [34435] DEBUG - Enumeration for plugin 'BOARDCONTROLLER' took 4 ms
    [2025-01-30T06:18:47.317Z] [34435] DEBUG - [serialport] Apple serialport enumerate.
    [2025-01-30T06:18:47.318Z] [34435] DEBUG - [serialport] Class is: AppleSimpleUARTSync
    [2025-01-30T06:18:47.318Z] [34435] DEBUG - [serialport] Class is: AppleIntelLpssUARTv1
    [2025-01-30T06:18:47.318Z] [34435] DEBUG - [serialport] Class is: IOPCIDevice
    [2025-01-30T06:18:47.318Z] [34435] DEBUG - [serialport] Class is: AppleACPIPCI
    [2025-01-30T06:18:47.318Z] [34435] DEBUG - [serialport] Class is: IOACPIPlatformDevice
    [2025-01-30T06:18:47.318Z] [34435] DEBUG - [serialport] Class is: AppleACPIPlatformExpert
    [2025-01-30T06:18:47.318Z] [34435] DEBUG - [serialport] Class is: IOPlatformExpertDevice
    [2025-01-30T06:18:47.318Z] [34435] DEBUG - [serialport] Class is: IORegistryEntry
    [2025-01-30T06:18:47.318Z] [34435] DEBUG - [serialport] Class is: IOUserSerial
    [2025-01-30T06:18:47.318Z] [34435] DEBUG - [serialport] Class is: IOUSBInterface
    [2025-01-30T06:18:47.318Z] [34435] DEBUG - [serialport] Class is: IOUSBDevice
    [2025-01-30T06:18:47.318Z] [34435] DEBUG - [serialport] Class is: AppleUSBACMData
    [2025-01-30T06:18:47.318Z] [34435] DEBUG - [serialport] Class is: IOUSBInterface
    [2025-01-30T06:18:47.318Z] [34435] DEBUG - [serialport] Class is: IOUSBDevice
    [2025-01-30T06:18:47.318Z] [34435] DEBUG - [serialport] Class is: AppleUSBACMData
    [2025-01-30T06:18:47.318Z] [34435] DEBUG - [serialport] Class is: IOUSBInterface
    [2025-01-30T06:18:47.318Z] [34435] DEBUG - [serialport] Class is: IOUSBDevice
    [2025-01-30T06:18:47.319Z] [34435] DEBUG - [serialport] try to map FTDI to segger device
    [2025-01-30T06:18:47.319Z] [34435] DEBUG - [serialport] serialport enumerate update device: '006NTUW9H046'
    [2025-01-30T06:18:47.319Z] [34435] DEBUG - [serialport] serialport enumerate update device: '1e85b5fd2685ec118b7df42b19c2d21c'
    [2025-01-30T06:18:47.319Z] [34435] DEBUG - [serialport] serialport enumerate update device: '000069655908'
    [2025-01-30T06:18:47.319Z] [34435] DEBUG - Enumeration for plugin 'serialport' took 1 ms
    [2025-01-30T06:18:47.320Z] [34435] DEBUG - Enumeration for plugin 'sdfu' took 0 ms
    [2025-01-30T06:18:47.320Z] [34435] DEBUG - Enumeration for plugin 'mcuBoot' took 0 ms
    [2025-01-30T06:18:47.320Z] [34435] DEBUG - Enumeration for plugin 'broken' took 0 ms
    [2025-01-30T06:18:47.322Z] [34435] DEBUG - [ProbeLib] [2025-01-30 06:18:47.322940Z] probe-plugin will check if the device is a NRF54H/NRF54L to determine if it should claim it
    [2025-01-30T06:18:47.323Z] [34435] DEBUG - [ProbeLib] [2025-01-30 06:18:47.323375Z] Target device family nRF52 is provided, using that to determine if probe-plugin should be used
    [2025-01-30T06:18:47.323Z] [34435] DEBUG - [ProbeLib] [2025-01-30 06:18:47.323388Z] Device family nRF52 not NRF54H/NRF54L, not supported by probe-plugin
    [2025-01-30T06:18:47.323Z] [34435] INFO - Loaded plugin /Users/aidaneglin/.nrfutil/lib/nrfutil-device/10-nrfdl-jlink-plugin.nrfdl; starting to resolve symbols
    [2025-01-30T06:18:47.323Z] [34435] DEBUG - [jlink] Initializing the J-Link debug probe for device {"id":5,"probe":{},"serialNumber":"000069655908","serialPorts":[{"comName":"/dev/tty.usbmodem0000696559081","manufacturer":"SEGGER","path":"/dev/tty.usbmodem0000696559081","productId":"0105","serialNumber":"000069655908","vcom":0,"vendorId":"1366"}],"traits":{"boardController":false,"broken":false,"devkit":false,"jlink":true,"mcuBoot":false,"modem":false,"nordicDfu":false,"nordicUsb":false,"seggerUsb":true,"serialPorts":true,"usb":true},"usb":{"device":{"address":23,"busNumber":0,"descriptor":{"bDescriptorType":1,"bcdDevice":256,"idProduct":261,"idVendor":4966}},"manufacturer":"SEGGER","product":"J-Link","serialNumber":"000069655908"},"usbIdentifier":"14300000"} with serial number: 000069655908
    [2025-01-30T06:18:47.323Z] [34435] DEBUG - [jlink] Opening J-Link DLL
    [2025-01-30T06:18:47.331Z] [34435] DEBUG - [jlink] [NRFJPROG][Client][000069655908] open
    [2025-01-30T06:18:47.331Z] [34435] DEBUG - [jlink] [NRFJPROG][Client][000069655908] start
    [2025-01-30T06:18:47.353Z] [34435] DEBUG - [jlink] [NRFJPROG][SeggerBackend][000069655908] Logger sink registered in Segger backend logger
    [2025-01-30T06:18:47.353Z] [34435] DEBUG - [jlink] [NRFJPROG][JLink][000069655908] Logger sink registered in JLink logger
    [2025-01-30T06:18:47.353Z] [34435] DEBUG - [jlink] [NRFJPROG][nRFXX][000069655908] open
    [2025-01-30T06:18:47.353Z] [34435] DEBUG - [jlink] [NRFJPROG][nRFXX][000069655908] just_check_family
    [2025-01-30T06:18:47.353Z] [34435] DEBUG - [jlink] [NRFJPROG][SeggerBackend][000069655908] open_dll
    [2025-01-30T06:18:47.353Z] [34435] DEBUG - [jlink] [NRFJPROG][SeggerBackend][000069655908] No J-Link DLL path was provided. Attempting to auto detect.
    [2025-01-30T06:18:47.353Z] [34435] DEBUG - [jlink] [NRFJPROG][SeggerBackend][000069655908] Set batch mode
    [2025-01-30T06:18:47.353Z] [34435] DEBUG - [jlink] [NRFJPROG][SeggerBackend][000069655908] dll_version
    [2025-01-30T06:18:47.353Z] [34435] DEBUG - [jlink] [NRFJPROG][Client][000069655908] connect_to_emu_with_snr
    [2025-01-30T06:18:47.363Z] [34435] DEBUG - [jlink] [NRFJPROG][nRFXX][000069655908] connect_to_emu_with_snr
    [2025-01-30T06:18:47.363Z] [34435] DEBUG - [jlink] [NRFJPROG][SeggerBackend][000069655908] is_connected_to_emu
    [2025-01-30T06:18:47.363Z] [34435] DEBUG - [jlink] [NRFJPROG][SeggerBackend][000069655908] connect_to_emu_with_snr
    [2025-01-30T06:18:47.363Z] [34435] DEBUG - [jlink] [NRFJPROG][SeggerBackend][000069655908] is_connected_to_emu
    [2025-01-30T06:18:47.363Z] [34435] DEBUG - [jlink] [NRFJPROG][SeggerBackend][000069655908] ---just_enum_emu_snr
    [2025-01-30T06:18:47.363Z] [34435] DEBUG - [jlink] [NRFJPROG][SeggerBackend][000069655908] ---just_get_num_emus
    [2025-01-30T06:18:47.396Z] [34435] DEBUG - [jlink] [NRFJPROG][SeggerBackend][000069655908] ---just_connect_to_emu_with_snr
    [2025-01-30T06:18:47.406Z] [34435] DEBUG - [jlink] [NRFJPROG][SeggerBackend][000069655908] ---just_connect_to_emu_without_snr
    [2025-01-30T06:18:47.406Z] [34435] DEBUG - [jlink] [NRFJPROG][SeggerBackend][000069655908] Segger logging enabled.
    [2025-01-30T06:18:47.461Z] [34435] DEBUG - [jlink] [NRFJPROG][SeggerBackend][000069655908] Connected emulator supports SWD speeds up to 12000kHz
    [2025-01-30T06:18:47.461Z] [34435] DEBUG - [jlink] [NRFJPROG][SeggerBackend][000069655908] SWD clock set to 2000kHz
    [2025-01-30T06:18:47.461Z] [34435] DEBUG - [jlink] [NRFJPROG][nRFXX][000069655908] read_device_family
    [2025-01-30T06:18:47.464Z] [34435] DEBUG - [jlink] [NRFJPROG][Client][000069655908] read_device_family
    [2025-01-30T06:18:47.473Z] [34435] DEBUG - [jlink] [NRFJPROG][nRFXX][000069655908] read_device_family
    [2025-01-30T06:18:47.473Z] [34435] DEBUG - [jlink] [NRFJPROG][SeggerBackend][000069655908] is_connected_to_emu
    [2025-01-30T06:18:47.473Z] [34435] DEBUG - [jlink] [NRFJPROG][SeggerBackend][000069655908] is_connected_to_emu
    [2025-01-30T06:18:47.473Z] [34435] DEBUG - [jlink] [NRFJPROG][SeggerBackend][000069655908] read_debug_port_idr
    [2025-01-30T06:18:47.473Z] [34435] DEBUG - [jlink] [NRFJPROG][SeggerBackend][000069655908] read_debug_port_register
    [2025-01-30T06:18:47.473Z] [34435] DEBUG - [jlink] [NRFJPROG][SeggerBackend][000069655908] ---just_read_debug_port_register
    [2025-01-30T06:18:47.473Z] [34435] DEBUG - [jlink] [NRFJPROG][SeggerBackend][000069655908] coresight_configure
    [2025-01-30T06:18:47.573Z] [34435] DEBUG - [jlink] [NRFJPROG][SeggerBackend][000069655908] read_debug_port_idr
    [2025-01-30T06:18:47.573Z] [34435] DEBUG - [jlink] [NRFJPROG][SeggerBackend][000069655908] read_debug_port_register
    [2025-01-30T06:18:47.573Z] [34435] DEBUG - [jlink] [NRFJPROG][SeggerBackend][000069655908] ---just_read_debug_port_register
    [2025-01-30T06:18:47.573Z] [34435] DEBUG - [jlink] [NRFJPROG][SeggerBackend][000069655908] ---just_select_debug_port_register
    [2025-01-30T06:18:47.573Z] [34435] DEBUG - [jlink] [NRFJPROG][SeggerBackend][000069655908] Select AP 255, DP Bank 0, AP Bank 255
    [2025-01-30T06:18:47.573Z] [34435] DEBUG - [jlink] [NRFJPROG][SeggerBackend][000069655908] ---just_abort_debug_action
    [2025-01-30T06:18:47.573Z] [34435] DEBUG - [jlink] [NRFJPROG][SeggerBackend][000069655908] Attempting to clear any configuration errors in debug port before closing connection.
    [2025-01-30T06:18:47.573Z] [34435] DEBUG - [jlink] [NRFJPROG][SeggerBackend][000069655908] ---just_abort_debug_action
    [2025-01-30T06:18:47.573Z] [34435] DEBUG - [jlink] [NRFJPROG][SeggerBackend][000069655908] Attempting to clear any configuration errors in debug port before closing connection.
    [2025-01-30T06:18:47.584Z] [34435] DEBUG - [jlink] [NRFJPROG][SeggerBackend][000069655908] ---just_abort_debug_action
    [2025-01-30T06:18:47.584Z] [34435] DEBUG - [jlink] [NRFJPROG][SeggerBackend][000069655908] Attempting to clear any configuration errors in debug port before closing connection.
    [2025-01-30T06:18:47.584Z] [34435] DEBUG - [jlink] [NRFJPROG][SeggerBackend][000069655908] ---just_abort_debug_action
    [2025-01-30T06:18:47.584Z] [34435] DEBUG - [jlink] [NRFJPROG][SeggerBackend][000069655908] Attempting to clear any configuration errors in debug port before closing connection.
    [2025-01-30T06:18:47.584Z] [34435] DEBUG - [jlink] [NRFJPROG][SeggerBackend][000069655908] ---just_abort_debug_action
    [2025-01-30T06:18:47.584Z] [34435] DEBUG - [jlink] [NRFJPROG][SeggerBackend][000069655908] Attempting to clear any configuration errors in debug port before closing connection.
    [2025-01-30T06:18:47.595Z] [34435] ERROR - [jlink] [NRFJPROG][Client][000069655908] Encountered error -102: Command read_device_family executed for 129 milliseconds with result -102
    [2025-01-30T06:18:47.596Z] [34435] DEBUG - [jlink] [NRFJPROG][SeggerBackend][000069655908] ---just_abort_debug_action
    [2025-01-30T06:18:47.596Z] [34435] DEBUG - [jlink] [NRFJPROG][SeggerBackend][000069655908] Attempting to clear any configuration errors in debug port before closing connection.
    [2025-01-30T06:18:47.596Z] [34435] ERROR - [jlink] [NRFJPROG][Worker][000069655908] An unknown error.
    [2025-01-30T06:18:47.596Z] [34435] DEBUG - [jlink] [NRFJPROG][nRFXX][000069655908] close
    [2025-01-30T06:18:47.596Z] [34435] DEBUG - [jlink] [NRFJPROG][SeggerBackend][000069655908] is_connected_to_emu
    [2025-01-30T06:18:47.596Z] [34435] DEBUG - [jlink] [NRFJPROG][SeggerBackend][000069655908] close
    [2025-01-30T06:18:47.596Z] [34435] DEBUG - [jlink] [NRFJPROG][SeggerBackend][000069655908] disconnect_from_emu
    [2025-01-30T06:18:47.596Z] [34435] DEBUG - [jlink] [NRFJPROG][SeggerBackend][000069655908] ---just_disconnect_from_emu
    [2025-01-30T06:18:47.596Z] [34435] DEBUG - [jlink] [NRFJPROG][SeggerBackend][000069655908] is_connected_to_device
    [2025-01-30T06:18:47.596Z] [34435] DEBUG - [jlink] [NRFJPROG][SeggerBackend][000069655908] ---just_is_debug_region_powered
    [2025-01-30T06:18:47.596Z] [34435] DEBUG - [jlink] [NRFJPROG][SeggerBackend][000069655908] ---just_read_debug_port_register
    [2025-01-30T06:18:47.596Z] [34435] DEBUG - [jlink] [NRFJPROG][SeggerBackend][000069655908] ---just_select_debug_port_register
    [2025-01-30T06:18:47.596Z] [34435] DEBUG - [jlink] [NRFJPROG][SeggerBackend][000069655908] Select AP 255, DP Bank 0, AP Bank 255
    [2025-01-30T06:18:47.596Z] [34435] DEBUG - [jlink] [NRFJPROG][SeggerBackend][000069655908] ---just_abort_debug_action
    [2025-01-30T06:18:47.596Z] [34435] DEBUG - [jlink] [NRFJPROG][SeggerBackend][000069655908] Attempting to clear any configuration errors in debug port before closing connection.
    [2025-01-30T06:18:47.607Z] [34435] DEBUG - [jlink] [NRFJPROG][SeggerBackend][000069655908] ---just_abort_debug_action
    [2025-01-30T06:18:47.607Z] [34435] DEBUG - [jlink] [NRFJPROG][SeggerBackend][000069655908] Attempting to clear any configuration errors in debug port before closing connection.
    [2025-01-30T06:18:47.607Z] [34435] DEBUG - [jlink] [NRFJPROG][SeggerBackend][000069655908] ---just_abort_debug_action
    [2025-01-30T06:18:47.607Z] [34435] DEBUG - [jlink] [NRFJPROG][SeggerBackend][000069655908] Attempting to clear any configuration errors in debug port before closing connection.
    [2025-01-30T06:18:47.619Z] [34435] DEBUG - [jlink] [NRFJPROG][SeggerBackend][000069655908] ---just_abort_debug_action
    [2025-01-30T06:18:47.619Z] [34435] DEBUG - [jlink] [NRFJPROG][SeggerBackend][000069655908] Attempting to clear any configuration errors in debug port before closing connection.
    [2025-01-30T06:18:47.619Z] [34435] DEBUG - [jlink] [NRFJPROG][SeggerBackend][000069655908] ---just_abort_debug_action
    [2025-01-30T06:18:47.619Z] [34435] DEBUG - [jlink] [NRFJPROG][SeggerBackend][000069655908] Attempting to clear any configuration errors in debug port before closing connection.
    [2025-01-30T06:18:47.629Z] [34435] DEBUG - [jlink] [NRFJPROG][SeggerBackend][000069655908] ---just_abort_debug_action
    [2025-01-30T06:18:47.629Z] [34435] DEBUG - [jlink] [NRFJPROG][SeggerBackend][000069655908] Attempting to clear any configuration errors in debug port before closing connection.
    [2025-01-30T06:18:47.629Z] [34435] DEBUG - [jlink] [NRFJPROG][SeggerBackend][000069655908] Ignore exception An unknown error.
    [2025-01-30T06:18:47.639Z] [34435] DEBUG - [jlink] [NRFJPROG][SeggerBackend][000069655908] Segger Backend closed.
    [2025-01-30T06:18:47.639Z] [34435] DEBUG - [jlink] [NRFJPROG][nRFXX][000069655908] nRF family DLL closed
    [2025-01-30T06:18:47.649Z] [34435] DEBUG - [jlink] [NRFJPROG][Client][000069655908] terminate
    [2025-01-30T06:18:47.677Z] [34435] DEBUG - [jlink] [NRFJPROG][Client][000069655908] Child process terminated with result 0
    [2025-01-30T06:18:47.677Z] [34435] DEBUG - [jlink] [NRFJPROG][Client][000069655908] terminate
    [2025-01-30T06:18:47.682Z] [34435] DEBUG - ~async_task id: 981535013327
    [2025-01-30T06:18:47.683Z] [34435] INFO - ~plugin_container(0x6000038e1bc0): close plugin dll at path: /Users/aidaneglin/.nrfutil/lib/nrfutil-device/10-nrfdl-jlink-plugin.nrfdl
    [2025-01-30T06:18:47.683Z] [34435] DEBUG - ~plugin_container(0x6000038e1bc0): closed plugin dll at path: /Users/aidaneglin/.nrfutil/lib/nrfutil-device/10-nrfdl-jlink-plugin.nrfdl
    [2025-01-30T06:18:47.683Z] [34435] DEBUG - Task 981535013327 is already completed

    Error from JLinkExe when running "connect":

    Connecting to target via SWD
    InitTarget() start
    InitTarget() end - Took 104ms
    InitTarget() start
    InitTarget() end - Took 106ms
    Error occurred: Could not connect to the target device.
    For troubleshooting steps visit: https://wiki.segger.com/J-Link_Troubleshooting
    

    Output from logic analyzer hooked up to SWD pins when running LinkExe "connect":

  • Hi

    Just to confirm, when you say the board is "only an nRF52833", can you confirm that you've also included the required components from the reference circuitry. If the decoupling capacitors and 32MHz crystal I.E. aren't connected to the nRF52833, it's not expected to work as intended. You might be able to flash it, but whatever is flashed onto it won't work as expected.

    If you have the required components, another thing causing something like this could be if you don't have the DCDC components on your hardware, but the software enables the DCDC regulator. That will also result with a bricked nRF52 I'm afraid.

    Best regards,

    Simon

  • Thanks Simon. I can confirm that I do have the decoupling capacitors & 32MHz crystal.

    You'll have to forgive me, I'm quite new to this. Could you please elaborate further on this:

    > If you have the required components, another thing causing something like this could be if you don't have the DCDC components on your hardware, but the software enables the DCDC regulator. That will also result with a bricked nRF52 I'm afraid.

    I think you're suggesting that this could happen if the chip is receiving un-regulated DC input (i.e not stepped down to 3.3V)? Or am I mistaken.

    Cheers,

    Aidan

  • Hi Aidan

    No, this doesn't have anything to have with the DC input to do. But on the DCC pin, there are two inductors and an additional decoupling capacitor that can be connected to use the internal DCDC regulator instead of the LDO regulator (that does not require any external component). However, an application where the DCDC regulator is enabled in code running on HW without these components can unfortunately put the device in an undefined state that brick the device.

    If you'd like we can do a HW review of your schematics and PCB layout files, but I'd recommend opening a private DevZone ticket for that so it is handled with confidentiality and only Nordic engineers and yourself are able to view its contents.

    Best regards,

    Simon

Related