我们自制了一块DM8168的板子,现在正处于调试阶段。最近一直卡在ddr3初始化这块,现在内核能够连上,但是用Ti816x_ddr.gel文件配置板子时,会报错“CortexA8: Trouble Writing Memory Block at 0x4c000010 on Page 0 of Length 0x4: (Error -2130 @ 0x4C000010) Unable to access device memory. ”有的工程师说我们板子的ddr走线有问题,不知道怎么能确定问题的真正所在,请赐教,谢谢大家!
具体报错log信息如下:
CortexA8: Output: Device type is GPCortexA8: Output: DM816x Main PLL Init is in Progress, Please wait …..CortexA8: Output: DM816x Main PLL Init is Done …..CortexA8: Output: DM816x DDR PLL Init is in Progress for 796.5 MHz DDR Clock, Please wait …..CortexA8: Output: DM816x DDR PLL Init is Done …..CortexA8: Output: DM816x DDR2/3 PRCM Init is in progress …..CortexA8: Output: DM816x DDR2/3 PRCM Init is Done …..CortexA8: Trouble Writing Memory Block at 0x4c000010 on Page 0 of Length 0x4: (Error -2130 @ 0x4C000010) 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 5.0.710.0)DDR3_796MHZ_doall() cannot be evaluated.
target access failed
at *((unsigned int *) (0x4C000000+0x10))=(unsigned int) (0x10000000|SDREF) [Ti816x_ddr_LP_TI.gel:225]
at EMIF4P_Init(0x1557B9AD, 0x405F7FEB, 0x001F857F, (0x10001844&0xfffffff), 0x62A73832, 0x00000110) [Ti816x_ddr_LP_TI.gel:1766]
at DM816xDDRPLL_796() [Ti816x_ddr_LP_TI.gel:1357]
at DDR3_796MHZ_doall()
CortexA8: Trouble Reading Memory Block at 0x20094 on Page 0 of Length 0x25: (Error -1205 @ 0x20094) 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 5.0.710.0)CortexA8: Trouble Reading Memory Block at 0x20094 on Page 0 of Length 0xd: (Error -1203 @ 0x3D5B) 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 5.0.710.0)
CS_DAP_DebugSS: Failed to remove the debug state from the target before disconnecting. There may still be breakpoint op-codes embedded in program memory. It is recommended that you reset the emulator before you connect and reload your program before you continue debugging
CortexA8: Power Failure on Target CPUCortexA8: Failed to remove the debug state from the target before disconnecting. There may still be breakpoint op-codes embedded in program memory. It is recommended that you reset the emulator before you connect and reload your program before you continue debugging
Eason Wang:
如果是走线有问题导致的DDR3信号质量问题, 一般可以用降低DDR3的频率的办法来验证通过的。
你直接在gel文件里面把DDR3的频率降低看看吧。
peng ling:
回复 Eason Wang:
Eason Wang:
你好!谢谢你的解答,通过降频可以通过,打印信息如下:
但我按照wiki里ddr3_init文档,运行the Slave Ratio Search Program 后,按F8没有打印信息,请问问题可能出现在什么地方?
您们有什么测试程序可以让我确认板子DDR3 部分是否有问题,因为我们自制的这块板子接串口,没打印信息。
期待您的答复,谢谢
Eason Wang:
回复 peng ling:
http://support.spectrumdigital.com/boards/evm816x/revd/
这里有DDR3的测试文件(基于CCS的)