Hi,
do sd_flash_page_erase or sd_flash_write provide any guarantees that the command has executed successfully or should I do a manual check to verify if the page was really erased or the data was written correctly?
Thanks, Marius
Hi,
do sd_flash_page_erase or sd_flash_write provide any guarantees that the command has executed successfully or should I do a manual check to verify if the page was really erased or the data was written correctly?
Thanks, Marius
Hi,
There is no automatic verification of flash content (sd_flash_page_erase /sd_flash_write will not read back the data), so this is something you can add if you want (though I have not heard of this being a problem, and we don't do that ourselves).
Thanks Sigurd. I have another question then. Maybe I should make a new question, but it seems to be related to the discussion. In the nrf_nvmc.c driver file, we have code such as
while (NRF_NVMC->READY == NVMC_READY_READY_Busy) {;}
This seems like it could go into an infinite loop when NRF_NVMC->READY is always == to NVMC_READY_READY_Busy due to some error in the FLASH HW . Do you think its possible that this statement can cause the code to go into an infinite loop? Is there some sort of to prevent it if it can go into an infinite loop?
Thanks Sigurd. I have another question then. Maybe I should make a new question, but it seems to be related to the discussion. In the nrf_nvmc.c driver file, we have code such as
while (NRF_NVMC->READY == NVMC_READY_READY_Busy) {;}
This seems like it could go into an infinite loop when NRF_NVMC->READY is always == to NVMC_READY_READY_Busy due to some error in the FLASH HW . Do you think its possible that this statement can cause the code to go into an infinite loop? Is there some sort of to prevent it if it can go into an infinite loop?