Hello,
I am using FDS successfully with SDK 17.0.2, secure bootloader and softdevice. Bluetooth (BLE) environment, if it does matter.
I can read and write data. But following question occurs:
Assume I have code which calls
fds_record_write
After this call my code does other things, e.g. multiple times NRF_LOG_INFO. I name this "code 1".
Now the write actions is done and calls the FDS event handler to signal
FDS_EVT_WRITE
Inide this "code 2" is executed.
Is it correct that while "code 1", I get sometimes interrupted and "code 2" is executed?
If "code 1" as well as "code 2" uses NRF_LOG_INFO, can it interfer? I am using LOG_DEFERRED.
Could it be I run in a deadlock or unwanted behaviour due to race conditions?
I tried flush, but found that debugging with serial UART seems to use this:
static void nrf_log_backend_uart_flush(nrf_log_backend_t const * p_backend)
{
}
So is it just a NOP? Or doing something somewhere else?
Log output is only one side, what other thing are not allowed to be called from fds_evt_handler?
Or are allowed things very limited, so perhaps only setting some variables and almost immediately return?
Is there some documentation or hint, what to consider?
Many thanks!
Best regards,
Marie