创龙DSP开发板(C6748EVM)关于EMIF例程的疑问
时间:10-02
整理:3721RD
点击:
先贴出创龙例程的主函数 volatile int EMIFA_error_count = 0;
int i,j;
char ch[2];
//Delay(0x1ffffff);
/* 初始化串口终端 使用串口2*/
UARTStdioInit();
/* 打印串口终端信息*/
UARTPuts("EMIFA Test Application.\r\n", -2);
/* 使能PSC*/
PSCInit();
/*初始化EMIFA*/
EMIFASetup();
/*初始化数据缓冲区*/
for (i = 0; i < EMIF_BUFFER_LENGTH; i++)
{
emif_wbuffer = (short)(i);
emif_rbuffer = 0xDEAD;
}
/*向FPGA写数据*/
UARTprintf( "Writing %d words to FPGA\r\n", EMIF_BUFFER_LENGTH );
for (i = 0; i < EMIF_BUFFER_LENGTH; i++)
{
((short *)SOC_EMIFA_CS2_ADDR) = emif_wbuffer;
}
/*读取FPGA数据缓冲区*/
UARTprintf( "Reading %d words to FPGA\r\n", EMIF_BUFFER_LENGTH );
for (i = 0; i < EMIF_BUFFER_LENGTH; i++)
{
emif_rbuffer = ((short *)SOC_EMIFA_CS2_ADDR);
}--------------------------------------------------------------------------------------------------------
问题如下:
EMIF_FPGA的例程里,初始化EMIF后直接就往规定地址中写数,读数。
EMIF读和写的时序并不一样,
为什么不需要 一段代码用以 设置开始写FPGA,然后再向FPGA写数据。一段代码用以设置开始读FPGA呢。
int i,j;
char ch[2];
//Delay(0x1ffffff);
/* 初始化串口终端 使用串口2*/
UARTStdioInit();
/* 打印串口终端信息*/
UARTPuts("EMIFA Test Application.\r\n", -2);
/* 使能PSC*/
PSCInit();
/*初始化EMIFA*/
EMIFASetup();
/*初始化数据缓冲区*/
for (i = 0; i < EMIF_BUFFER_LENGTH; i++)
{
emif_wbuffer = (short)(i);
emif_rbuffer = 0xDEAD;
}
/*向FPGA写数据*/
UARTprintf( "Writing %d words to FPGA\r\n", EMIF_BUFFER_LENGTH );
for (i = 0; i < EMIF_BUFFER_LENGTH; i++)
{
((short *)SOC_EMIFA_CS2_ADDR) = emif_wbuffer;
}
/*读取FPGA数据缓冲区*/
UARTprintf( "Reading %d words to FPGA\r\n", EMIF_BUFFER_LENGTH );
for (i = 0; i < EMIF_BUFFER_LENGTH; i++)
{
emif_rbuffer = ((short *)SOC_EMIFA_CS2_ADDR);
}--------------------------------------------------------------------------------------------------------
问题如下:
EMIF_FPGA的例程里,初始化EMIF后直接就往规定地址中写数,读数。
EMIF读和写的时序并不一样,
为什么不需要 一段代码用以 设置开始写FPGA,然后再向FPGA写数据。一段代码用以设置开始读FPGA呢。