2025-09-15 7:11 AM
Hello,
I am testing a custom board based on STM32MP257FAK3 with two DDR4 MT40A1G16RC-062E_B devices, for a total of 4 GB (32-bit width).
I have correctly set up the main configuration files to work with the PMIC and UART. I also exported the PCB layout of the Ax pins using CubeMX and re-imported them into the DDR configuration file. The .stm32 image is successfully generated and uploaded through CubeProgrammer. I can also access the console and successfully complete steps 0 and 1.
However, when reaching step 2, the initialization fails.
After some investigation, it seems that the failure occurs during training after the PHY configuration, specifically in the function:
At this point, the call to get_major_message() always returns 0xFF, which causes the program to enter the failed state.
My questions are:
Could this be related to incorrect training values not being properly written into the RAM?
Or is it more likely that the PHY is not synchronized and therefore cannot perform the test successfully?
Pin configuration of RAM is like on the DDR-Examples that STM32 provide for STM32MP257FAKX.
I had also tryied to upload it though CubeIde on the ddr test tool option. Uploading it to sysRAM.
At the moment I am stuck and unsure how to proceed. Any insights or suggestions would be greatly appreciated.
Thank you.