Erasing 4kb QSPI ext flash block takes too long 700 - 900 millisec

NRF52840 running 17.1 SDK and using QSPI interface to erase a block of memory from AT25FF321A external flash IC.

When we call erase it takes 930 millisec to finish erasing a 4kb block. The IC datasheet says it should only take 45 millisec or something like that. 

Why is it taking so long?

 

nrfx_err_t nrf_err = nrfx_qspi_erase(NRF_QSPI_ERASE_LEN_4KB, start_address);
if (NRFX_SUCCESS == nrf_err)
{
    while(NRFX_SUCCESS != nrf_drv_qspi_mem_busy_check());
}

// this usually takes 770 - 930 millisec to finish
// but the datasheet for the ext falsh says it should only take 45 ms at most

Parents
  • Hi Joshua, 
    As long as  you use our library directly you shouldn't have a problem using the nRF52 on the Laird's module. 
    When you change the QSPI pin, please make sure you follow the guideline on which pin should be used for QSPI. 
    I can see you are using some pins that clearly noted "low frequency I/O only" please try avoid that. Please check the spec for the detail list:


Reply
  • Hi Joshua, 
    As long as  you use our library directly you shouldn't have a problem using the nRF52 on the Laird's module. 
    When you change the QSPI pin, please make sure you follow the guideline on which pin should be used for QSPI. 
    I can see you are using some pins that clearly noted "low frequency I/O only" please try avoid that. Please check the spec for the detail list:


Children
Related