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

nrf51822 died after download firmware

My six nrf51822 modules died after I erase flash and download "ble bcast mesh" (with sd110 8.0.0) github.com/.../nRF51-ble-bcast-mesh

At first time, I download firmware into chip, and enter debug mode, everything is good. When I leave debug mode, add some function to firmware and try to enter debug mode, I find that jlink can't find the chip anymore.

the following message is from jlink commander:

=================================================================== SEGGER J-Link Commander V5.10d (Compiled Dec 9 2015 12:49:51) DLL version V5.10d, compiled Dec 9 2015 12:49:14

Connecting to J-Link via USB...O.K. Firmware: J-Link V9 compiled Oct 9 2015 20:34:47 Hardware version: V9.30 S/N: 59304981 License(s): GDB Emulator has Trace capability VTref = 3.409V

Type "connect" to establish a target connection, '?' for help J-Link>device nrf51822_xxac Please specify target interface: J) JTAG (Default) S) SWD TIF>S Specify target interface speed [kHz]. : 4000 kHz Speed>100 Device "NRF51822_XXAC" selected.

Found SWD-DP with ID 0x0BB11477 Found SWD-DP with ID 0x0BB11477

****** Error: DAP error while reading DP-Ctrl-Stat register. Found SWD-DP with ID 0x0BB11477 Found SWD-DP with ID 0x0BB11477 Can not connect to target. Found SWD-DP with ID 0x0BB11477 Found SWD-DP with ID 0x0BB11477

=================================================================

I try "nrfjprog.exe -e", "nrfjprog.exe --recover" and nRfgo, but don't work.

rom: 0x18000 size 0x28000 ram: 0x20002000 size 0x2000

Parents
  • After several try, another BLE module died. But I find that the problem is the first line in the main loop, "NRF_POWER->RESET = 1;"

    If I mark this line, than no BLE will died. But, what is the reason? Why this single command in application region will make this chip die?

    ====================================================================

    int main(void) { NRF_POWER->RESET = 1; /* init leds and pins / gpio_init(); NRF_GPIO->OUTSET = (1 << 4); / Enable Softdevice (including sd_ble before framework */ SOFTDEVICE_HANDLER_INIT(MESH_CLOCK_SOURCE, NULL);

Reply
  • After several try, another BLE module died. But I find that the problem is the first line in the main loop, "NRF_POWER->RESET = 1;"

    If I mark this line, than no BLE will died. But, what is the reason? Why this single command in application region will make this chip die?

    ====================================================================

    int main(void) { NRF_POWER->RESET = 1; /* init leds and pins / gpio_init(); NRF_GPIO->OUTSET = (1 << 4); / Enable Softdevice (including sd_ble before framework */ SOFTDEVICE_HANDLER_INIT(MESH_CLOCK_SOURCE, NULL);

Children
No Data
Related