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

Missing Softdevice call to nrf_fstorage_sys_evt_handler

Hi to all,

we are developing an application nrf52832 that use BLE and internal flash as storage.

The problem, as I wrote in the subject, is the write operation is never terminated with a callback. Checking the flash content the operation success, what I miss is just the app know the partition ended. I can confirm that also because I try to put a switch on of a led in the nrf_fstorage_sys_evt_handler and it didn't chow anything.

We are developing using SDK 16.0.0 and softdevice 132 7.0.1.

We use gcc as compiler and, what make found the problem difficult, we use Contiki. That means we don't have a simple c application but it is spread in different C and makefile divided for platform/cpu, modules and applications.

I already see some post talking about missing nrf_sdh.c or similar file and all of them are compiled and used.

Also I'm sure we use nrf_fstorage_sd as backend.

Others had problem with busy-wait loop waiting the callback, but again is not our case: as examples we call sd_wait_event() to wait next time an interrupt or event happens.

Can anybody point me to a tutorial that give steps to use fstorage wit softdevice? Not examples but a step by step how to?

Also anby suggestion on how to find the problem will be appreciated.

We also worried if the problem is on linker script. There is something we can check on that too?

Thanks in advance.

Davide

Parents
  • We are really short on staffing this month due to summer holidays in Norway, so I can't familiarize myself with your setup. 

    We use gcc as compiler and, what make found the problem difficult, we use Contiki. That means we don't have a simple c application but it is spread in different C and makefile divided for platform/cpu, modules and applications.

     I suggest you start by checking out the SDK example SDK\examples\peripheral\flash_fstorage\pca10040\s132\<any IDE>\

    to see how the callbacks work with the softdevice. When you are familiar with it, you can start implementing that to your Contiki project.

    I also suggest using an IDE for debugging. You can use Segger Embedded Studio(SES). It is free. Nordic has fixed full licenses for customers developing on Nordic products. Please see:

    https://devzone.nordicsemi.com/f/nordic-q-a/41028/activating-free-license-for-ses

Reply
  • We are really short on staffing this month due to summer holidays in Norway, so I can't familiarize myself with your setup. 

    We use gcc as compiler and, what make found the problem difficult, we use Contiki. That means we don't have a simple c application but it is spread in different C and makefile divided for platform/cpu, modules and applications.

     I suggest you start by checking out the SDK example SDK\examples\peripheral\flash_fstorage\pca10040\s132\<any IDE>\

    to see how the callbacks work with the softdevice. When you are familiar with it, you can start implementing that to your Contiki project.

    I also suggest using an IDE for debugging. You can use Segger Embedded Studio(SES). It is free. Nordic has fixed full licenses for customers developing on Nordic products. Please see:

    https://devzone.nordicsemi.com/f/nordic-q-a/41028/activating-free-license-for-ses

Children
Related