This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

nRF52840 writes to external memory space (XIP)

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.

Related