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

DDR3 的驱动问题

   在调试335x的DDR3时,用的是CCS,非操作系统调试。

   按TI给的AM335x——StarterKit.gel,这个文件导入到CCS,debug的时候,DDR3可以驱动,读写正常。按.gel里的操作方式在非操作系统流程写DDR驱动的时候,

信息输出如下:

**** AM3358_SK Initialization is in progress ……….**** AM335x ALL PLL Config for OPP == OPP100 is in progress ………**** Going to Bypass…**** Bypassed, changing values…**** Locking ARM PLL
**** Core Bypassed
**** Now locking Core…
**** Core locked
**** DDR DPLL Bypassed
**** DDR DPLL Locked 纮鄝rogress ……….**** DISP PLL Config is DONE ……….**** AM335x ALL ADPLL Config for OPP == OPP100 is Done ………**** AM335x DDR3 EMIF and PHY configuration is in progress…EMIF PRCM is in progress …….EMIF PRCM DoneDDR PHY Configuration in progressWaiting for VTP Ready …….

就是一直处于等待VTP的状态。

  而且还有一个奇怪的问题,就是用CCS 进行debug的时候,在CCS里手动修改Control Module 里的vtp_ctrl的时候,可以启动VTP的。

但是在程序运行后,在main里让程序修改vtp_ctrl却没有反应,也是处于等待VTP的状态,或者说,就是一到程序里去开启VTP的时候,就不行了。

貌似在CCS调试时,程序要跳转到我的main函数里,CCS是先执行一段程序的,是CCS自带的boot.asm。会不会和这段汇编有关呢。这个问题还出现在USB里。CCS里手动修改Control Module里的usb_ctrl0的时候,是可以的,也就是usb的phy可以打开的。但是到了程序里,让程序段执行这个操作的时候,usb_ctrl0的值一直没有变化。也就是在程序里,貌似都无法对control module里很多寄存器写操作。

  而CM_WKUP_CONTROL_CLKCTRL是使能Control modbule的了。

 请问这类问题该如何处理呢。。

 1  刚进入CCSdebug时,vtp_ctrl的值

 

  2  修改enable, 使能VTP。(ready 信号有反应)

3. clrz 可以清零,并且 ready信号变0

4 。再把clrz 置1,ready信号有效,VTP成功开启。

以上是用CCS进入debug的时候,对VTP的操作。但是我按同样的方法,用main函数里去执行相同的操作的时候,VTP一直没有反应。在CCS的debug到运行我的main这段过程,就只是运行了CCS自带的 boot.asm。

 希望可以得到一些指导。

谢谢。

 

Gary Wu:

你好!请问有无按如下步骤进行

http://processors.wiki.ti.com/index.php/AM335x_EMIF_Configuration_tips#Control_Module_Registers

或者有无试过通过gel里面的VTP_Enable()进行

赞(0)
未经允许不得转载:TI中文支持网 » DDR3 的驱动问题
分享到: 更多 (0)