Device unable to boot, stuck in Soft Device

We have a device containing a BMD350 module (which is based on the nRF52832_xxAA). The device behaves normally, but at some point, two devices failed in the exact same way. The nRF52 is stuck in the Soft Device and unable to reach our bootloader or application. The stack trace shows shows the following:

0x00016274 -> 0x000251c4

We are using Soft Device s132 v7.0.1

Our board has an external 32 kHz oscillator, which we probed and can see that there is indeed a clock in this case. Power supply looked good. Furthermore, when in this state, a soft reset, hard reset, or reflash of the firmware would not get it out of this state. A power cycle got things working again.

Any recommendations on further debugging or a solution to this issue?

Parents
  • Hi

    What SDK version are you using here exactly? And you say two devices failed, two out of how many here? How have you set up the RAM and Flash memory start addresses for your application? Please check out this guide on RAM and Flash adjustments to make sure you've set it up correctly in your project. Can you also provide some details on what your project is doing exactly?

    And what 32kHz crystal are you using exactly, and how is the crystal loaded? It could also be that the crystal is soldered on incorrectly.

    Best regards,

    Simon

  • SDK version 16.0.0
    I only had two devices on hand, and both had failed. We have configured a custom bootloader at address 0x73000 and our application at 0x26000. The application RAM starts at 0x20004000. Our project uses NFC to establish a bluetooth connection and communicate with a phone. It also acts as a SPI slave. The main processor manages the enable pin of the voltage regulator to supply 3V to the module. The BMD350 module is only powered when we want to use it, then it is powered off. We are not using a crystal for the external 32 kHz. We are using a SIT1552AI-JE-DCC-32.768E oscillator powered from the 3V voltage regulator with the clock output connected directly to P0.00 via a very short trace.

    To reiterate, both devices were working, and both failed into this state. Power cycling both boards got them working again, but this is not the first time I've seen this issue.

    Could you provide any insight as to what happens in the softdevice at 0x000251c4? Is it for sure related to the 32 kHz oscillator?

Reply
  • SDK version 16.0.0
    I only had two devices on hand, and both had failed. We have configured a custom bootloader at address 0x73000 and our application at 0x26000. The application RAM starts at 0x20004000. Our project uses NFC to establish a bluetooth connection and communicate with a phone. It also acts as a SPI slave. The main processor manages the enable pin of the voltage regulator to supply 3V to the module. The BMD350 module is only powered when we want to use it, then it is powered off. We are not using a crystal for the external 32 kHz. We are using a SIT1552AI-JE-DCC-32.768E oscillator powered from the 3V voltage regulator with the clock output connected directly to P0.00 via a very short trace.

    To reiterate, both devices were working, and both failed into this state. Power cycling both boards got them working again, but this is not the first time I've seen this issue.

    Could you provide any insight as to what happens in the softdevice at 0x000251c4? Is it for sure related to the 32 kHz oscillator?

Children
Related