请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:TMS320F28377D Thread 中讨论的其他器件:controlSUITE、 C2000WARE、
尊敬的团队:
我的一位客户发现、当通过 emif2操作外部 SDRAM (MT48LC4M16A2P)时、将数据写入 CS0芯片选择的固定地址时、所有地址都将成为数据。
通过引用 controlSUITE 中的 emif1_16bit_SDRAM_FAR_cpu01和 EMIF_32IT_SDRAM_cpu01项目、他将两个演示的 emif1配置更改为 emif2进行测试。 以下是测试结果和代码:
void main (void) { int i = 0; InitSysCtrl (); InitGpio ();//针对此示例跳过 DINT;//禁用中断 InitPieCtrl (); //禁用 CPU 中断并清除所有 CPU 中断标志; EALLOW; IER = 0x0000; IFR = 0x0000; EDIS; InitPieVectTable(); EALLOW; EINT; EDIS; //#Step1 EALLOW; ClkCfgRegs.PERCLKDIVSEL.bit.EMIFF2CLKDIV = 1; EDIS; EALLOW; //#STEP2 //#STEP3 EMif2ConfigRegs.EMIFF2ACROT0.ALL = 0x0; /#STEP4 F2RECOM.EMIRCMT.1+ ;EMIF2RF2.1+= 0x000+;EMIF0_EMIF2REGRAM1+= 0x000+;ENTR.INTR.EMIF0_INTR.ENTR_EMIF2RF2.1+= 0x000+;ENTR_EMIF0_EMIF0_EMIF0_ENTR.ENTR.ENTR.ENTR.ENTR.ENTR.ENTR.INTR.ENTR.ENTR_EMIF2EMIF2= 0x160_ENTR.ENTR.ENTR.ENTR.ENTR.ENTR.ENTR.ENTR.ENTR.ENTR.ENTR.ENTR.ENTR.ENTR.ENTR.ENTR.ENTR.ENTR.ENTR.ENTR.ENTR.EM emif2Regs.SDRAM_TR.bit.T_RAS = 4; emif2Regs.SDRAM_TR.bit.T_RC = 5; emif2Regs.SDRAM_TR.bit.T_RRD = 1; emif2Regs.SDR_EXT_TMNG.bit.T_XS = 6; emif2Regs.SDRAM_RCR.bit.refrrrrr率= 1562;// Clif2Regs.drgSDRAM = 100MHz;emif2rgdr.emi2rgr.dr.em2r.emi_dr.rgr.emi2r.r.r.emi_drgr.r.r.rgb = 1 ;emifrf2 = 1;emifrf2 drgrf2 drgrgrf2 = 1;emi2rfrgrfrgrgrfr.rf2 = 1;emi2r.rfrgrfr.r.rgr.r.rgr.rgr.r.em emif2Regs.SDRAM_CR.bit.PAGESIGE = 0; EDIS; } //仅读取数据 char SDRAM_READ_write2 (uint32 start_addr、uint32 mem_size) { uint16 mem_rdl; uint16 mem_wdl; uint32 xMEM_p;uint32 mem_size = 0x32 mem_rdp; uint32 m_dr = uintm_dr;uint32 m_dr = u+ I = 0xm_dr;uint32 m_dr;uintm_dr = u_dr;u+ I = 0m_dr;uint32 m_dr = u+ XMEM_p = XMEM_p+2; mem_wdl += 0x0001; } } //io void setup_emif2_pinmux_SDRAM_16bit (uint16 cpu_SEL) { int i; for (i=53;i<=68;i++) { GPIO_SetupPinMux (i、cpu_sel、 i = 96;for}(i = 63;i = 68;i) i<=121;i++) { GPIO_SetupPinMux (I、CPU_SEL、3); } // //为异步模式配置数据引脚 // 针对(I = 53;I <= 68;i++) { GPIO_SetupPinOptions (I、0、0x31); }
此致