[216] QSPI: Race condition occurs in XIP

This anomaly applies to Revision 2, build codes CKAA-Dx0, QIAA-Dx0.

It was inherited from the previous IC revision Engineering D.


Data read from the XIP area is incorrect.


Code that is executing from internal flash memory or RAM reads data located in the XIP region. The read performs two consecutive LDR instructions from XIP addresses where the result of the first LDR instruction is used as the address of the second LDR. This occurs, for example, when dereferencing a pointer located in the XIP addresses.


Data read from the XIP area is incorrect.


To avoid the race condition, perform one of the following:
  • Copy the read-only data into internal RAM before accessing it using the memcpy() function.
  • Place the read-only data in internal flash memory in the linker script at compile time.