MT7620sdk_sdram配合不当导致系统在uboot挂死

来源:互联网 发布:java 什么是异常 编辑:程序博客网 时间:2024/05/07 18:47

问题:

ESMT DDR2 M14D5121632A -2.5BG2K 配合MT7620A工作时系统会莫名其妙重启,然后在ubootmemory自检时失败,导致uboot挂死。Uboot中的watchdog也无法规避该问题。

 

【异常的uboot启动信息】

U-Boot 1.1.3 (May 28 2014 - 17:52:21)

 

Board: Ralink APSoC DRAM:  64 kB

 

 

【正常的uboot启动信息】

U-Boot 1.1.3 (May 28 2014 - 17:52:21)

 

Board: Ralink APSoC DRAM:  64 MB

rt2880 uboot v0.00e04 05/28/2014

SERIAL_CLOCK_DIVISOR =16 

kaiker,,CONFIG_BAUDRATE =57600 

SDRAM SIZE:04000000

Top of RAM usable for U-Boot at: 84000000

Reserving 297k for U-Boot at: 83fb4000

Reserving 260k for malloc() at: 83f73000

Reserving 44 Bytes for Board Info at: 83f72fd4

Reserving 36 Bytes for Global Data at: 83f72fb0

Reserving 128k for boot params() at: 83f52fb0

Stack Pointer at: 83f52f98

relocate_code Pointer at: 83fb4000

enable ephy clock...done. rf reg 29 = 5

SSC disabled.

Now running in RAM - U-Boot at: 83fb4000

 

【原因分析】

该问题通过启用uboot中的watchdog也无法解决,后和SDRAM厂家一起分析后得到的结论是:

MT7620A主控与一般主控不同,MT7620A会下发self-refresh让系統处于省电状态,但因ESMT DDR2 512Mb的filter没有把glitch过滤干净,从而导致指令冲突。

SDRAM厂家针对上面的问题修改ESMT DDR2 512Mb后, 该问题未再复现。

4 0
原创粉丝点击