[7] KMU: Subsequent accesses between info_mem and main_mem of the flash may not work properly

This anomaly applies to IC Rev. Revision 2, build codes SICA-B1A, SIBA-B1A, SIAA-B1A.

It was inherited from the previous IC revision Revision 1.

Symptoms

Expected CPU read operation to flash main memory area never happens.

Conditions

Two back to back consecutive CPU read operations to flash, where the first read is to the flash UICR info page, and the second read is to flash main memory area.

Consequences

The read operation results in undefined behavior.

Workaround

Add a data synchronization barrier (DSB) operation between the two consecutive CPU read operations, in cases where the first read is to the flash UICR info page, and the second to the flash main memory area.
uint32_t a = UICR_S->SOMEREGISTER;
__DSB();
uint32_t b = *((uint32_t *)SOMEFLASHADDR);