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

fstorage with softdevice, header file inclusion issue

I am trying to use fstorage with softdevice, I have replicated the flash_storage_example in my project. I have enabled all thing in sdk_config.h like shown in the example. but every time I try to compile it gives an error of few header files not found some of #include "nrf_sdh.h"
#include "nrf_sdh_soc.h"
#include "nrf_atfifo.h"

I have included all the same files in the project but still, it's giving the error.

what's the issue of SOFTDEVICE_PRESENT def I couldn't find that in the example project. should I be a concern with this?

Parents
  • Hi, 

    Sorry for the delay. 

    Did you add the header files as the Including header files documentation?

    nrf_sdh.h is under nRF5_SDK\examples\components\softdevice\common path.

    SOFTDEVICE_PRESENT is a preprocessor symbol, indicating to the drivers and libraries that a softdevice (protocol stack) is used in the project. The softdevice blocks and restricts access to certain hardware resources. This symbol allows the drivers/libraries to use the softdevice API when a softdevice is present, to avoid errors and asserts in the application.

    The symbol should already be set in all s140 projects in the SDK (in the project ->option -> common -> processor -> preprocessor definitions), but you can also set it yourself in the project settings.

    -Amanda H.

Reply
  • Hi, 

    Sorry for the delay. 

    Did you add the header files as the Including header files documentation?

    nrf_sdh.h is under nRF5_SDK\examples\components\softdevice\common path.

    SOFTDEVICE_PRESENT is a preprocessor symbol, indicating to the drivers and libraries that a softdevice (protocol stack) is used in the project. The softdevice blocks and restricts access to certain hardware resources. This symbol allows the drivers/libraries to use the softdevice API when a softdevice is present, to avoid errors and asserts in the application.

    The symbol should already be set in all s140 projects in the SDK (in the project ->option -> common -> processor -> preprocessor definitions), but you can also set it yourself in the project settings.

    -Amanda H.

Children
Related