This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
您好、香榭丽舍
我的客户有一个使用 F28377D 和 FPGA 的设计。 EMIF 配置为16位 异步。 在调试期间、他们发现 在将16位数据写入特定地址时 EM1CS2保持为高电平。 因此无法成功执行写入操作。
并附上了 F28377D 的原理图。
e2e.ti.com/.../TMS320F28377DZWTT.pdf
初始化代码如下所示。
void InitEmif1_16bit (void) { Emif1Initialize(); // Emif1_Pinmux_ASYNC_16bit(); //配置为在全速率上运行 EMIF1 (EMIF1CLK = CPU1SYSCLK) EALLOW; ClkCfgRegs.PERCLKDIVSEL.bit.EMIF1CLKDIV = 1; EDIS; EALLOW; //为 CPU1抓取 EMIF1 EMIF1ConfigRegs.EMIF1MSEL.ALL = 0x93A5CE71; //禁用访问保护(CPU_Fetch、CPU_WR/DMA_WR) EMIF1ConfigRegs.EMIF1ACCPRT0.ALL = 0x0; //提交与保护相关的配置。 直到该位保持置位 //无法更改 EMIF1ACCPROT0寄存器的内容。 EMIF1ConfigRegs.EMIF1COMMIT.ALL = 0x1; //锁定配置,以便不再更改 EMIF1COMMIT 寄存器。 EMIF1ConfigRegs.EMIF1LOCK.ALL = 0x1; EDIS; //为 EMIF1配置 GPIO 引脚 setup_emif1_pinmux_async_16bit (0); /* EMIF1 CS2数据总线- 16位、翻转- 3个周期、 读取保持- 8个周期、读取选通- 10个周期、读取设置- 10个周期、 写保持- 8个周期、写入选通- 10个周期、写设置- 10个周期、 扩展等待使能- 0U、选通模式*/ ASYNC_CS2_CONFIG (0、1、3、8、10、 10、8、10、10、0U、 1); emif1Regs.Rcsr.bit.FR = 0; }
您是否愿意帮助检查根本原因? 谢谢。
BR、
年轻
年轻、
感谢您报告根本原因。 它确实有助于我们进行问题跟踪。
Tommy