各位专家好!
我在DDR初始化程序单步运行的时候,通过Expressions观察程序中变量值的变化情况,可是出现了如图所示的错误,请问是什么原因呢?谢谢!
下面是DDR初始化程序的部分程序
//配置SDRAM 定时寄存器(SDTIM1~SDTIM3)
DDR_Regs->SDRAM_TIM_1 =
((unsigned int)(13.5*clock_MHz/1000.f-0.0001f)<<CSL_EMIF4F_SDRAM_TIM_1_REG_T_RP_SHIFT)|
((unsigned int)(13.5*clock_MHz/1000.f-0.0001f)<<CSL_EMIF4F_SDRAM_TIM_1_REG_T_RCD_SHIFT)|
((unsigned int)(15*clock_MHz/1000.f-0.0001f)<<CSL_EMIF4F_SDRAM_TIM_1_REG_T_WR_SHIFT)|
((unsigned int)(36*clock_MHz/1000.f-0.0001f)<<CSL_EMIF4F_SDRAM_TIM_1_REG_T_RAS_SHIFT)|
((unsigned int)(49.5*clock_MHz/1000.f-0.0001f)<<CSL_EMIF4F_SDRAM_TIM_1_REG_T_RC_SHIFT)|
((unsigned int)(5-1)<<CSL_EMIF4F_SDRAM_TIM_1_REG_T_RRD_SHIFT)|
((unsigned int)(7.5*clock_MHz/1000.f-0.0001f)<<CSL_EMIF4F_SDRAM_TIM_1_REG_T_WTR_SHIFT);
DDR_Regs->SDRAM_TIM_2 = (5<<25)| /*ODTH8*/
((unsigned int)(6*clock_MHz/1000.f-0.0001f)<<CSL_EMIF4F_SDRAM_TIM_2_REG_T_XP_SHIFT)|
((unsigned int)(120*clock_MHz/1000.f-0.0001f)<<CSL_EMIF4F_SDRAM_TIM_2_REG_T_XSNR_SHIFT)|
((512-1)<<CSL_EMIF4F_SDRAM_TIM_2_REG_T_XSRD_SHIFT)|
((unsigned int)(7.5*clock_MHz/1000.f-0.0001f)<<CSL_EMIF4F_SDRAM_TIM_2_REG_T_RTP_SHIFT)|
((unsigned int)(5.625*clock_MHz/1000.f-0.0001f)<<CSL_EMIF4F_SDRAM_TIM_2_REG_T_CKE_SHIFT);
DDR_Regs->SDRAM_TIM_3 =
((5)<<CSL_EMIF4F_SDRAM_TIM_3_REG_T_CSTA_SHIFT)|
((64-1)<<CSL_EMIF4F_SDRAM_TIM_3_REG_ZQ_ZQCS_SHIFT)|
((unsigned int)(110*clock_MHz/1000.f-0.0001f)<<CSL_EMIF4F_SDRAM_TIM_3_REG_T_RFC_SHIFT)|
((9-1)<<CSL_EMIF4F_SDRAM_TIM_3_REG_T_RAS_MAX_SHIFT);
DDR_Regs->DDR_PHY_CTRL_1 = 0x00100100|
(15<<CSL_EMIF4F_DDR_PHY_CTRL_1_REG_READ_LATENCY_SHIFT);
Andy Yin1:
您好,
不能这么看,需要在expression中输入结构体变量DDR_Regs,然后在打开该结构体进行查看其中的元素。
andy lee1:
回复 Andy Yin1:
你好!
我在expression里输入了DDR_Regs,再观察它里面的元素的时候还是出现了下图的错误,请问是什么原因啊?谢谢!
Andy Yin1:
回复 andy lee1:
保证在该地址被初始化赋值后再去看。
andy lee1:
回复 Andy Yin1:
Andy Yin
我给DDR_Regs结构体指针赋初值以后,该指针变量有了初始地址0x21000000,但结构体里面的各个变量成员却都无法分配地址,如图,仍然是出现如上图所示的错误,请问是什么原因?谢谢!
Andy Yin1:
回复 andy lee1:
您好,
我使用FAQ中的SRIO例子在CCS5.1及EVM6678上试了一下是可以的呀,如下图。确认一下你的测试环境.
andy lee1:
回复 Andy Yin1:
Andy Yin
您好!
我用的是CCS5.0.3版本的,进行在线仿真,没有下载到EVM板上,请问需要对测试环境作什么配置吗?
另外,出现“unexpected token”这种错误可能是什么原因呢?
我在memory browser中查看这些变量占用的地址处的值,发现是有值的,为何在expressions里却查看不到呢?
谢谢!
Andy Yin1:
回复 andy lee1:
您好,
CCS环境不需要配置,你可以自己写一个简单的结构体,定义一个这样的变量,看看能否看到,如果还是不行,就有可能是CCS环境有问题,可以重新安装一下CCS5.1.009试试。谢谢