Partial flash erase - timing requirements

What are the implications of calling nrfx_nvmc_page_partial_erase_continue() faster than the period I specify in my call to nrfx_nvmc_page_partial_erase_init()?

I'm erasing a 228kB block of flash on an nrf52833 using partial flash erase.  If I hammer the calls to *_continue() as quickly as I can until it returns true, the full erase takes ~6 seconds total.  If I ensure that each call to *_continue() occurs at the period specified during *_init(), the erase takes approximately 12 seconds.  In both cases, I've verified that the flash does indeed get fully erased. 

Digging into the nrfx source code, I see that the *_continue() function does a call to nrf_nvmc_ready_check(NRF_NVMC). Is this sufficient?  What are otherwise the implications of using the faster method?

Parents Reply Children
No Data
Related