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

Use nrf_fstorage_sd with nrf_sdh_ble_enable

Hi, I'm using SDK15.2.0 and A nRF52832 for my project.

I followed the "flash_fstorage" example give by Nordic, to write in the flash memory in my project. 

When I run my program the function nrf_fstorage_erase(&fstorage, address, 1, NULL); and nrf_fstorage_write(&fstorage, address, &data, sizeof(data), NULL); work perfectly but after I had called nrf_sdh_ble_enable(), the functions nrf_fstorage_erase() and nrf_fstorage_write() don't work anymore even if I don't use BLE.

The SVCALL is never called to write or erase the flash, I still stuck in nrf_fstorage_is_busy().

Do I need to change some priorities in sdk_config.h ?

Thanks, Automne

Parents Reply
  • Hi Vidar,

    I tried to implant fstorage in my code as you did in your example, I got the same problem. The functions nrf_fstorage_write() and nrf_fstorage_erase() work perfectly when the softdevice stack is disable.
    When the softdevice is enable nrf_fstorage_write() and nrf_fstorage_erase() work only once and I never get out of the SVCALL. I didn't get the events NRF_FSTORAGE_EVT_WRITE_RESULT or NRF_FSTORAGE_EVT_ERASE_RESULT.

    I don't call this functions from an interrupt.

    Which resource use SVCALL(nrf_fstorage_write) and SVCALL(nrf_fstorage_erase) ?

    Thanks, Automne

Children
Related