KeyStone_DDR_PLL_init 无法完成

KeyStone_DDR_PLL_init 无法完成

此问题已被解答
All Replies
  • 秀才172分

    大家好:

    我在6657开发板上测试初始化,首先main函数KeyStone_main_PLL_init(100, 10, 1),console可以正常输出

    [C66xx_0] Initialize DSP main clock = 100.00MHz/1x10 = 1000MHz。

    然后下面写KeyStone_DDR_PLL_init(50.0,20,1);console不能输出Initialize DDR speed = ****。

    判断程序应该是卡死在其调用的KeyStone_PLL_init,请问该如何做,这样初始化的方法不对吗?

    程序编译通过,没有报错和警告,在0核上运行。

  • 秀才172分

    单步运行发现卡死在TSC_delay_us延时程序,这部分能有什么能有什么问题?

    void TSC_delay_us(Uint32 us)
    {
    volatile unsigned long long startTSC, currentTSC;
    unsigned long long delay_cycles;
    Uint32 tscl, tsch;

    tscl= TSCL;
    tsch= TSCH;
    startTSC= _itoll(tsch,tscl);

    delay_cycles= ((unsigned long long)us*gDSP_Core_Speed_Hz/1000000);

    do
    {
    tscl= TSCL;
    tsch= TSCH;
    currentTSC= _itoll(tsch,tscl);
    }
    while((currentTSC-startTSC)<delay_cycles);
    }

  • 探花13655分

    您定时器跑起来了吗?可以查看TIMER中的寄存器判别下,如果没有重点检查SYSCLK, PLL相关配置

    上述内容如果回答了您的问题,请点击标签栏“是”按钮。您的轻轻一点,会帮助我们更好的管理论坛内容,谢谢!

  • 秀才187分

    先初始化 寄存器TSCL

  • 秀才172分

    恩 是的要先初始化TSC