📄 main_entry.c
字号:
/**********************************User Flash S16 *********************************************/
if(CNT>64*15)
{
i_printf(">>>Erase User Flash Area S16,Please Wait...");
Flash_Unlock();
*((unsigned short *)AM_SECTOR_ADDR_16) = AM_SECTOR_ERASE; //0x3030
i_printf(",Blank Check...");
EUS16:
Delay(50000);
for(address=(unsigned short *)AM_SECTOR_ADDR_16;address<(unsigned short *)AM_SECTOR_ADDR_17;address++)
{
if(*address!=0xffff)
{goto EUS16;}
}
i_printf(", OK!\r\n");
}
/**********************************User Flash S17 *********************************************/
if(CNT>64*16)
{
i_printf(">>>Erase User Flash Area S17,Please Wait...");
Flash_Unlock();
*((unsigned short *)AM_SECTOR_ADDR_17) = AM_SECTOR_ERASE; //0x3030
i_printf(",Blank Check...");
EUS17:
Delay(50000);
for(address=(unsigned short *)AM_SECTOR_ADDR_17;address<(unsigned short *)AM_SECTOR_ADDR_18;address++)
{
if(*address!=0xffff)
{goto EUS17;}
}
i_printf(", OK!\r\n");
}
/**********************************User Flash S18 *********************************************/
if(CNT>64*17)
{
i_printf(">>>Erase User Flash Area S18,Please Wait...");
Flash_Unlock();
*((unsigned short *)AM_SECTOR_ADDR_18) = AM_SECTOR_ERASE; //0x3030
i_printf(",Blank Check...");
EUS18:
Delay(50000);
for(address=(unsigned short *)AM_SECTOR_ADDR_18;address<(unsigned short *)AM_SECTOR_ADDR_19;address++)
{
if(*address!=0xffff)
{goto EUS18;}
}
i_printf(", OK!\r\n");
}
/**********************************User Flash S19 *********************************************/
if(CNT>64*18)
{
i_printf(">>>Erase User Flash Area S19,Please Wait...");
Flash_Unlock();
*((unsigned short *)AM_SECTOR_ADDR_19) = AM_SECTOR_ERASE; //0x3030
i_printf(",Blank Check...");
EUS19:
Delay(50000);
for(address=(unsigned short *)AM_SECTOR_ADDR_19;address<(unsigned short *)AM_SECTOR_ADDR_20;address++)
{
if(*address!=0xffff)
{goto EUS19;}
}
i_printf(", OK!\r\n");
}
/**********************************User Flash S20 *********************************************/
if(CNT>64*19)
{
i_printf(">>>Erase User Flash Area S20,Please Wait...");
Flash_Unlock();
*((unsigned short *)AM_SECTOR_ADDR_20) = AM_SECTOR_ERASE; //0x3030
i_printf(",Blank Check...");
EUS20:
Delay(50000);
for(address=(unsigned short *)AM_SECTOR_ADDR_20;address<(unsigned short *)AM_SECTOR_ADDR_21;address++)
{
if(*address!=0xffff)
{goto EUS20;}
}
i_printf(", OK!\r\n");
}
/**********************************User Flash S21 *********************************************/
if(CNT>64*20)
{
i_printf(">>>Erase User Flash Area S21,Please Wait...");
Flash_Unlock();
*((unsigned short *)AM_SECTOR_ADDR_21) = AM_SECTOR_ERASE; //0x3030
i_printf(",Blank Check...");
EUS21:
Delay(50000);
for(address=(unsigned short *)AM_SECTOR_ADDR_21;address<(unsigned short *)AM_SECTOR_ADDR_22;address++)
{
if(*address!=0xffff)
{goto EUS21;}
}
i_printf(", OK!\r\n");
}
/**********************************User Flash S22 *********************************************/
if(CNT>64*21)
{
i_printf(">>>Erase User Flash Area S22,Please Wait...");
Flash_Unlock();
*((unsigned short *)AM_SECTOR_ADDR_22) = AM_SECTOR_ERASE; //0x3030
i_printf(",Blank Check...");
EUS22:
Delay(50000);
for(address=(unsigned short *)AM_SECTOR_ADDR_22;address<(unsigned short *)AM_SECTOR_ADDR_23;address++)
{
if(*address!=0xffff)
{goto EUS22;
}
}
i_printf(", OK!\r\n");
}
/**********************************User Flash S23 *********************************************/
if(CNT>64*22)
{
i_printf(">>>Erase User Flash Area S23,Please Wait...");
Flash_Unlock();
*((unsigned short *)AM_SECTOR_ADDR_23) = AM_SECTOR_ERASE; //0x3030
i_printf(",Blank Check...");
EUS23:
Delay(50000);
for(address=(unsigned short *)AM_SECTOR_ADDR_23;address<(unsigned short *)AM_SECTOR_ADDR_24;address++)
{
if(*address!=0xffff)
{goto EUS23;
}
}
i_printf(", OK!\r\n");
}
/**********************************User Flash S24 *********************************************/
if(CNT>64*23)
{
i_printf(">>>Erase User Flash Area S24,Please Wait...");
Flash_Unlock();
*((unsigned short *)AM_SECTOR_ADDR_24) = AM_SECTOR_ERASE; //0x3030
i_printf(",Blank Check...");
EUS24:
Delay(50000);
for(address=(unsigned short *)AM_SECTOR_ADDR_24;address<(unsigned short *)AM_SECTOR_ADDR_25;address++)
{
if(*address!=0xffff)
{goto EUS24;
}
}
i_printf(", OK!\r\n");
}
/**********************************User Flash S25 *********************************************/
if(CNT>64*24)
{
i_printf(">>>Erase User Flash Area S25,Please Wait...");
Flash_Unlock();
*((unsigned short *)AM_SECTOR_ADDR_25) = AM_SECTOR_ERASE; //0x3030
i_printf(",Blank Check...");
EUS25:
Delay(50000);
for(address=(unsigned short *)AM_SECTOR_ADDR_25;address<(unsigned short *)AM_SECTOR_ADDR_26;address++)
{
if(*address!=0xffff)
{goto EUS25;
}
}
i_printf(", OK!\r\n");
}
/**********************************User Flash S26 *********************************************/
if(CNT>64*25)
{
i_printf(">>>Erase User Flash Area S26,Please Wait...");
Flash_Unlock();
*((unsigned short *)AM_SECTOR_ADDR_26) = AM_SECTOR_ERASE; //0x3030
i_printf(",Blank Check...");
EUS26:
Delay(50000);
for(address=(unsigned short *)AM_SECTOR_ADDR_26;address<(unsigned short *)AM_SECTOR_ADDR_27;address++)
{
if(*address!=0xffff)
{goto EUS26;
}
}
i_printf(", OK!\r\n");
}
/**********************************User Flash S27 *********************************************/
if(CNT>64*26)
{
i_printf(">>>Erase User Flash Area S27,Please Wait...");
Flash_Unlock();
*((unsigned short *)AM_SECTOR_ADDR_27) = AM_SECTOR_ERASE; //0x3030
i_printf(",Blank Check...");
EUS27:
Delay(50000);
for(address=(unsigned short *)AM_SECTOR_ADDR_27;address<(unsigned short *)AM_SECTOR_ADDR_28;address++)
{
if(*address!=0xffff)
{goto EUS27;
}
}
i_printf(", OK!\r\n");
}
/**********************************User Flash S28 *********************************************/
if(CNT>64*27)
{
i_printf(">>>Erase User Flash Area S28,Please Wait...");
Flash_Unlock();
*((unsigned short *)AM_SECTOR_ADDR_28) = AM_SECTOR_ERASE; //0x3030
i_printf(",Blank Check...");
EUS28:
Delay(50000);
for(address=(unsigned short *)AM_SECTOR_ADDR_28;address<(unsigned short *)AM_SECTOR_ADDR_29;address++)
{
if(*address!=0xffff)
{goto EUS28;
}
}
i_printf(", OK!\r\n");
}
/**********************************User Flash S29 *********************************************/
if(CNT>64*28)
{
i_printf(">>>Erase User Flash Area S29,Please Wait...");
Flash_Unlock();
*((unsigned short *)AM_SECTOR_ADDR_29) = AM_SECTOR_ERASE; //0x3030
i_printf(",Blank Check...");
EUS29:
Delay(50000);
for(address=(unsigned short *)AM_SECTOR_ADDR_29;address<(unsigned short *)AM_SECTOR_ADDR_30;address++)
{
if(*address!=0xffff)
{goto EUS29;
}
}
i_printf(", OK!\r\n");
}
/********************************** User Flash S30 *********************************************/
if(CNT>64*29)
{
i_printf(">>>Erase User Flash Area S30,Please Wait...");
Flash_Unlock();
*((unsigned short *)AM_SECTOR_ADDR_30) = AM_SECTOR_ERASE; //0x3030
i_printf(",Blank Check...");
EUS30:
Delay(50000);
for(address=(unsigned short *)AM_SECTOR_ADDR_30;address<(unsigned short *)AM_SECTOR_ADDR_31;address++)
{
if(*address!=0xffff)
{goto EUS30;
}
}
i_printf(", OK!\r\n");
}
/************************************ User Sector 31,Reserved ************************************/
/*************************************The End of User Sector **************************************/
}
/***************************************************************/
/*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 + -