// <i> NRF_FSTORAGE_SD uses the nrf_fstorage_sd backend implementation using the SoftDevice API. Use this if you have a SoftDevice present.
// <i> NRF_FSTORAGE_NVMC uses the nrf_fstorage_nvmc implementation. Use this setting if you don't use the SoftDevice.
// <1=> NRF_FSTORAGE_NVMC
// <2=> NRF_FSTORAGE_SD
#ifndef FDS_BACKEND
#define FDS_BACKEND 1
#endif
below attached the initialisation code for fds module
when the below code hits at the start of program
00> <info> app: Log initialized with RTT backend
00>
00> <info> app_timer: RTC: initialized.
00>
00> <debug> nrf_sdh: State request: 0x00000000
00>
00> <debug> nrf_sdh: Notify observer 0x0003F688 => ready
00>
00> <debug> nrf_sdh: State change: 0x00000000
00>
00> <debug> nrf_sdh: State change: 0x00000001
00>
00> <debug> nrf_sdh_ble: RAM starts at 0x20003F08
00>
00> <error> app: SOFTDEVICE: INVALID MEMORY ACCESS
error_code_t user_data_module_initialize(void) { error_code_t error_code; uint32_t fds_error_code; memset(&f_record, 0x00, sizeof(f_record)); memset(&config_data, 0x00, sizeof(user_data_t)); fds_error_code = fds_register(user_data_event_handler); // Register a event handler error_code = fds_error_check(fds_error_code); if(error_code != SUCCESS) { return error_code; } fds_error_code = fds_init(); // Initialize fds error_code = fds_error_check(fds_error_code); if(error_code != SUCCESS) { return error_code; } while(!is_fds_initialized); return SUCCESS; }