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

DM8168 启动不稳定

你好,我做了5块样板,用的是DM8168,1V_AVS 用的是TPS40400芯片,输出0.99V。目前板上电源无论是功率还是上电顺序都符合DM8168的要求,但是我的板卡有时候能从SD卡启动,有时候就启动不了,串口不打印任何信息,设置为NandFlash时,也是一样的状况!我把电源飞到Ti的EVM板上了,EVM板每次开启都正常,很稳定!电源的问题应该排除。想问一下,影响芯片启动的因素还有那些方面需要注意的?这种情况哪方面的问题大一些?

Xiaohui Lin:

回复 VampireDaVinci:

感谢您的回复。不过,我这边是在uBoot启动之前就卡住了!这个芯片在PowerReset之后,内部Rom的Code会对DDR配置一个默认的400MHz的时钟,我测试过,当uBoot没起来的时候,DDR这个差分时钟是没有输出的,也就是说芯片的内部RomCode出现了问题!。。。。但是我的电源是没有问题的呀,不知道什么地方会影响Rom里的Code。。。

David Bian:

回复 Xiaohui Lin:

是在uboot里面对PLL和DDR进行配置的,修改uboot里面的相关配置。

Xiaohui Lin:

回复 David Bian:

uboot里是可以对DDR Clock 配置的,但上电时会有个默认的400MHz的输出时钟!我现在的状况是上电串口不打印任何东西,SD卡的Power引脚电平一直为低,DDRClock没有时钟!也就是说芯片自身内部自带的Rom里的代码没有将SD卡的uBoot Copy到内部Ram,uboot根本没有执行!芯片是在运行Rom内部的代码时挂掉的。还有就是,如果第一次上电正常启动的话,我按PowerReset键,总是会正常启动!而第一次上电没有启动的话,无论我按多少次PowerReset键,都不会启动了!

Xiaohui Lin:

回复 VampireDaVinci:

应该会死掉!但是我现在的状况来看,是在uboot启动之前就挂住了。。。是芯片内部Rom的code在执行时,就挂了!我想了解,什么地方的配置会影响内部的RomCode执行。。。。

David Bian:

回复 Xiaohui Lin:

DM8168启动的过程是

1. ROM load uboot到片上SRAM

2. 执行片上SRAM的UBOOT配置PLL和DDR,然后uboot把自己copy到DDR中

3. 在DDR中继续执行uboot,知道这个时候,才有串口打印信息。

Xiaohui Lin:

回复 David Bian:

应该不是的!Rom在load uboot之前是配置DDR Clock的!请看参考手册第2286页~2289页(第25章)!它的启动顺序是:

先开始CPU Rom“Secure”内的代码

跳到Rom Public 段执行该段代码

跳到“_main()"初始化堆栈

跳到”main()"

开启看门狗

配置DPLL和Clock(基本时钟)

Booting(这时才判断外部是Memory Device还是Peripheral Device。然后对应不同的启动模式将uBoot load到内部Ram,或直接执行uBoot)

 

 

Feng Dong:

回复 VampireDaVinci:

pls first use jtag to debug memory issue and there is one page for ddr init on wiki, pls follow the steps. Or you can see Tony's paper about small system on DM8168

赞(0)
未经允许不得转载:TI中文支持网 » DM8168 启动不稳定
分享到: 更多 (0)