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

Softdevice hanging at startup

Hi all,

I am having a problem with the startup of the software on an nRF52840. It works fine on an EVM but not on our own board. The software is hanging in the softdevice s140 before even reaching main() (on some boards only). I can see in the debugger when I stop the software that it is in address 0x2ff8 waiting for an external interrupt.  What is is waiting for? What are we missing?

And I have asked the question before without ever getting an answer: IS THERE ANY DOCUMENTATION OR SOURCE CODE OF THIS MAGIC BLACK BOX CALLED SOFTDEVICE AVAILABLE?

Any help would be appreciated.

Regards,

Parents
  • Hi Jørgen,

    changed to the RC oscillator but that did not make a difference. Could have guessed that before because the oscillator init is done in main().

    In my case the softdevice is hanging BEFORE reaching main() (see first post).

    So since your documentation contains nothing about what is happening inside the softdevice (only API) you have to help me on that one. Any ideas? What is it waiting for in address 0x2ff6?

    I believe it has to be hardware related because the software (basically the BLE hrs example) is running fine on the Nordic EVM.

    Regards,

    p.s.: seems to be waiting for something to happen in bit 4 of a register on address 0xe000e204 which is not documented (another Nordic black box or I am too stupid to find it).

  • Which SDK and softdevice versions are you using? Is this a "clean project" from an SDK release, or something you have ported from a previous SDK version?

    0xE000E204 is not a "Nordic Black Box", this is one of the ARM Cortex M4 NVIC_ISPR (Interrupt Set-Pending Registers) registers.

  • Hi Jørgen,

    I believe the SDK is version nRF5_SDK_17.0.0_9d13099 although I could not confirm that in any of the source files; there are no version numbers in them.

    The example is the pca10056 board from the same SDK; we never installed an older version or ported anything.

    Softdevice version is s140_nrf52_7.0.1.

    Thanks for the hint with the NVIC register. But since this is ARM core documentation, where is the Nordic assignment for the nRF52840? Could not find anything in the data sheet. What is bit 4 in NVIC_ISPR1?

    And why would the startup code (unfortunately located in the softdevice) wait for an interrupt?!? Or am I missing something?

    Regards,

Reply
  • Hi Jørgen,

    I believe the SDK is version nRF5_SDK_17.0.0_9d13099 although I could not confirm that in any of the source files; there are no version numbers in them.

    The example is the pca10056 board from the same SDK; we never installed an older version or ported anything.

    Softdevice version is s140_nrf52_7.0.1.

    Thanks for the hint with the NVIC register. But since this is ARM core documentation, where is the Nordic assignment for the nRF52840? Could not find anything in the data sheet. What is bit 4 in NVIC_ISPR1?

    And why would the startup code (unfortunately located in the softdevice) wait for an interrupt?!? Or am I missing something?

    Regards,

Children
No Data
Related