STM32MP135 - issue with 4 bits moved to different address when testing DDR
Hello,
I'm testing a prototype board with STM32MP135FAE7 and MT41K256M16TW-107 DDR3L, using STM32DDRFW-UTIL firmware.
DDR_Test_Random fails if memcpy (DDR -> DDR) is used inside this test (this is the only one test using memcpy) but not if I'm copying memory using plain C loop with pointers to volatile uint32_t or volatile uint64_t. Failure type seems pretty consistent: 4 consecutive bits (one, always the same nibble) are "moved" from one 16-bit word to the next one. As far as I know (but I'm not 100% sure) this particular PCB data traces are uniform and relatively short (~28 mm), though one detail that might be more unusual is that order of data bits between MPU and DDR is swapped to help with routing.
I've used default memory settings from this example (DDR model is matching), I've tried also relaxed timings from CubeMX and lowering memory clock but this issue was persistent.
Do you have any hints how to debug this issue and what could be possible cause?
