nrf52832 stops getting firmware via SWD after a while

Hi,

We are using a module which includes nRF52832 in a custom board. After a while devices stop working but when we re-connect battery device starts working again exept the SWD interface. What can cause this ? Also we are using RTT for communication with the device.

Parents
  • Hello,

    I don't think there is any direct relationship between the two observations:

    - 1 device stop working and when re-connect battery device start working again

    - 2 but not the SWD interface

    About 1 I think it could be an assert, in which case (if you are debugging) the project may end in the fault handler, and if you have built with debug it will stay there until a reset is triggered. In a real product I suggest to build with release build and not debug, to ensure that the product instead reset if there is an fault. Though you should likely look into trying to find the cause of what is hanging in your project, or possible look at the fault handler to find where the code may be asserting.

    About 2 this may be related to APPROTECT enabled, in which case only an eraseall or recover may make the SWD interface operation again. E.g. does 'nrfjprog --recover' make the SWD interface work again?

    Kenneth

Reply
  • Hello,

    I don't think there is any direct relationship between the two observations:

    - 1 device stop working and when re-connect battery device start working again

    - 2 but not the SWD interface

    About 1 I think it could be an assert, in which case (if you are debugging) the project may end in the fault handler, and if you have built with debug it will stay there until a reset is triggered. In a real product I suggest to build with release build and not debug, to ensure that the product instead reset if there is an fault. Though you should likely look into trying to find the cause of what is hanging in your project, or possible look at the fault handler to find where the code may be asserting.

    About 2 this may be related to APPROTECT enabled, in which case only an eraseall or recover may make the SWD interface operation again. E.g. does 'nrfjprog --recover' make the SWD interface work again?

    Kenneth

Children
Related