Accidentally used 9V power supply. nRF9160 board wont flash anymore.

Accidentally used a 9V power supply. Board does not flash anymore.


Can still connect to com ports, and onboard led lights up.

Is the board fried or is it stuck in a memory protection mode ?

-nRF Connect SDK 2.5.1

-Win 11

Different error messages below:


-- west flash: using runner nrfjprog
-- runners.nrfjprog: Flashing file: c:\ncs\v2.5.1\zephyr\samples\basic\blinky\build\zephyr\merged.hex
[error] [ Client] - Encountered error -90: Command read_memory_descriptors executed for 14 milliseconds with result -90
[error] [ Worker] - Can't read memory descriptors, ap-protection is enabled.
[error] [ Client] - Encountered error -90: Command erase_file executed for 30 milliseconds with result -90
[error] [  nRF91] - Failed while detecting device memory block protection status!                                      
[error] [  nRF91] - Failed while erasing device. -90: Access protection is enabled, can't read block protection state.
[error] [ Worker] - Access protection is enabled, can't read block protection state.
ERROR: The operation attempted is unavailable due to readback protection in                                            
ERROR: your device. Please use --recover to unlock the device.
NOTE: For additional output, try running again with logging enabled (--log).
NOTE: Any generated log error messages will be displayed.
ERROR: runners.nrfjprog: Flashing failed because the target must be recovered.
  To fix, run "west flash --recover" instead.
  Note: this will recover and erase all flash memory prior to reflashing.


 west flash --recover
-- west flash: rebuilding
[0/16] Performing build step for 'tfm'
ninja: no work to do.
-- west flash: using runner nrfjprog
Using board 960064568
-- runners.nrfjprog: Recovering and erasing all flash memory.
Recovering device. This operation might take 30s.
[error] [  JLink] - Not supported by current CPU + target interface combination.
[error] [  JLink] - Not supported by current CPU + target interface combination.
[error] [  JLink] - Not supported by current CPU + target interface combination.
[error] [  JLink] - Not supported by current CPU + target interface combination.
[error] [  JLink] - Not supported by current CPU + target interface combination.
[error] [  JLink] - Not supported by current CPU + target interface combination.
[error] [ Client] - Encountered error -21: Command recover executed for 21131 milliseconds with result -21
[error] [  nRF91] - Unable to perform system reset. Device is readback protected.
[error] [ Worker] - Encountered error while performing recover post-cleanup.
ERROR: Recover failed. Please make sure that the correct device family is given
ERROR: and try again.
NOTE: For additional output, try running again with logging enabled (--log).
NOTE: Any generated log error messages will be displayed.
FATAL ERROR: command exited with status 62: nrfjprog --recover -f NRF91 --snr 960064568

nrfjprog --eraseall -f NRF91
[error] [ Client] - Encountered error -90: Command read_memory_descriptors executed for 16 milliseconds with result -90
[error] [ Worker] - Can't read memory descriptors, ap-protection is enabled.
ERROR: The operation attempted is unavailable due to readback protection in
ERROR: your device. Please use --recover to unlock the device.
NOTE: For additional output, try running again with logging enabled (--log).
NOTE: Any generated log error messages will be displayed.


nrfjprog --recover -f NRF91
Recovering device. This operation might take 30s.
[error] [ Client] - Encountered error -21: Command recover executed for 30554 milliseconds with result -21
[error] [  nRF91] - Unable to perform system reset. Device is readback protected.
[error] [ Worker] - Encountered error while performing recover post-cleanup.
ERROR: Recover failed. Please make sure that the correct device family is given
ERROR: and try again.

Parents
  • Hi Thomas, 

    Thanks for registering this quickly. Let us try to figure out what is going on. 

    Accidentally used a 9V power supply. Board does not flash anymore.

    Was this connected to the External supply pins?

    As discussed over the phone the VDD IO is set to 1,8V, what about the SW0? Is it set to nRF52 or nRF91?

    Could you please run the following nrfjprog --eraseall -f NRF91 --log and then provide the log file here?

    Kind regards,
    Øyvind

  • Hi

    Yes it was conected to the external supply pins. VDD IO is set to 1.8V and the SW0 is set to nRF91.

    [2024-Apr-18 12:27:59] [debug] --------------------------------------------------------------------------------
    [2024-Apr-18 12:27:59] [debug] C:\Program Files\Nordic Semiconductor\nrf-command-line-tools\bin\nrfjprog.exe --eraseall -f NRF91 --log 
    [2024-Apr-18 12:27:59] [debug] nrfjprog version 10.24.0 external
    [2024-Apr-18 12:27:59] [debug] --------------------------------------------------------------------------------
    [2024-Apr-18 12:27:59] [ info] Load library at C:\Program Files\Nordic Semiconductor\nrf-command-line-tools\bin\nrfjprog.dll.
    [2024-Apr-18 12:27:59] [ info] Library loaded, loading member functions.
    [2024-Apr-18 12:27:59] [ info] Member functions succesfully loaded.
    [2024-Apr-18 12:28:00] [debug] [ Client] - open
    [2024-Apr-18 12:28:00] [debug] [ Client] - start
    [2024-Apr-18 12:28:00] [ info] [ Client] - stdout: Jlinkarm nRF Worker ready. Handling sequence edf07c68-b295-4d33-a0e0-e26b95e7923d.
    
    [2024-Apr-18 12:28:00] [trace] [ Client] - Command open executed for 106 milliseconds with result 0
    [2024-Apr-18 12:28:00] [debug] [SeggerBackend] - Logger sink registered in Segger backend logger
    [2024-Apr-18 12:28:00] [debug] [ Client] - config
    [2024-Apr-18 12:28:00] [debug] [  JLink] - Logger sink registered in JLink logger
    [2024-Apr-18 12:28:00] [debug] [  nRF91] - open
    [2024-Apr-18 12:28:00] [debug] [  nRF91] - just_check_family
    [2024-Apr-18 12:28:00] [debug] [SeggerBackend] - open_dll
    [2024-Apr-18 12:28:00] [debug] [SeggerBackend] - No J-Link DLL path was provided. Attempting to auto detect.
    [2024-Apr-18 12:28:00] [ info] [SeggerBackend] - Load library at C:\Program Files\SEGGER\JLink_V794e\JLink_x64.dll.
    [2024-Apr-18 12:28:00] [ info] [SeggerBackend] - Library loaded, loading member functions.
    [2024-Apr-18 12:28:00] [ info] [SeggerBackend] - Member functions succesfully loaded.
    [2024-Apr-18 12:28:00] [debug] [SeggerBackend] - Set batch mode
    [2024-Apr-18 12:28:00] [debug] [SeggerBackend] - dll_version
    [2024-Apr-18 12:28:00] [ info] [SeggerBackend] - Segger dll version 7.94.e loaded.
    [2024-Apr-18 12:28:00] [trace] [ Worker] - Command open executed for 13 milliseconds with result 0
    [2024-Apr-18 12:28:00] [trace] [ Client] - Command config executed for 15 milliseconds with result 0
    [2024-Apr-18 12:28:00] [debug] [ Client] - enum_emu_snr
    [2024-Apr-18 12:28:00] [debug] [  nRF91] - config
    [2024-Apr-18 12:28:00] [trace] [ Client] - Command enum_emu_con_info executed for 14 milliseconds with result 0
    [2024-Apr-18 12:28:00] [debug] [SeggerBackend] - enum_emu_snr
    [2024-Apr-18 12:28:00] [trace] [ Worker] - Command config executed for 8 milliseconds with result 0
    [2024-Apr-18 12:28:00] [debug] [  nRF91] - enum_emu_con_info
    [2024-Apr-18 12:28:00] [debug] [SeggerBackend] - is_connected_to_emu
    [2024-Apr-18 12:28:00] [debug] [SeggerBackend] - enum_emu_con_info
    [2024-Apr-18 12:28:00] [debug] [SeggerBackend] - is_connected_to_emu
    [2024-Apr-18 12:28:00] [trace] [ Worker] - Command enum_emu_con_info executed for 5 milliseconds with result 0
    [2024-Apr-18 12:28:00] [debug] [  nRF91] - close
    [2024-Apr-18 12:28:00] [debug] [  nRF91] - close
    [2024-Apr-18 12:28:00] [debug] [SeggerBackend] - is_connected_to_emu
    [2024-Apr-18 12:28:00] [debug] [SeggerBackend] - close
    [2024-Apr-18 12:28:00] [debug] [SeggerBackend] - disconnect_from_emu
    [2024-Apr-18 12:28:00] [debug] [SeggerBackend] - is_connected_to_emu
    [2024-Apr-18 12:28:00] [debug] [SeggerBackend] - Segger Backend closed.
    [2024-Apr-18 12:28:00] [debug] [  nRF91] - nRF family DLL closed
    [2024-Apr-18 12:28:00] [trace] [ Client] - Command close executed for 32 milliseconds with result 0
    [2024-Apr-18 12:28:00] [debug] [ Client] - terminate
    [2024-Apr-18 12:28:00] [trace] [ Worker] - Command close executed for 16 milliseconds with result 0
    [2024-Apr-18 12:28:00] [trace] [ Client] - Command terminate executed for 31 milliseconds with result 0
    [2024-Apr-18 12:28:00] [trace] [ Worker] - Command terminate executed for 0 milliseconds with result 0
    [2024-Apr-18 12:28:00] [trace] [ Worker] - Executed 5 commands for 42 milliseconds
    [2024-Apr-18 12:28:00] [debug] [ Client] - Worker process exited with code: 0
    [2024-Apr-18 12:28:00] [debug] [ Client] - Worker process exited with code: 0
    [2024-Apr-18 12:28:00] [debug] [ Client] - Child process terminated with result 0
    [2024-Apr-18 12:28:00] [trace] [ Client] - Executed 5 commands for 198 milliseconds
    [2024-Apr-18 12:28:00] [debug] [ Client] - terminate
    

  • Sorry, the board was not connected when running the command.. Here is the new log.


    42618.log.log

  • Thank you! Yes, this looks more correct. This looks successful. Can you please perform the same for nrfjprog --recover -f NRF91 --log?

  • Yes. I have also noticed that it does recover sometimes. Like this time, and it lets me flash the blinky example to the board. Then when i try to flash my other code it goes back into memory protection. This code worked fine before connecting the 9V power supply.

    31273.log.log

  • How many times to see the issue when you try to program the device? Is there a difference between what samples you program? 

    Could you please test e.g. 10 times and see how many times it will fail to program blinky?

Reply Children
Related