TI中文支持网
TI专业的中文技术问题搜集分享网站

Starterware bootloader 串口启动失败

代码在BBB上可正常通过串口启动。在我自己的板上启动不了。

我自己的板子是AM3352 800MHZ MAX,DDR2+外部晶振24MHZ,初始化的时候去掉了TPS的控制。bootloader启动后,通过xmodem下载完程序,无法正常跳转到DDR中执行。

比较怀疑是PLL配置的问题,但是配置看起来并没有超过800MHZ,请问还有可能是什么问题导致的。

void BlPlatformConfig(void)
{
#if 0
    BoardInfoInit();
    deviceVersion = DeviceVersionGet();
    ConfigVddOpVoltage();

    oppMaxIdx = BootMaxOppGet();

    SetVdd1OpVoltage(oppTable[oppMaxIdx].pmicVolt);

#endif
    HWREG(SOC_WDT_1_REGS + WDT_WSPR) = 0xAAAAu;
    while(HWREG(SOC_WDT_1_REGS + WDT_WWPS) != 0x00);

    HWREG(SOC_WDT_1_REGS + WDT_WSPR) = 0x5555u;
    while(HWREG(SOC_WDT_1_REGS + WDT_WWPS) != 0x00);

    /* Configure DDR frequency */
#ifdef DDR3
    freqMultDDR = DDRPLL_M_DDR3;
#elif defined DDR2
    freqMultDDR = DDRPLL_M_DDR2;
#else
    #error DDR VERSION NO DEFINED!!
#endif

    /* Set the PLL0 to generate 300MHz for ARM */
    PLLInit();

    /* Enable the control module */
    HWREG(SOC_CM_WKUP_REGS + CM_WKUP_CONTROL_CLKCTRL) =
            CM_WKUP_CONTROL_CLKCTRL_MODULEMODE_ENABLE;

    /* EMIF Initialization */
    EMIFInit();

    /* DDR Initialization */
#ifdef DDR3
    DDR3Init();
#elif defined DDR2
    DDR2Init();
#else
    #error DDR VERSION NO DEFINED!!
#endif

    /* UART Initialization */
    UARTSetup();
}

Jian Zhou:

建议测试一下DDR3的读写。

Shine:

回复 Jian Zhou:

请问bootloader能把application code加载到DDR3吗?

赞(0)
未经允许不得转载:TI中文支持网 » Starterware bootloader 串口启动失败
分享到: 更多 (0)