2025-02-17 09:43 PM
Hello,
I'm using a STM32H743 and IS42S32160 SDRAM. The SDRAM is in bank1, and I followed the instructions on how to setup the external memory from this guide:
i can read/write the entire bank (64Mbytes) one word at a time, but then when I run a memory test, where it uses a pattern (incrementor) at each location the memory test fails. Also, in debug mode, when I step through the program and watch the memory window, i noticed weird things happening. Before this memory tests starts, the entire 64mb is initialized to x80000000 as shown below:
Now the first write happens to location 0xc000_0000 <= 0000_0001, which seem to write there, but it also writes or reads from addresses: C000_0020, C000_0080, C000_00A0
Something similar happens to the next memory locations:
....
etc... it does that through out the entire memory space. I checked the schematic, and all the address lines seem to be routed properly (and i was able to initialize the sdram), so I don't think it is that. I tried this memory test program on multiple boards, exact same issue on all.
The memory clock is setup as per the aforementioned document (200Mhz / 2)
I double checked the timing as per the document and everything seems to be ok.
Anyone have any suggestions?
thanks
Matthew
Solved! Go to Solution.
2025-02-17 10:48 PM
ok, it seems there was unetched piece of copper between A7 and A5 on all the boards. I removed that small piece of copper and it seems to be working properly.
thanks
2025-02-17 10:48 PM
ok, it seems there was unetched piece of copper between A7 and A5 on all the boards. I removed that small piece of copper and it seems to be working properly.
thanks