#pragma section code	c_value
void IAP_Init()
{
	// 正常模式起始位址
	// Memory address related
	IAP_Dev_define.norBootAddr = NORMAL_BOOT_ADDRESS;
	
        // 啟動端口選擇相關
	// BOOT PIN select related
	IAP_Dev_define.ptrBootPinPU = IAP_BOOT_PIN_PU_REG;
	IAP_Dev_define.ptrBootPinPD = IAP_BOOT_PIN_PD_REG;
	IAP_Dev_define.ptrBootPinPRD = IAP_BOOT_PIN_PRD_REG;
	IAP_Dev_define.valBootPinBit = IAP_BOOT_PIN_BIT;
	IAP_Dev_define.valBootDefaultHL = IAP_BOOT_GPIO_DEFAULT_HIGH_LOW;
	IAP_Dev_define.valBootEnableHL =IAP_BOOT_GPIO_ENABLE_HIGH_LOW;
	
	// UART端口選擇相關
	// UART IO select related
	IAP_Dev_define.ptrUartPinCR = IAP_UART_CR_ADR;
        IAP_Dev_define.ptrUartPinFC = IAP_UART_FC_ADR;
        IAP_Dev_define.valUartTxPin = IAP_UART_TX_PIN;
	IAP_Dev_define.valUartRxPin = IAP_UART_RX_PIN;
	IAP_Dev_define.valUATCNG    = IAP_UART_UATCNG_VALUE;
	IAP_Dev_define.valPOFFCR1   = IAP_UART_POFFCR1_VALUE;
	
	// UART設定相關
	// UART setting related
	IAP_Dev_define.ptrUartTxRxBUF  = IAP_UART_TDRDBUF_ADR;
	IAP_Dev_define.ptrUartSR    = IAP_UART_SR_ADR;
	IAP_Dev_define.valUartDR    = BAUDRATE_DR_VALUE;
	IAP_Dev_define.valUartCR1   = UART_CR1_VALUE;
	IAP_Dev_define.valUartCR2   = UART_CR2_VALUE;
	IAP_Dev_define.valUartRTSEL = BAUDRATE_RTSEL_VALUE;
	
}
#pragma section code