uint32_t address = XIP_ADDRESS + addr; uint8_t *p_data = (uint8_t *)address; for (int i = 0; i < len; i++) { data[i] = p_data[i]; }
The Pin of QSPI/CSN is low after it read the data with XIP.
uint32_t address = XIP_ADDRESS + addr; uint8_t *p_data = (uint8_t *)address; for (int i = 0; i < len; i++) { data[i] = p_data[i]; }
The Pin of QSPI/CSN is low after it read the data with XIP.
Normal behavior of the QSPI in XIP mode - it expects the next read.
Workaround: Issue a dummy read via task (and not via XIP). CSn will be set to high after this read.
This will also improve current consumtion, since most QSPI flash chips consume more if CS is pulled low.
Normal behavior of the QSPI in XIP mode - it expects the next read.
Workaround: Issue a dummy read via task (and not via XIP). CSn will be set to high after this read.
This will also improve current consumtion, since most QSPI flash chips consume more if CS is pulled low.