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.

UART引导第二阶段失败

您好,我在使用通过UART引导时,遇到了如下问题:(使用Teraterm 工具

1、 使用UART下载stage1u-boot.min.uart可以成功;

2、 当使用UART下载stage2u-boot.bin,可以成功下载,但是当执行TI_MIN# go 0x81000000命令后,串口终端卡在“Starting application at 0x81000000 ...”。如下图所示,请问问题可能出在哪里呢?:

  • 你好,

    请问你使用的芯片是哪款?DM81xx?

    请问你是在你自己板子上测试的么?如果是,uboot里面DDR的参数配置是否有根据你使用的DDR调整过?如果是DM81xx系列参评,DDR SW leveling是否有做过?

  • 您好,我是在自己的板子上测得,我使用的是DM8127,我使用的U-BOO是广州创龙的DM8148开发板配套的,采用它默认的DDR配置,DDR CLK时钟配置为400MHz。

    另外,请问U-BOOT中哪个文件可以修改DDR的配置?

    另外DM81xx系列参评是指什么意思?

     

     

  • 你好,

    请参考:http://processors.wiki.ti.com/index.php/TI814x-DDR3-Init-U-Boot。

    建议你先看看本论坛的置顶资源帖:http://www.deyisupport.com/question_answer/dsp_arm/davinci_digital_media_processors/f/39/t/103688.aspx。

  • 你好,我在看完TI814x-DDR3-Init-U-Boot后,有以下几个问题:

    1、如果要完成SW Leveling,需要用到仿真器,但是我现在没有购买仿真器,请问还有办法做SW Leveling吗?

    2、TI814x-DDR3-Init-U-Boot中描写需要 File:DM814x DDR Controller Register Configuration spreadsheet v1.0.zip这个表格,但是后文中并没有使用这个表格计算的数据,请问这个表格我必须要配置吗,配置好的数据放在哪里使用呢?

    3、我现在还不太确认我的DDR3访问是否有问题,因为我现在可以成功通过UART进入第一阶段引导,然后再执行mtest指令后,发现返回结果都是失败。但是对少量地址进行读写,又是正确的,这是否说明DDR3访问不稳定呢?


  • YONGXIN YAN 说:
    1、如果要完成SW Leveling,需要用到仿真器,但是我现在没有购买仿真器,请问还有办法做SW Leveling吗?

    目前没有其他的方法。

    YONGXIN YAN 说:
    2、TI814x-DDR3-Init-U-Boot中描写需要 File:DM814x DDR Controller Register Configuration spreadsheet v1.0.zip这个表格,但是后文中并没有使用这个表格计算的数据,请问这个表格我必须要配置吗,配置好的数据放在哪里使用呢?

    Uboot里面有相关参数需要修改,请参考:http://processors.wiki.ti.com/index.php/TI814x-DDR3-Init-U-Boot#Register_to_U-Boot_Macro_Definition_Mapping_Table

  • 非常感谢!

           我在调试自己板子的DDR3过程中发现,当使用UART把第一阶段引导成功后,我执行mtest指令进行内存测试,发现内存中读写存在一个问题 ,如下图所示:

    从地址0x80000000开始,每隔32个双字,就会有32个双字无法访问,读回来的数据都是00000000,我考虑是不是因为我板子上的DSP(DM8127)只使用了DDR[0]端口(该端口接了2片16位的DDR3),DDR[1]端口没有接器件造成的,不知道我分析的对不对?

        如果对,请问如何通过U-BOOT配置DSP,使之仅使用DDR[0]端口工作?谢谢!

  • 你好,问题已经解决,需要把DMM的寄存器Interleveing mode 配置为no interleveing 即可。