int main(void)
{
/* Unlock protected registers */
SYS_UnlockReg();
/* Init System, peripheral clock and multi-function I/O */
SYS_Init();
/* Init UART to 115200-8n1 */
UART_Init();
CLK->AHBCLK |= CLK_AHBCLK_ISPCKEN_Msk;
FMC->ISPCTL |= FMC_ISPCTL_ISPEN_Msk;
g_apromSize = GetApromSize();
GetDataFlashInfo(&g_dataFlashAddr, &g_dataFlashSize);
SysTick->LOAD = 300000 * CyclesPerUs;
SysTick->VAL = (0x00);
SysTick->CTRL = SysTick->CTRL | SysTick_CTRL_CLKSOURCE_Msk | SysTick_CTRL_ENABLE_Msk;//using cpu clock
while (1)
{
if ((bufhead >= 4) || (bUartDataReady == TRUE))
{
uint32_t lcmd;
lcmd = inpw(uart_rcvbuf);
if (lcmd == CMD_CONNECT)
{
goto _ISP;
}
else
{
bUartDataReady = FALSE;
bufhead = 0;
}
}
//if((SysTick->CTRL & (1 << 16)) != 0)//timeout, then goto APROM
if (SysTick->CTRL & SysTick_CTRL_COUNTFLAG_Msk)
{
goto _APROM;
}
}
|