I have a custom board that uses the SC589 with 2X 1GB DDR3 modules (Alliance AS4C512M16D3L) but I cannot get my code run standalone.
I have written a simple led toggle program that works when run with the preload code and ice1000 debugger in CCES - I can see that the program is running from 0xC1000000 and view the memory contents with the memory viewer but when I create a loader file using the init code and copy it to the onboard NOR Flash using CLDP with sc589_w25q128fv_dpia_Core1.dxeit it does not run.
I can see with a scope that the init code loads and that both DMC controllers are initialised by toggling a LED and I can see that it tries to load the main application to DDR3 by looking at the SPI flash lines but then it does nothing? I have changed the linker file so that it all runs from internal RAM and it works. Any help would be greatly appreciated.
Problem found, it was the External Calibration resistor (DMC_RZQ) it should be 34 Ohms and not 240 Ohms. Can anyone tell me why it works when in debug mode? why is it different?
Hi,Glad to know that your issue is resolved. Please note that you should use a good resistor of 34Ohms with 1% tolerance at the processor end and 240 ohms at memory end. This 34 Ohms resistor will be used to configure our ODT, incorrect resistor there will result in incorrect ODT.