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

Module requires 3 power cycles to initialize FDS Manager.

Hardware Description:

MKBN02A00 module based on nRF52832 SOC

Software Description 

nRF SDK 15.2.0 , SoftDevice S112

Observation:

When power_manager_init() is called before fds_manager_init(). It requires 3 power cycles to initialize FDS module. For the first 2 power cycle applications stays in wait_for_fds_ready() loop.

When power_manager_init() is called after fds_manager_init(), FDS module initializes on 1st power cycle without any problem.

Question:

What could be the possible reason for such behavior? Does power_management (sleep mode) affects the "fds module initialization" status events being generated/captured for 

fds_evt_handler. And if so why it works fine on the 3rd power cycle. Or if there is any other problem? 

Application Code:

Below is the sequence of initialization in the main function.

fds_manager_init(void) function

wait_for_fds_ready() function

power_management_init() calls nrf_pwr_mgmt_int()


  • Hi,

    I've seen similar behavior like this when Softdevice flash events are not being forwarded back to fstorage -> fds. So I suspect the problem may be related to Softdevice event forwarding from the SoftDevice Handler library.  Please confirm if the nrf_sdh_soc.c file is included in your build.

  • Hi Vidar, Thanks for the quick response. 

    Yes, I verified, I have included nrf_sdh_soc.c file in the build.

  • Thanks for confirming. Another possible explanation as to why the events might not be forwarded is if the linker is not correctly configured to store the SoC observers mentioned in the documentation I linked to.

    If you are using Segger embedded studio or GCC, please compare the flash_placment.xml or *.ld (GCC) file with one from a project you know use FDS already (e.g. ble_app_hrs). The linker script must include a section named .fs_data in addition to other sections used by the Softdevice Handler library.

  • I also have .fs_data section in the linker script of my project and it is same as that in the example's (ble_app_hrs) linker script.

  • Thanks for confirming. So it doesn't appear to be one of the common causes at least. Are you able to share a minimal version of your project so I can try to debug this here?

1 2 3