I have inherited some code that is production after doing some extensive testing on battery life have noticed that after writing to the flash my power consumption on the Nordic Power profilier increases from approx 20 micro amps to 3 milli Amps, this occurs approx 30 seconds after the write operation.
This has been confirmed by a restart counter to the flash to keep a track of how many times the product has restarted. With no other operations occurring I can see the power increase after 20-30 seconds. Removing this code the power level returns to normal
We are using the SDK Version 2 and am reluctant to move to version 6 unless we know that a fix exists for this issue.
I have checked the code and can see that the process is
errorCode = sd_flash_page_erase( absolutePageNumber ); // Clears the current page
errorCode = sd_flash_write( address, headerData, HeaderLength / sizeof( uint32 ) ); // Writes a header to the page
errorCode = sd_flash_write( address, reinterpret_cast<const uint32*>( data ), length / sizeof( uint32 ) ); // Write configuration data to the page
After each of these requests the code polls for the NRF_SOC_EVTS event and checks whether the operation has been successful, every time it reports success
Has anyone seen anything similar?