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

📄 main_entry.c

📁 用于开发Linux的Bootloader源代码
💻 C
📖 第 1 页 / 共 4 页
字号:
		*((unsigned short *)AM_SECTOR_ADDR_42) = AM_SECTOR_ERASE;	//0x3030
EUS42:
         	Delay(8000);
		for(address=(unsigned short *)AM_SECTOR_ADDR_42;address<(unsigned short *)AM_SECTOR_ADDR_43;address++)
			{
			if(*address!=0xffff)
				{goto EUS42;
				}
			}
		}
/********************************** User Flash S43 *********************************************/
	if(CNT>64*42)
		{         
		 put_char(0, 0x08);put_char(0, 0x08); i_printf("43");
		Flash_Unlock();
		*((unsigned short *)AM_SECTOR_ADDR_43) = AM_SECTOR_ERASE;	//0x3030
EUS43:
         	Delay(8000);
		for(address=(unsigned short *)AM_SECTOR_ADDR_43;address<(unsigned short *)AM_SECTOR_ADDR_44;address++)
			{
			if(*address!=0xffff)
				{goto EUS43;
				}
			}
		}
/********************************** User Flash S44 *********************************************/
	if(CNT>64*43)
		{         
		 put_char(0, 0x08);put_char(0, 0x08); i_printf("44");
		Flash_Unlock();
		*((unsigned short *)AM_SECTOR_ADDR_44) = AM_SECTOR_ERASE;	//0x3030
EUS44:
         	Delay(8000);
		for(address=(unsigned short *)AM_SECTOR_ADDR_44;address<(unsigned short *)AM_SECTOR_ADDR_45;address++)
			{
			if(*address!=0xffff)
				{goto EUS44;
				}
			}
		}
/********************************** User Flash S45 *********************************************/
	if(CNT>64*44)
		{         
		 put_char(0, 0x08);put_char(0, 0x08); i_printf("45");
		Flash_Unlock();
		*((unsigned short *)AM_SECTOR_ADDR_45) = AM_SECTOR_ERASE;	//0x3030
EUS45:
         	Delay(8000);
		for(address=(unsigned short *)AM_SECTOR_ADDR_45;address<(unsigned short *)AM_SECTOR_ADDR_46;address++)
			{
			if(*address!=0xffff)
				{goto EUS45;
				}
			}
		}
/********************************** User Flash S46 *********************************************/
	if(CNT>64*45)
		{         
		 put_char(0, 0x08);put_char(0, 0x08); i_printf("46");
		Flash_Unlock();
		*((unsigned short *)AM_SECTOR_ADDR_46) = AM_SECTOR_ERASE;	//0x3030
EUS46:
         	Delay(8000);
		for(address=(unsigned short *)AM_SECTOR_ADDR_46;address<(unsigned short *)AM_SECTOR_ADDR_47;address++)
			{
			if(*address!=0xffff)
				{goto EUS46;
				}
			}
		}
/********************************** User Flash S47 *********************************************/
	if(CNT>64*46)
		{         
		 put_char(0, 0x08);put_char(0, 0x08); i_printf("47");
		Flash_Unlock();
		*((unsigned short *)AM_SECTOR_ADDR_47) = AM_SECTOR_ERASE;	//0x3030
EUS47:
         	Delay(8000);
		for(address=(unsigned short *)AM_SECTOR_ADDR_47;address<(unsigned short *)AM_SECTOR_ADDR_48;address++)
			{
			if(*address!=0xffff)
				{goto EUS47;
				}
			}
		}
/********************************** User Flash S48 *********************************************/
	if(CNT>64*47)
		{         
		 put_char(0, 0x08);put_char(0, 0x08); i_printf("48");
		Flash_Unlock();
		*((unsigned short *)AM_SECTOR_ADDR_48) = AM_SECTOR_ERASE;	//0x3030
EUS48:
         	Delay(8000);
		for(address=(unsigned short *)AM_SECTOR_ADDR_48;address<(unsigned short *)AM_SECTOR_ADDR_49;address++)
			{
			if(*address!=0xffff)
				{goto EUS48;
				}
			}
		}
/********************************** User Flash S49 *********************************************/
	if(CNT>64*48)
		{         
		 put_char(0, 0x08);put_char(0, 0x08); i_printf("49");
		Flash_Unlock();
		*((unsigned short *)AM_SECTOR_ADDR_49) = AM_SECTOR_ERASE;	//0x3030
EUS49:
         	Delay(8000);
		for(address=(unsigned short *)AM_SECTOR_ADDR_49;address<(unsigned short *)AM_SECTOR_ADDR_50;address++)
			{
			if(*address!=0xffff)
				{goto EUS49;
				}
			}
		}
/********************************** User Flash S50 *********************************************/
	if(CNT>64*49)
		{         
		 put_char(0, 0x08);put_char(0, 0x08); i_printf("50");
		Flash_Unlock();
		*((unsigned short *)AM_SECTOR_ADDR_50) = AM_SECTOR_ERASE;	//0x3030
EUS50:
         	Delay(8000);
		for(address=(unsigned short *)AM_SECTOR_ADDR_50;address<(unsigned short *)AM_SECTOR_ADDR_51;address++)
			{
			if(*address!=0xffff)
				{goto EUS50;
				}
			}
		}
/********************************** User Flash S51 *********************************************/
	if(CNT>64*50)
		{         
		 put_char(0, 0x08);put_char(0, 0x08); i_printf("51");
		Flash_Unlock();
		*((unsigned short *)AM_SECTOR_ADDR_51) = AM_SECTOR_ERASE;	//0x3030
EUS51:
         	Delay(8000);
		for(address=(unsigned short *)AM_SECTOR_ADDR_51;address<(unsigned short *)AM_SECTOR_ADDR_52;address++)
			{
			if(*address!=0xffff)
				{goto EUS51;
				}
			}
		}
/********************************** User Flash S52 *********************************************/
	if(CNT>64*51)
		{         
		 put_char(0, 0x08);put_char(0, 0x08); i_printf("52");
		Flash_Unlock();
		*((unsigned short *)AM_SECTOR_ADDR_52) = AM_SECTOR_ERASE;	//0x3030
EUS52:
         	Delay(8000);
		for(address=(unsigned short *)AM_SECTOR_ADDR_52;address<(unsigned short *)AM_SECTOR_ADDR_53;address++)
			{
			if(*address!=0xffff)
				{goto EUS52;
				}
			}
		}
/********************************** User Flash S53 *********************************************/
	if(CNT>64*52)
		{         
		 put_char(0, 0x08);put_char(0, 0x08); i_printf("53");
		Flash_Unlock();
		*((unsigned short *)AM_SECTOR_ADDR_53) = AM_SECTOR_ERASE;	//0x3030
EUS53:
         	Delay(8000);
		for(address=(unsigned short *)AM_SECTOR_ADDR_53;address<(unsigned short *)AM_SECTOR_ADDR_54;address++)
			{
			if(*address!=0xffff)
				{goto EUS53;
				}
			}
		}
/********************************** User Flash S54 *********************************************/
	if(CNT>64*53)
		{         
		 put_char(0, 0x08);put_char(0, 0x08); i_printf("54");
		Flash_Unlock();
		*((unsigned short *)AM_SECTOR_ADDR_54) = AM_SECTOR_ERASE;	//0x3030
EUS54:
         	Delay(8000);
		for(address=(unsigned short *)AM_SECTOR_ADDR_54;address<(unsigned short *)AM_SECTOR_ADDR_55;address++)
			{
			if(*address!=0xffff)
				{goto EUS54;
				}
			}
		}
/********************************** User Flash S55 *********************************************/
	if(CNT>64*54)
		{         
		 put_char(0, 0x08);put_char(0, 0x08); i_printf("55");
		Flash_Unlock();
		*((unsigned short *)AM_SECTOR_ADDR_55) = AM_SECTOR_ERASE;	//0x3030
EUS55:
         	Delay(8000);
		for(address=(unsigned short *)AM_SECTOR_ADDR_55;address<(unsigned short *)AM_SECTOR_ADDR_56;address++)
			{
			if(*address!=0xffff)
				{goto EUS55;
				}
			}
		}
/********************************** User Flash S56 *********************************************/
	if(CNT>64*55)
		{         
		 put_char(0, 0x08);put_char(0, 0x08); i_printf("56");
		Flash_Unlock();
		*((unsigned short *)AM_SECTOR_ADDR_56) = AM_SECTOR_ERASE;	//0x3030
EUS56:
         	Delay(8000);
		for(address=(unsigned short *)AM_SECTOR_ADDR_56;address<(unsigned short *)AM_SECTOR_ADDR_57;address++)
			{
			if(*address!=0xffff)
				{goto EUS56;
				}
			}
		}
/********************************** User Flash S57 *********************************************/
	if(CNT>64*56)
		{         
		 put_char(0, 0x08);put_char(0, 0x08); i_printf("57");
		Flash_Unlock();
		*((unsigned short *)AM_SECTOR_ADDR_57) = AM_SECTOR_ERASE;	//0x3030
EUS57:
         	Delay(8000);
		for(address=(unsigned short *)AM_SECTOR_ADDR_57;address<(unsigned short *)AM_SECTOR_ADDR_58;address++)
			{
			if(*address!=0xffff)
				{goto EUS57;
				}
			}
		}
/********************************** User Flash S58 *********************************************/
	if(CNT>64*57)
		{         
		 put_char(0, 0x08);put_char(0, 0x08); i_printf("58");
		Flash_Unlock();
		*((unsigned short *)AM_SECTOR_ADDR_58) = AM_SECTOR_ERASE;	//0x3030
EUS58:
         	Delay(8000);
		for(address=(unsigned short *)AM_SECTOR_ADDR_58;address<(unsigned short *)AM_SECTOR_ADDR_59;address++)
			{
			if(*address!=0xffff)
				{goto EUS58;
				}
			}
		}
/********************************** User Flash S59 *********************************************/
	if(CNT>64*58)
		{         
		 put_char(0, 0x08);put_char(0, 0x08); i_printf("59");
		Flash_Unlock();
		*((unsigned short *)AM_SECTOR_ADDR_59) = AM_SECTOR_ERASE;	//0x3030
EUS59:
         	Delay(8000);
		for(address=(unsigned short *)AM_SECTOR_ADDR_59;address<(unsigned short *)AM_SECTOR_ADDR_60;address++)
			{
			if(*address!=0xffff)
				{goto EUS59;
				}
			}
		}
/********************************** User Flash S60 *********************************************/
	if(CNT>64*59)
		{         
		 put_char(0, 0x08);put_char(0, 0x08); i_printf("60");
		Flash_Unlock();
		*((unsigned short *)AM_SECTOR_ADDR_60) = AM_SECTOR_ERASE;	//0x3030
EUS60:
         	Delay(8000);
		for(address=(unsigned short *)AM_SECTOR_ADDR_60;address<(unsigned short *)AM_SECTOR_ADDR_61;address++)
			{
			if(*address!=0xffff)
				{goto EUS60;
				}
			}
		}
/********************************** User Flash S61 *********************************************/
	if(CNT>64*60)
		{         
		 put_char(0, 0x08);put_char(0, 0x08); i_printf("61");
		Flash_Unlock();
		*((unsigned short *)AM_SECTOR_ADDR_61) = AM_SECTOR_ERASE;	//0x3030
EUS61:
         	Delay(8000);
		for(address=(unsigned short *)AM_SECTOR_ADDR_61;address<(unsigned short *)AM_SECTOR_ADDR_62;address++)
			{
			if(*address!=0xffff)
				{goto EUS61;
				}
			}
		}
/********************************** User Flash S62 *********************************************/
	if(CNT>64*61)
		{         
		 put_char(0, 0x08);put_char(0, 0x08); i_printf("62");
		Flash_Unlock();
		*((unsigned short *)AM_SECTOR_ADDR_62) = AM_SECTOR_ERASE;	//0x3030
EUS62:
         	Delay(8000);
		for(address=(unsigned short *)AM_SECTOR_ADDR_62;address<(unsigned short *)AM_SECTOR_ADDR_63;address++)
			{
			if(*address!=0xffff)
				{goto EUS62;
				}
			}
		}
/********************************** User Flash S63 *********************************************/
	if(CNT>64*62)
		{         
		 put_char(0, 0x08);put_char(0, 0x08); i_printf("63");
		Flash_Unlock();
		*((unsigned short *)AM_SECTOR_ADDR_63) = AM_SECTOR_ERASE;	//0x3030
EUS63:
         	Delay(8000);
		for(address=(unsigned short *)AM_SECTOR_ADDR_63;address<(unsigned short *)AM_SECTOR_ADDR_64;address++)
			{
			if(*address!=0xffff)
				{goto EUS63;
				}
			}
		}
/********************************** User Flash S64 *********************************************/
	if(CNT>64*63)
		{         
		 put_char(0, 0x08);put_char(0, 0x08); i_printf("64");
		Flash_Unlock();
		*((unsigned short *)AM_SECTOR_ADDR_64) = AM_SECTOR_ERASE;	//0x3030
EUS64:
         	Delay(8000);
		for(address=(unsigned short *)AM_SECTOR_ADDR_64;address<(unsigned short *)AM_SECTOR_ADDR_65;address++)
			{
			if(*address!=0xffff)
				{goto EUS64;
				}
			}
		}
/********************************** User Flash S65 *********************************************/
	if(CNT>64*64)
		{         
		 put_char(0, 0x08);put_char(0, 0x08); i_printf("65");
		Flash_Unlock();
		*((unsigned short *)AM_SECTOR_ADDR_65) = AM_SECTOR_ERASE;	//0x3030
EUS65:
         	Delay(8000);
		for(address=(unsigned short *)AM_SECTOR_ADDR_65;address<(unsigned short *)AM_SECTOR_ADDR_66;address++)
			{
			if(*address!=0xffff)
				{goto EUS65;
				}
			}
		}
		i_printf("\r\n");
/************************************ User Sector 66 up,Reserved ************************************/

}

/***************************************************************/
/*Function Description:	Initial UART			*/
/*Date:			2003-12-2			*/
/***************************************************************/
void InitUART(int Port,int Baudrate)
{
	if(Port==0)
		{
		ULCON0=0x03;
		UCON0=0x09;
		UBRDIV0=Baudrate;   
		}
	if(Port==1)
		{
		ULCON1=0x03;
		UCON1=0x09;
		UBRDIV1=Baudrate;   
		}

}

/***************************************************************/
/*Function Description:	Install interrupt handler		*/
/*Date:			2003-12-2			*/
/***************************************************************/
unsigned Install_Handle(unsigned routine,unsigned *vector)
{
	unsigned vec,oldvect;
	vec=((routine-(unsigned)vector-0x8)>>2);
	if(vec&0xff000000){}
	vec=0xea000000|vec;
	oldvect=*vector;
	*vector=vec;
	return(oldvect);
}



⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -