This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

8168 ddr初始化失败

Other Parts Discussed in Thread: OMAP3530, DM3730

你好,目前使用的Uboot是seed开发板的,我把uboot烧写到自己做的板子串口无输出,自己做的板子在CCS下分别做过DDR,NANDFLASH,串口的测试,一切都是OK,但是就是启动uboot无打印,bootmode:10010,在uboot添加了点灯程序和DDR测试程序(写入一个数据,然后再读出来),发现读写失败,也就是DDR初始化失败,我也对比了CCS下的GEL和Uboot关于DDR部分的代码,一样的,也做过SW_LEVELING,结果如下:

真的不知道哪里有问题,谢谢

  • 你好,

    1. 我也对比了CCS下的GEL和Uboot关于DDR部分的代码,一样的,

    是代码一样,还是配置的参数都一样?

    2. 也做过SW_LEVELING,结果如下

    怎么会出现0的情况?你是按照你们DDR布线的长度来确定的初始值么?多次SW leveling出来值不应该有很大的差别。最优值需要更新到uboot里面。

  • CCS的gel和Uboot参数是一样的,而且我在CCS下屏蔽了sw leveling 也能通过DDR测试,没有发现一个错误。

  • 你好,

    能否在uboot挂起后(DDR初始化结束,DDR测试失败),连上仿真器(先去除所有的gel),然后读取DDR相关寄存器的值,和在gel初始化DDR后的寄存器值比较,来确认两者的配置是完全一样的?

    gel里面配置的各个核的频率,DDR的频率和uboot里面配置的是否也是一样的?

  • 之前读写失败是由于在config_ti816x_sdram_ddr调用了walking_one_test(0x80000000,0x90000000),但是奇怪的是walking_one_test后,参数改变了,不是0x80000000,而且其他的乱数据,所以导致了读写数据不同。

    不使用walking_one_test,而是直接 __raw_writel(0x76767676, 0x80000000);读写正常。

    uboot挂起后,我用仿真器,读取DDR相关的寄存器和gel初始化后的数据一样。

    但是就是无法跳入start_armboot函数,如果把 ldr pc, _start_armboot @ jump to C code改成,bl _start_armboot 就可以进入那个函数,但是进入_start_armboot 后,无法进入_start_armboot 中调用的其他函数,比如board_init函数等


  • 你好,

    网络启动尝试过么?可以uboot可以正常运行么?

    或者可以使用CCS调试一下uboot,请参考:http://www.ti.com.cn/cn/lit/an/zhca539/zhca539.pdf。

  • 你好 :

        我没有用过ccs调试,uboot到时调试过,希望我的经验可以给你提供一点帮助:

       (1) ti的arm+dsp的芯片(dm368,dm3730,omap3530)物理地址直接在CS0上的,都是指定为0x8000 0000这个地址。xload和uboot基本都在0x8000 0000 + 512k这个范围活动,你的test程序没有问题,但是会不会吧uboot或者xload的代码给踩到了?

       (2)ldr pc 是强制load 地址到pc寄存器实现调用,再者启动部分的汇编的代码应该是位置无关的,因此_start_armboot 这个函数的地址就是链接是内存的实际地址,我认为你说的bl _start_armboot 可以运行,是不行的。因此至于后面的board_init函数等都不会执行到。

    希望对你有帮助

  • 你好,今天用网络也试验了一下,和nandflash启动效果一样,网络启动,是不是8168通过网络把uboot加载到ram中运行

    我选用的8168的ARM频率是1.2GHZ的,但我用的Uboot是开发板的,开发板的ARM频率是1G的8168,这个会不会导致加载Uboot失败。

  • Xin Jin,

    支持较高频率的DM816x配置为较低频率是没有问题的。