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.

[参考译文] CCS/TMS320F28377D:外部 RAM FPGA

Guru**** 2039030 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/882092/ccs-tms320f28377d-external-ram-fpga

器件型号:TMS320F28377D

工具/软件:Code Composer Studio

您好:

我正在尝试从0x00100000到0x00100008访问 CS2区域中的地址。 按照 技术参考手册、EMIF 已配置为异步模式。 对于读取/写入16位字、A0被连接至 EMxBA1、[A7:A1]被连接至[A6:A0]。 但是、从逻辑分析仪(Signaltap II)中可以看到28377d 的输出地址不正确。 CS2信号保持为1。 RNW 为0。 惊叹于1。 此外、CCS 中监控的指针是正确的。 这很奇怪。

我附加了我的代码。 有人可以给我一个提示吗? 非常感谢。

#include "F28x_Project.h"

void main (void)
{

InitSysCtrl ();

EALLOW;
ClkCfgRegs.PERCLKDIVSEL.bit.EMIF1CLKDIV = 1;// PLLSYSCLK Regfor EMIF
EDIS;

InitGpio ();EALLOC=CLKDIV1.133



;GPIO1.1/2;GPIO1.GPIO=GPIO1.GPIO1.bit.GPIO1.CMP1.133
;GPIO1.GPIO1.GPIO1.GPIO1.CMO1.CMP1.CMP1.CMO1.CMP1.CMP1.CMP1.133

//CS2 rd WE
GpioCtrlRegs.GPBMUX1.bit.GPIO32=2;//CS0低电平启用
GpioCtrlRegs.GPBMUX1.bit.GPIO34=2;/CS2低电平启用
GpioBMlRegs.GPUX1.bit.GPIO33=2;/GPUX2=314./GPioBMBO.GPIO2=2.GPBMBO.GPUX1.bit.GPIO2=315.G/2.GPIO1.bit.GPIO2=3.G/2.GPIO1.bit.GPIO1.bit.GPIO1.bit.GPIO2=3.nW/GPO1.bit.GPIO1.bit.GPIO1.bit

低电平启用

//addr
GpioCtrlRegs.GPCMUX2.bit.GPIO92=3;//EM1BA1
GpioCtrlRegs.GPBMUX1.bit.GPIO38=2;//A0
GpioRegs.BMBIMUX1.bit.GPIO39=2;//A1
Gpio1.bit.GPIO2=GPIO1.GPIO2=GPBMUX1.GPIO1.GPIO1.bit.GPIO1.GPIO1.GPIO1.GPIO1.bit.GPIO2=GPIO1.GPIO1.GPIO2=GPIO1.GPIO1.GPIO1.GPIO1.GPIO1.GPIO1.GPIO1.bit.GPIO
//A3

GpioCtrlRegs.GPBMUX1.bit.GPIO44=2;//A4
GpioCtrlRegs.GPBMUX1.bit.GPIO45=2;//A5
GpioCtrlRegs.GPBMUX1.bit.GPIO46=2;//A6
GpioRegs.GPUX2.GPIO2=GPUX2.GPIO2=GPBMUX2.G/2=GPIO4.BMUX2.G47=GPTX2.G2.GPTX2.GPTX2.GPTX2.GPTX1.bit.GPIO4.GPTX2.GPTX2.GPTX2.GPTX2.

//A8
GpioCtrlRegs.GPBMUX2.bit.GPIO49=2;//A9
GpioCtrlRegs.GPBMUX2.bit.GPIO50=2;//A10
GpioCtrlRegs.GPBMUX2.bit.GPIO51=2;// A11 GpioRegs.GPIO2=GPBM2=GPIO12.G52
位 GPM2=GPIO12.G12=GPIO12.GDPX2.G2=GPIO12.G2=GPIO12.G2=GPIO12.G12=GPIO12.GDPX2.GPIO12.G12=GPIO12.G12=GPIO12.GCLA12.G

//A13
GpioCtrlRegs.GPCMUX2.bit.GPIO87=2;//A14
GpioCtrlRegs.GPCMUX2.bit.GPIO88=2;//A15
GpioCtrlRegs.GPCMUX2.bit.GPIO89=2;// A16
GpioX2=Gpio91.GPCMUX2.GPCM2=Gpio91.GPCM2=GPCMB.GPCMU91.GPCM2=GPCMB.GPCMB.GPCMG.CLGPCM2=GPCMB.GPCMG.CLGPCM2=GPCMG.GPCMG.G
//A18
//GpioCtrlRegs.GPCMUX2.bit.GPIO92=2;//A19


//数据
GpioCtrlRegs.GPCMUX1.bit.GPIO69=2;
GpioCtrlRegs.GPCMUX1.bit.GPIO70=2;
GpioCtrl72=2.Gpio1.Gpit.GPCMUX1=2.Gpio71;GpioMIP1=2.Gpit.GPCMUX1.GPCM1=2.Gpit.GPCMUX1.GPCM2=2.Gpit.GPCM1=2.GPCM1=2.Gp

GpioCtrlRegs.GPCMUX1.bit.GPIO73=2;
GpioCtrlRegs.GPCMUX1.bit.GPIO74=2;
GpioCtrlRegs.GPCMUX1.bit.GPIO75=2;
GpioCtrlRegs.GPCMUX1.bit.GPIO76=2;GpioCtrl.GPIO77=2
;GpioCtrlRegs.GPCMUX1.bit.GPIO77=2
GpioCtrlRegs.GPCMUX1.bit.GPIO78=2;
GpioCtrlRegs.GPCMUX1.bit.GPIO79=2;
GpioCtrlRegs.GPCMUX2.bit.GPIO80=2;
GpioCtrlRegs.GPCMUX2.bit.GPIO81=2;Gpio8=2=Gpio2=GpioCtrlRegs.GPCMU82=2;GPIO82=2

GpioCtrlRegs.GPCMUX2.bit.GPIO83=2;
GpioCtrlRegs.GPCMUX2.bit.GPIO85=2;
EDIS;


Emif1Regs.ASYNC_CS2_CR.ALL =(EMIF_ASYNC_ASIZE_16 |// 16位内存 EMIF_ASYNC_4
|
EMIF_ASYNC_RHOLD_8 |
EMIF_ASYNC_RSTROBE_64 |
EMIF_ASYNC_RSETUP_16 |
EMIF_ASYNC_WHOLD_8 |
EMIF_ASYNC_WSTROBE_64 |
EMIF_ASYNC_WSETUP_16 |
EMIF_ASYNC_EW_DISABLE |
EMIF_ASYNC_SS_DISABLE);

DINT;
InitPieCtrl ();
IER = 0x0000;
IFR = 0x0000;
InitPieVectTable();
EINT;

int i;
uint16 * ExRamStart =(uint16*) 0x00100000;
对于(i=0;i<0x0008;i++)
{
*(ExRamStart+I)=0x6666;
}


while (1)
{
GpioDataRegs.GPECLEAR.bit.GPIO133=1;
DELAY_US (50000);
GpioDataRegs.GPESET.BIO133=1;
DELAY_US (50000);
}

} 

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    此问题是否与下面的问题相同-

    如果是、我们可以在其中一个帖子上讨论它、以避免混淆。

    您能否确认您已在电路板上检查了器件与存储器之间的 CS2引脚连接、或者您正在探测引脚的位置? 您能否简单地通过写入 GPIO 切换位(在 GPIO 模式下)来切换该引脚、并查看是否能够在示波器上看到切换。

    此致、

    Vivek Singh

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Vivek:

    非常感谢您的回复。 我们可以在本帖子中对此进行讨论。 上一个帖子有一些错误、我无法删除该帖子。  

    我非常仔细地检查了连接。 我可以在 GPIO 模式下切换该引脚。 我可以从示波器看到切换。  

    此外、我检查了 SignalTap 的结果、在执行 for 循环时、没有任何数据总线(0000h)。 然而、当 for 循环完成时、最后一个值被放置在数据总线上(6666h)。  

    我期待您的反馈。

    非常感谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    请参阅我对此帖子的回复。

    此致、

    Vivek Singh