Verification of a firmware image that is currently running from flash is failing and I have a strong suspicion that this is because the verification is being performed on executing code. The verification system I have in place works fine while examining portions of flash that aren't accessible to the current program.
I am suspecting an I-code and D-code bus conflict at the flash controller.
I am wondering if your engineers can confirm this behavior and whether a DMA read to the same flash address as I-code will work or perhaps offer a workaround.
I have an application executing at offset 0x0 in bank0 that is performing a CRC32 (using driverlib and CRC32 hardware peripheral) over all words of itself. At some point the flash read address on D-code will collide with the for-loop executing the verification. The system clocks and flash controller configuration is POR default and not configured by the application.
Device: XMS432 P401R RevB (MSP-EXP432P401R)