⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fpga_config.c.svn-base

📁 lwip协议在arm7+uCos系统上的移植
💻 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 + -