📄 fpga_config.c.svn-base
字号:
/****************************************************************************
文件名称:fpga_config.c
版本号: 1.0
日期: 2006-5-10
说明: 包含配置FPGA EP1C12Q2408相关的函数。
调用列表:--
修改历史:--
****************************************************************************/
#include "delay.h"
#include "fpga_config.h"
#include "sys_UART.h"
void Fdelay(int t)
{
int i;
for(i=0;i<t;i++)
i = i;
}
int FConfig()
{
unsigned char *point = (unsigned char*)FPGA_ADD;
unsigned char temp;
unsigned i,m,bit_now;
#if URAT_DEBUG == 1
UART_Printf("IN FConfig.\n");
#endif
DCLK1;
NCONFIG0;
//OSTimeDly(3);
Fdelay(662251);
if(NSTATUS != 0)
{
#if UART_DEBUG == 1
UART_Printf("NSTATUS != 0\n");
#endif
return(FERROR);
}
NCONFIG1;
//OSTimeDly(2);
Fdelay(662251);
if(NSTATUS != 1)
{
#if UART_DEBUG == 1
UART_Printf("NSTATUS != 1\n");
#endif
return(FERROR);
}
for(i=0;i<FPGA_LEN;i++)
{
temp = *(point+i);
for(m=0;m<8;m++)
{
DCLK0;
//Fdelay(FDELAY); //sdy060728
if(CONF_DONE != 0)
{
#if UART_DEBUG == 1
UART_Printf("CONF_DONE != 0\n");
#endif
if(i!=0x46e64 && m!=7)
return(FERROR);
}
bit_now = temp & 0x1;
if(bit_now == 1)
DATA01;
else
DATA00;
DCLK1;
Fdelay(FDELAY); //sdy060728
temp = temp >> 1;
}
}
for(i=0;i<136;i++)
{
DCLK0;
Fdelay(FDELAY);
DCLK1;
Fdelay(FDELAY);
if(CONF_DONE != 1)
{
#if UART_DEBUG == 1
UART_Printf("CONF_DONE != 1\n");
#endif
return(FERROR);
}
}
#if UART_DEBUG == 1
UART_Printf("FPGA configuration successful\n");
#endif
return FOK;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -