I am commissioning a new board design for the Sitara AM5716 processor and have not yet been able to get the DDR memory working.
So far I have successfully:
- Powered the system and checked all voltages, including DDR VTT
- Connect to the ARM, loaded and executed the TI supplied GEL files
- Connected to the DSP and other cores
- Ran a DSP/BIOS application on the DSP core (entirely in L2) --- this was a test only, I am not running any code at all until I can get the DDR working...
- Filled out the 'EMIF_RegisterConfig' spreadsheet to generate the EMIF parameters and LISA map configs
- Created my own GEL files (heavily leveraged from TI's starting point), changed DLL's to use 27MHz SYSCLK
- Ran the TI supplied DSS script 'am57xx-ddr.dss' to print diagnostic info, and verified the DDR PHY clock is configured for 666MHz
After running my newly created Dxo GEL scripts, the system registers can be viewed normally. However, if the memory browser is used to view any DDR memory location, the debugger loses connection to the target:
CortexA15_0: Trouble Reading Memory Block at 0x80000000 on Page 0 of Length 0x231: (Error -1205 @ 0x80000000) Device memory bus has an error and may be hung. Verify that the memory address is in valid memory. If error persists, confirm configuration, power-cycle board, and/or try more reliable JTAG settings (e.g. lower TCLK). (Emulation package 9.2.1.00046) CortexA15_0: Trouble Reading Memory Block at 0x80000000 on Page 0 of Length 0x231: (Error -2130 @ 0x80000000) Unable to access device memory. Verify that the memory address is in valid memory. If error persists, confirm configuration, power-cycle board, and/or try more reliable JTAG settings (e.g. lower TCLK). (Emulation package 9.2.1.00046) CortexA15_0: JTAG Communication Error: (Error -1170 @ 0x0) Unable to access the DAP. Reset the device, and retry the operation. If error persists, confirm configuration, power-cycle the board, and/or try more reliable JTAG settings (e.g. lower TCLK). (Emulation package 9.2.1.00046)
A hard reset is needed before I can reconnect (a soft reset and/or restarting the debug session does not recover with other errors indicating that no registers can be accessed).
I've attached the 'EMIF_RegisterConfig' spreadsheet, the GEL files that I am running on target connect, as well as the output from the 'am57xx-ddr.dss' script just before the memory hang.
Perhaps you can catch something that I have missed? Any help is greatly appreciated. Any additional scripts, diagnostics, or tests I could do to narrow down the problem would certainly help.
Thank-you!
-Jason