Thank you for the quick reply. It pointed me in teh right direction: burst access to teh DDR.
I’ve quickly tried the PLL fix as suggested, but it seems that the PLL Status register has been changed in mask 2M22H and bit 4 is not available anymore. We’ve looked at the hardware connections for the DDR and they seem to be fine.
One thing that is worth mentioning is that on our board, the tracks that connect the DDR are rather short (less than an inch), and as mentioned in another thread, DDR initialization parameters might need some tweaking in order to have optimal results. Tried the RD_LAT 5 (as mentioned in another thread) in the SDRAM configuration register, but without any magical results.
While in the process of checking the DDR initialization values, I found that the SDCFG2 register settings were not properly calculated. I updated the values , and things got better. When new values for SDCFG2 were used and the RD_LAT 5 was set, one of the problems that we had got fixed (Ethernet was sending some corrupted packets before), but cache is not working yet. I am going to keep looking at the differences to see if i missed something else.
The developed board based on the MCF54451 and a MT46V32M16 DDR ram The code is based on MQX 3.6.1 (ported the 54455 for the hardware differences).
In the current stage I am able to run MQX from the onboard flash/DDR (without any debugger initialization) with the cache disabled. I am able to run the same code on the M54451EVB with the cache enabled. MCU’s on both boards are mask 2M22H (some of the errata items should not apply to this version ).