Hi,
I've found an issue while writing data to QSPI flash memory on the nrf52840 DK board with sample application.
The issue is that the data is overwritten to 0x0 address if the start address is between 0xF1 and 0xFF when length is more than 16.
I expect the data is written over 0x100, but it is overlapped to 0x0.
If the start address is 0xF0 and below then it seems OK to write over address 0x100.
From sample application,
err_code = nrf_drv_qspi_write(m_buffer_tx, QSPI_TEST_DATA_SIZE, 0xF0);
APP_ERROR_CHECK(err_code);
WAIT_FOR_PERIPH();
NRF_LOG_INFO("Process of writing data start");
err_code = nrf_drv_qspi_read(m_buffer_rx, QSPI_TEST_DATA_SIZE, 0xF0);
WAIT_FOR_PERIPH();
NRF_LOG_INFO("Data read");
==> It works fine and displayed with 'Data consistent'.
However, if I change the start address to 0xF2 as below then 'Data inconsistent' is displayed on the log.
err_code = nrf_drv_qspi_write(m_buffer_tx, QSPI_TEST_DATA_SIZE, 0xF2);
APP_ERROR_CHECK(err_code);
WAIT_FOR_PERIPH();
NRF_LOG_INFO("Process of writing data start");
err_code = nrf_drv_qspi_read(m_buffer_rx, QSPI_TEST_DATA_SIZE, 0xF2);
WAIT_FOR_PERIPH();
NRF_LOG_INFO("Data read");
Anyone who has seen this issue and fixed then please let me know how I can fix it.
Thanks in advance.
Ben