We are currently evaluating external memory on the NRF52840 and are trying to use external memory within the memory space of the processor (XIP). We are aware of the erratas that exist on this mode and have been able to read from the external memory using XIP.
However for us one question remains: is writing to the external memory space (0x12000000) supported by the QSPI peripheral? As example in the code below a error is thrown upon the write (assuming the peripheral is initialized of course before the code snippet).
uint32_t* extMemPtr = (uint32_t*) 0x12000000;
// read
uint32_t value = *extMemPtr;
// write, not allowed by NRF52?
(*extMemPtr) = 5;
Thank you for the clarification, we could not find a clear conclusion in the NRF52 datasheet but the NRF53 (Link) states that write is not supported in the XIP memory space.