diff --git a/Target/Demo/ARM7_LPC2000_Olimex_LPC_L2294_GCC/Prog/boot.c b/Target/Demo/ARM7_LPC2000_Olimex_LPC_L2294_GCC/Prog/boot.c index a7b48568..9fa35dbe 100644 --- a/Target/Demo/ARM7_LPC2000_Olimex_LPC_L2294_GCC/Prog/boot.c +++ b/Target/Demo/ARM7_LPC2000_Olimex_LPC_L2294_GCC/Prog/boot.c @@ -185,7 +185,8 @@ static void BootComUartCheckActivationRequest(void) if (UartReceiveByte(&xcpCtoReqPacket[0]) == 1) { /* check that the length has a valid value. it should not be 0 */ - if (xcpCtoReqPacket[0] > 0) + if ( (xcpCtoReqPacket[0] > 0) && + (xcpCtoReqPacket[0] <= BOOT_COM_UART_RX_MAX_DATA) ) { /* store the start time */ xcpCtoRxStartTime = TimerGet(); diff --git a/Target/Demo/ARMCM0_STM32F0_Discovery_STM32F051_GCC/Prog/boot.c b/Target/Demo/ARMCM0_STM32F0_Discovery_STM32F051_GCC/Prog/boot.c index 1273180a..05ea8432 100644 --- a/Target/Demo/ARMCM0_STM32F0_Discovery_STM32F051_GCC/Prog/boot.c +++ b/Target/Demo/ARMCM0_STM32F0_Discovery_STM32F051_GCC/Prog/boot.c @@ -156,7 +156,8 @@ static void BootComUartCheckActivationRequest(void) if (UartReceiveByte(&xcpCtoReqPacket[0]) == 1) { /* check that the length has a valid value. it should not be 0 */ - if (xcpCtoReqPacket[0] > 0) + if ( (xcpCtoReqPacket[0] > 0) && + (xcpCtoReqPacket[0] <= BOOT_COM_UART_RX_MAX_DATA) ) { /* store the start time */ xcpCtoRxStartTime = TimerGet(); diff --git a/Target/Demo/ARMCM0_STM32F0_Discovery_STM32F051_IAR/Prog/boot.c b/Target/Demo/ARMCM0_STM32F0_Discovery_STM32F051_IAR/Prog/boot.c index 4f62fbbd..c1fb1af8 100644 --- a/Target/Demo/ARMCM0_STM32F0_Discovery_STM32F051_IAR/Prog/boot.c +++ b/Target/Demo/ARMCM0_STM32F0_Discovery_STM32F051_IAR/Prog/boot.c @@ -156,7 +156,8 @@ static void BootComUartCheckActivationRequest(void) if (UartReceiveByte(&xcpCtoReqPacket[0]) == 1) { /* check that the length has a valid value. it should not be 0 */ - if (xcpCtoReqPacket[0] > 0) + if ( (xcpCtoReqPacket[0] > 0) && + (xcpCtoReqPacket[0] <= BOOT_COM_UART_RX_MAX_DATA) ) { /* store the start time */ xcpCtoRxStartTime = TimerGet(); diff --git a/Target/Demo/ARMCM0_STM32F0_Discovery_STM32F051_Keil/Prog/boot.c b/Target/Demo/ARMCM0_STM32F0_Discovery_STM32F051_Keil/Prog/boot.c index ea48d74b..6dca0a24 100644 --- a/Target/Demo/ARMCM0_STM32F0_Discovery_STM32F051_Keil/Prog/boot.c +++ b/Target/Demo/ARMCM0_STM32F0_Discovery_STM32F051_Keil/Prog/boot.c @@ -156,7 +156,8 @@ static void BootComUartCheckActivationRequest(void) if (UartReceiveByte(&xcpCtoReqPacket[0]) == 1) { /* check that the length has a valid value. it should not be 0 */ - if (xcpCtoReqPacket[0] > 0) + if ( (xcpCtoReqPacket[0] > 0) && + (xcpCtoReqPacket[0] <= BOOT_COM_UART_RX_MAX_DATA) ) { /* store the start time */ xcpCtoRxStartTime = TimerGet(); diff --git a/Target/Demo/ARMCM0_STM32F0_Nucleo_F091RC_GCC/Prog/boot.c b/Target/Demo/ARMCM0_STM32F0_Nucleo_F091RC_GCC/Prog/boot.c index 156f3ac6..115a7ea5 100644 --- a/Target/Demo/ARMCM0_STM32F0_Nucleo_F091RC_GCC/Prog/boot.c +++ b/Target/Demo/ARMCM0_STM32F0_Nucleo_F091RC_GCC/Prog/boot.c @@ -166,7 +166,8 @@ static void BootComUartCheckActivationRequest(void) if (UartReceiveByte(&xcpCtoReqPacket[0]) == 1) { /* check that the length has a valid value. it should not be 0 */ - if (xcpCtoReqPacket[0] > 0) + if ( (xcpCtoReqPacket[0] > 0) && + (xcpCtoReqPacket[0] <= BOOT_COM_UART_RX_MAX_DATA) ) { /* store the start time */ xcpCtoRxStartTime = TimerGet(); diff --git a/Target/Demo/ARMCM0_STM32F0_Nucleo_F091RC_IAR/Prog/boot.c b/Target/Demo/ARMCM0_STM32F0_Nucleo_F091RC_IAR/Prog/boot.c index ac3b25b7..ceaa03f6 100644 --- a/Target/Demo/ARMCM0_STM32F0_Nucleo_F091RC_IAR/Prog/boot.c +++ b/Target/Demo/ARMCM0_STM32F0_Nucleo_F091RC_IAR/Prog/boot.c @@ -166,7 +166,8 @@ static void BootComUartCheckActivationRequest(void) if (UartReceiveByte(&xcpCtoReqPacket[0]) == 1) { /* check that the length has a valid value. it should not be 0 */ - if (xcpCtoReqPacket[0] > 0) + if ( (xcpCtoReqPacket[0] > 0) && + (xcpCtoReqPacket[0] <= BOOT_COM_UART_RX_MAX_DATA) ) { /* store the start time */ xcpCtoRxStartTime = TimerGet(); diff --git a/Target/Demo/ARMCM0_STM32F0_Nucleo_F091RC_Keil/Prog/boot.c b/Target/Demo/ARMCM0_STM32F0_Nucleo_F091RC_Keil/Prog/boot.c index 81d5bbeb..1f7363e7 100644 --- a/Target/Demo/ARMCM0_STM32F0_Nucleo_F091RC_Keil/Prog/boot.c +++ b/Target/Demo/ARMCM0_STM32F0_Nucleo_F091RC_Keil/Prog/boot.c @@ -166,7 +166,8 @@ static void BootComUartCheckActivationRequest(void) if (UartReceiveByte(&xcpCtoReqPacket[0]) == 1) { /* check that the length has a valid value. it should not be 0 */ - if (xcpCtoReqPacket[0] > 0) + if ( (xcpCtoReqPacket[0] > 0) && + (xcpCtoReqPacket[0] <= BOOT_COM_UART_RX_MAX_DATA) ) { /* store the start time */ xcpCtoRxStartTime = TimerGet(); diff --git a/Target/Demo/ARMCM0_STM32F0_Nucleo_F091RC_TrueStudio/Prog/boot.c b/Target/Demo/ARMCM0_STM32F0_Nucleo_F091RC_TrueStudio/Prog/boot.c index e8531a4e..e8d7ea9f 100644 --- a/Target/Demo/ARMCM0_STM32F0_Nucleo_F091RC_TrueStudio/Prog/boot.c +++ b/Target/Demo/ARMCM0_STM32F0_Nucleo_F091RC_TrueStudio/Prog/boot.c @@ -166,7 +166,8 @@ static void BootComUartCheckActivationRequest(void) if (UartReceiveByte(&xcpCtoReqPacket[0]) == 1) { /* check that the length has a valid value. it should not be 0 */ - if (xcpCtoReqPacket[0] > 0) + if ( (xcpCtoReqPacket[0] > 0) && + (xcpCtoReqPacket[0] <= BOOT_COM_UART_RX_MAX_DATA) ) { /* store the start time */ xcpCtoRxStartTime = TimerGet(); diff --git a/Target/Demo/ARMCM0_XMC1_XMC1400_Boot_Kit_GCC/Prog/boot.c b/Target/Demo/ARMCM0_XMC1_XMC1400_Boot_Kit_GCC/Prog/boot.c index fcccc216..484d6a3c 100644 --- a/Target/Demo/ARMCM0_XMC1_XMC1400_Boot_Kit_GCC/Prog/boot.c +++ b/Target/Demo/ARMCM0_XMC1_XMC1400_Boot_Kit_GCC/Prog/boot.c @@ -170,7 +170,8 @@ static void BootComUartCheckActivationRequest(void) if (UartReceiveByte(&xcpCtoReqPacket[0]) == 1) { /* check that the length has a valid value. it should not be 0 */ - if (xcpCtoReqPacket[0] > 0) + if ( (xcpCtoReqPacket[0] > 0) && + (xcpCtoReqPacket[0] <= BOOT_COM_UART_RX_MAX_DATA) ) { /* store the start time */ xcpCtoRxStartTime = TimerGet(); diff --git a/Target/Demo/ARMCM0_XMC1_XMC1400_Boot_Kit_IAR/Prog/boot.c b/Target/Demo/ARMCM0_XMC1_XMC1400_Boot_Kit_IAR/Prog/boot.c index 6652807e..d5536dfc 100644 --- a/Target/Demo/ARMCM0_XMC1_XMC1400_Boot_Kit_IAR/Prog/boot.c +++ b/Target/Demo/ARMCM0_XMC1_XMC1400_Boot_Kit_IAR/Prog/boot.c @@ -170,7 +170,8 @@ static void BootComUartCheckActivationRequest(void) if (UartReceiveByte(&xcpCtoReqPacket[0]) == 1) { /* check that the length has a valid value. it should not be 0 */ - if (xcpCtoReqPacket[0] > 0) + if ( (xcpCtoReqPacket[0] > 0) && + (xcpCtoReqPacket[0] <= BOOT_COM_UART_RX_MAX_DATA) ) { /* store the start time */ xcpCtoRxStartTime = TimerGet(); diff --git a/Target/Demo/ARMCM3_EFM32_Olimex_EM32G880F128STK_Crossworks/Prog/boot.c b/Target/Demo/ARMCM3_EFM32_Olimex_EM32G880F128STK_Crossworks/Prog/boot.c index 5e881359..6d479b72 100644 --- a/Target/Demo/ARMCM3_EFM32_Olimex_EM32G880F128STK_Crossworks/Prog/boot.c +++ b/Target/Demo/ARMCM3_EFM32_Olimex_EM32G880F128STK_Crossworks/Prog/boot.c @@ -154,7 +154,8 @@ static void BootComUartCheckActivationRequest(void) if (UartReceiveByte(&xcpCtoReqPacket[0]) == 1) { /* check that the length has a valid value. it should not be 0 */ - if (xcpCtoReqPacket[0] > 0) + if ( (xcpCtoReqPacket[0] > 0) && + (xcpCtoReqPacket[0] <= BOOT_COM_UART_RX_MAX_DATA) ) { /* store the start time */ xcpCtoRxStartTime = TimerGet(); diff --git a/Target/Demo/ARMCM3_EFM32_Olimex_EM32G880F128STK_GCC/Prog/boot.c b/Target/Demo/ARMCM3_EFM32_Olimex_EM32G880F128STK_GCC/Prog/boot.c index 614878c1..7cd86579 100644 --- a/Target/Demo/ARMCM3_EFM32_Olimex_EM32G880F128STK_GCC/Prog/boot.c +++ b/Target/Demo/ARMCM3_EFM32_Olimex_EM32G880F128STK_GCC/Prog/boot.c @@ -154,7 +154,8 @@ static void BootComUartCheckActivationRequest(void) if (UartReceiveByte(&xcpCtoReqPacket[0]) == 1) { /* check that the length has a valid value. it should not be 0 */ - if (xcpCtoReqPacket[0] > 0) + if ( (xcpCtoReqPacket[0] > 0) && + (xcpCtoReqPacket[0] <= BOOT_COM_UART_RX_MAX_DATA) ) { /* store the start time */ xcpCtoRxStartTime = TimerGet(); diff --git a/Target/Demo/ARMCM3_EFM32_Olimex_EM32G880F128STK_IAR/Prog/boot.c b/Target/Demo/ARMCM3_EFM32_Olimex_EM32G880F128STK_IAR/Prog/boot.c index 9983aa58..d25ef100 100644 --- a/Target/Demo/ARMCM3_EFM32_Olimex_EM32G880F128STK_IAR/Prog/boot.c +++ b/Target/Demo/ARMCM3_EFM32_Olimex_EM32G880F128STK_IAR/Prog/boot.c @@ -154,7 +154,8 @@ static void BootComUartCheckActivationRequest(void) if (UartReceiveByte(&xcpCtoReqPacket[0]) == 1) { /* check that the length has a valid value. it should not be 0 */ - if (xcpCtoReqPacket[0] > 0) + if ( (xcpCtoReqPacket[0] > 0) && + (xcpCtoReqPacket[0] <= BOOT_COM_UART_RX_MAX_DATA) ) { /* store the start time */ xcpCtoRxStartTime = TimerGet(); diff --git a/Target/Demo/ARMCM3_LM3S_EK_LM3S6965_Crossworks/Prog/boot.c b/Target/Demo/ARMCM3_LM3S_EK_LM3S6965_Crossworks/Prog/boot.c index d550d4ef..e37543cd 100644 --- a/Target/Demo/ARMCM3_LM3S_EK_LM3S6965_Crossworks/Prog/boot.c +++ b/Target/Demo/ARMCM3_LM3S_EK_LM3S6965_Crossworks/Prog/boot.c @@ -138,7 +138,8 @@ static void BootComUartCheckActivationRequest(void) if (UartReceiveByte(&xcpCtoReqPacket[0]) == 1) { /* check that the length has a valid value. it should not be 0 */ - if (xcpCtoReqPacket[0] > 0) + if ( (xcpCtoReqPacket[0] > 0) && + (xcpCtoReqPacket[0] <= BOOT_COM_UART_RX_MAX_DATA) ) { /* store the start time */ xcpCtoRxStartTime = TimerGet(); diff --git a/Target/Demo/ARMCM3_LM3S_EK_LM3S6965_GCC/Prog/boot.c b/Target/Demo/ARMCM3_LM3S_EK_LM3S6965_GCC/Prog/boot.c index 665e070f..d961a2cb 100644 --- a/Target/Demo/ARMCM3_LM3S_EK_LM3S6965_GCC/Prog/boot.c +++ b/Target/Demo/ARMCM3_LM3S_EK_LM3S6965_GCC/Prog/boot.c @@ -138,7 +138,8 @@ static void BootComUartCheckActivationRequest(void) if (UartReceiveByte(&xcpCtoReqPacket[0]) == 1) { /* check that the length has a valid value. it should not be 0 */ - if (xcpCtoReqPacket[0] > 0) + if ( (xcpCtoReqPacket[0] > 0) && + (xcpCtoReqPacket[0] <= BOOT_COM_UART_RX_MAX_DATA) ) { /* store the start time */ xcpCtoRxStartTime = TimerGet(); diff --git a/Target/Demo/ARMCM3_LM3S_EK_LM3S6965_IAR/Prog/boot.c b/Target/Demo/ARMCM3_LM3S_EK_LM3S6965_IAR/Prog/boot.c index 49354356..bcfaafc8 100644 --- a/Target/Demo/ARMCM3_LM3S_EK_LM3S6965_IAR/Prog/boot.c +++ b/Target/Demo/ARMCM3_LM3S_EK_LM3S6965_IAR/Prog/boot.c @@ -138,7 +138,8 @@ static void BootComUartCheckActivationRequest(void) if (UartReceiveByte(&xcpCtoReqPacket[0]) == 1) { /* check that the length has a valid value. it should not be 0 */ - if (xcpCtoReqPacket[0] > 0) + if ( (xcpCtoReqPacket[0] > 0) && + (xcpCtoReqPacket[0] <= BOOT_COM_UART_RX_MAX_DATA) ) { /* store the start time */ xcpCtoRxStartTime = TimerGet(); diff --git a/Target/Demo/ARMCM3_LM3S_EK_LM3S8962_Crossworks/Prog/boot.c b/Target/Demo/ARMCM3_LM3S_EK_LM3S8962_Crossworks/Prog/boot.c index 0fcc7ebd..1b27173d 100644 --- a/Target/Demo/ARMCM3_LM3S_EK_LM3S8962_Crossworks/Prog/boot.c +++ b/Target/Demo/ARMCM3_LM3S_EK_LM3S8962_Crossworks/Prog/boot.c @@ -148,7 +148,8 @@ static void BootComUartCheckActivationRequest(void) if (UartReceiveByte(&xcpCtoReqPacket[0]) == 1) { /* check that the length has a valid value. it should not be 0 */ - if (xcpCtoReqPacket[0] > 0) + if ( (xcpCtoReqPacket[0] > 0) && + (xcpCtoReqPacket[0] <= BOOT_COM_UART_RX_MAX_DATA) ) { /* store the start time */ xcpCtoRxStartTime = TimerGet(); diff --git a/Target/Demo/ARMCM3_LM3S_EK_LM3S8962_GCC/Prog/boot.c b/Target/Demo/ARMCM3_LM3S_EK_LM3S8962_GCC/Prog/boot.c index 1e06868f..219114ae 100644 --- a/Target/Demo/ARMCM3_LM3S_EK_LM3S8962_GCC/Prog/boot.c +++ b/Target/Demo/ARMCM3_LM3S_EK_LM3S8962_GCC/Prog/boot.c @@ -148,7 +148,8 @@ static void BootComUartCheckActivationRequest(void) if (UartReceiveByte(&xcpCtoReqPacket[0]) == 1) { /* check that the length has a valid value. it should not be 0 */ - if (xcpCtoReqPacket[0] > 0) + if ( (xcpCtoReqPacket[0] > 0) && + (xcpCtoReqPacket[0] <= BOOT_COM_UART_RX_MAX_DATA) ) { /* store the start time */ xcpCtoRxStartTime = TimerGet(); diff --git a/Target/Demo/ARMCM3_LM3S_EK_LM3S8962_IAR/Prog/boot.c b/Target/Demo/ARMCM3_LM3S_EK_LM3S8962_IAR/Prog/boot.c index d5677c2d..88c567c6 100644 --- a/Target/Demo/ARMCM3_LM3S_EK_LM3S8962_IAR/Prog/boot.c +++ b/Target/Demo/ARMCM3_LM3S_EK_LM3S8962_IAR/Prog/boot.c @@ -148,7 +148,8 @@ static void BootComUartCheckActivationRequest(void) if (UartReceiveByte(&xcpCtoReqPacket[0]) == 1) { /* check that the length has a valid value. it should not be 0 */ - if (xcpCtoReqPacket[0] > 0) + if ( (xcpCtoReqPacket[0] > 0) && + (xcpCtoReqPacket[0] <= BOOT_COM_UART_RX_MAX_DATA) ) { /* store the start time */ xcpCtoRxStartTime = TimerGet(); diff --git a/Target/Demo/ARMCM3_STM32F1_Nucleo_F103RB_GCC/Prog/boot.c b/Target/Demo/ARMCM3_STM32F1_Nucleo_F103RB_GCC/Prog/boot.c index 0e86a6c8..5a03a3f2 100644 --- a/Target/Demo/ARMCM3_STM32F1_Nucleo_F103RB_GCC/Prog/boot.c +++ b/Target/Demo/ARMCM3_STM32F1_Nucleo_F103RB_GCC/Prog/boot.c @@ -156,7 +156,8 @@ static void BootComUartCheckActivationRequest(void) if (UartReceiveByte(&xcpCtoReqPacket[0]) == 1) { /* check that the length has a valid value. it should not be 0 */ - if (xcpCtoReqPacket[0] > 0) + if ( (xcpCtoReqPacket[0] > 0) && + (xcpCtoReqPacket[0] <= BOOT_COM_UART_RX_MAX_DATA) ) { /* store the start time */ xcpCtoRxStartTime = TimerGet(); diff --git a/Target/Demo/ARMCM3_STM32F1_Nucleo_F103RB_IAR/Prog/boot.c b/Target/Demo/ARMCM3_STM32F1_Nucleo_F103RB_IAR/Prog/boot.c index 50d3bd34..f065a3c4 100644 --- a/Target/Demo/ARMCM3_STM32F1_Nucleo_F103RB_IAR/Prog/boot.c +++ b/Target/Demo/ARMCM3_STM32F1_Nucleo_F103RB_IAR/Prog/boot.c @@ -156,7 +156,8 @@ static void BootComUartCheckActivationRequest(void) if (UartReceiveByte(&xcpCtoReqPacket[0]) == 1) { /* check that the length has a valid value. it should not be 0 */ - if (xcpCtoReqPacket[0] > 0) + if ( (xcpCtoReqPacket[0] > 0) && + (xcpCtoReqPacket[0] <= BOOT_COM_UART_RX_MAX_DATA) ) { /* store the start time */ xcpCtoRxStartTime = TimerGet(); diff --git a/Target/Demo/ARMCM3_STM32F1_Olimex_STM32P103_Crossworks/Prog/boot.c b/Target/Demo/ARMCM3_STM32F1_Olimex_STM32P103_Crossworks/Prog/boot.c index 75baffdd..5b3136aa 100644 --- a/Target/Demo/ARMCM3_STM32F1_Olimex_STM32P103_Crossworks/Prog/boot.c +++ b/Target/Demo/ARMCM3_STM32F1_Olimex_STM32P103_Crossworks/Prog/boot.c @@ -165,7 +165,8 @@ static void BootComUartCheckActivationRequest(void) if (UartReceiveByte(&xcpCtoReqPacket[0]) == 1) { /* check that the length has a valid value. it should not be 0 */ - if (xcpCtoReqPacket[0] > 0) + if ( (xcpCtoReqPacket[0] > 0) && + (xcpCtoReqPacket[0] <= BOOT_COM_UART_RX_MAX_DATA) ) { /* store the start time */ xcpCtoRxStartTime = TimerGet(); diff --git a/Target/Demo/ARMCM3_STM32F1_Olimex_STM32P103_GCC/Prog/boot.c b/Target/Demo/ARMCM3_STM32F1_Olimex_STM32P103_GCC/Prog/boot.c index bda53f62..791d90ee 100644 --- a/Target/Demo/ARMCM3_STM32F1_Olimex_STM32P103_GCC/Prog/boot.c +++ b/Target/Demo/ARMCM3_STM32F1_Olimex_STM32P103_GCC/Prog/boot.c @@ -165,7 +165,8 @@ static void BootComUartCheckActivationRequest(void) if (UartReceiveByte(&xcpCtoReqPacket[0]) == 1) { /* check that the length has a valid value. it should not be 0 */ - if (xcpCtoReqPacket[0] > 0) + if ( (xcpCtoReqPacket[0] > 0) && + (xcpCtoReqPacket[0] <= BOOT_COM_UART_RX_MAX_DATA) ) { /* store the start time */ xcpCtoRxStartTime = TimerGet(); diff --git a/Target/Demo/ARMCM3_STM32F1_Olimex_STM32P103_IAR/Prog/boot.c b/Target/Demo/ARMCM3_STM32F1_Olimex_STM32P103_IAR/Prog/boot.c index 84e3104a..fb81371e 100644 --- a/Target/Demo/ARMCM3_STM32F1_Olimex_STM32P103_IAR/Prog/boot.c +++ b/Target/Demo/ARMCM3_STM32F1_Olimex_STM32P103_IAR/Prog/boot.c @@ -165,7 +165,8 @@ static void BootComUartCheckActivationRequest(void) if (UartReceiveByte(&xcpCtoReqPacket[0]) == 1) { /* check that the length has a valid value. it should not be 0 */ - if (xcpCtoReqPacket[0] > 0) + if ( (xcpCtoReqPacket[0] > 0) && + (xcpCtoReqPacket[0] <= BOOT_COM_UART_RX_MAX_DATA) ) { /* store the start time */ xcpCtoRxStartTime = TimerGet(); diff --git a/Target/Demo/ARMCM3_STM32F1_Olimex_STM32P103_Keil/Prog/boot.c b/Target/Demo/ARMCM3_STM32F1_Olimex_STM32P103_Keil/Prog/boot.c index 8516880d..c2b2c33e 100644 --- a/Target/Demo/ARMCM3_STM32F1_Olimex_STM32P103_Keil/Prog/boot.c +++ b/Target/Demo/ARMCM3_STM32F1_Olimex_STM32P103_Keil/Prog/boot.c @@ -165,7 +165,8 @@ static void BootComUartCheckActivationRequest(void) if (UartReceiveByte(&xcpCtoReqPacket[0]) == 1) { /* check that the length has a valid value. it should not be 0 */ - if (xcpCtoReqPacket[0] > 0) + if ( (xcpCtoReqPacket[0] > 0) && + (xcpCtoReqPacket[0] <= BOOT_COM_UART_RX_MAX_DATA) ) { /* store the start time */ xcpCtoRxStartTime = TimerGet(); diff --git a/Target/Demo/ARMCM3_STM32F2_Olimex_STM32P207_GCC/Prog/boot.c b/Target/Demo/ARMCM3_STM32F2_Olimex_STM32P207_GCC/Prog/boot.c index 70c2717c..36186d2b 100644 --- a/Target/Demo/ARMCM3_STM32F2_Olimex_STM32P207_GCC/Prog/boot.c +++ b/Target/Demo/ARMCM3_STM32F2_Olimex_STM32P207_GCC/Prog/boot.c @@ -171,7 +171,8 @@ static void BootComUartCheckActivationRequest(void) if (UartReceiveByte(&xcpCtoReqPacket[0]) == 1) { /* check that the length has a valid value. it should not be 0 */ - if (xcpCtoReqPacket[0] > 0) + if ( (xcpCtoReqPacket[0] > 0) && + (xcpCtoReqPacket[0] <= BOOT_COM_UART_RX_MAX_DATA) ) { /* store the start time */ xcpCtoRxStartTime = TimerGet(); diff --git a/Target/Demo/ARMCM3_STM32F2_Olimex_STM32P207_IAR/Prog/boot.c b/Target/Demo/ARMCM3_STM32F2_Olimex_STM32P207_IAR/Prog/boot.c index 1dd5b105..20938dc2 100644 --- a/Target/Demo/ARMCM3_STM32F2_Olimex_STM32P207_IAR/Prog/boot.c +++ b/Target/Demo/ARMCM3_STM32F2_Olimex_STM32P207_IAR/Prog/boot.c @@ -171,7 +171,8 @@ static void BootComUartCheckActivationRequest(void) if (UartReceiveByte(&xcpCtoReqPacket[0]) == 1) { /* check that the length has a valid value. it should not be 0 */ - if (xcpCtoReqPacket[0] > 0) + if ( (xcpCtoReqPacket[0] > 0) && + (xcpCtoReqPacket[0] <= BOOT_COM_UART_RX_MAX_DATA) ) { /* store the start time */ xcpCtoRxStartTime = TimerGet(); diff --git a/Target/Demo/ARMCM4_STM32F3_Nucleo_F303K8_GCC/Prog/boot.c b/Target/Demo/ARMCM4_STM32F3_Nucleo_F303K8_GCC/Prog/boot.c index b80bbf85..99c91d52 100644 --- a/Target/Demo/ARMCM4_STM32F3_Nucleo_F303K8_GCC/Prog/boot.c +++ b/Target/Demo/ARMCM4_STM32F3_Nucleo_F303K8_GCC/Prog/boot.c @@ -156,7 +156,8 @@ static void BootComUartCheckActivationRequest(void) if (UartReceiveByte(&xcpCtoReqPacket[0]) == 1) { /* check that the length has a valid value. it should not be 0 */ - if (xcpCtoReqPacket[0] > 0) + if ( (xcpCtoReqPacket[0] > 0) && + (xcpCtoReqPacket[0] <= BOOT_COM_UART_RX_MAX_DATA) ) { /* store the start time */ xcpCtoRxStartTime = TimerGet(); diff --git a/Target/Demo/ARMCM4_STM32F3_Nucleo_F303K8_IAR/Prog/boot.c b/Target/Demo/ARMCM4_STM32F3_Nucleo_F303K8_IAR/Prog/boot.c index f8d0620d..e735cd71 100644 --- a/Target/Demo/ARMCM4_STM32F3_Nucleo_F303K8_IAR/Prog/boot.c +++ b/Target/Demo/ARMCM4_STM32F3_Nucleo_F303K8_IAR/Prog/boot.c @@ -156,7 +156,8 @@ static void BootComUartCheckActivationRequest(void) if (UartReceiveByte(&xcpCtoReqPacket[0]) == 1) { /* check that the length has a valid value. it should not be 0 */ - if (xcpCtoReqPacket[0] > 0) + if ( (xcpCtoReqPacket[0] > 0) && + (xcpCtoReqPacket[0] <= BOOT_COM_UART_RX_MAX_DATA) ) { /* store the start time */ xcpCtoRxStartTime = TimerGet(); diff --git a/Target/Demo/ARMCM4_STM32F3_Nucleo_F303K8_TrueStudio/Prog/boot.c b/Target/Demo/ARMCM4_STM32F3_Nucleo_F303K8_TrueStudio/Prog/boot.c index 9d9378f1..8b9125c7 100644 --- a/Target/Demo/ARMCM4_STM32F3_Nucleo_F303K8_TrueStudio/Prog/boot.c +++ b/Target/Demo/ARMCM4_STM32F3_Nucleo_F303K8_TrueStudio/Prog/boot.c @@ -156,7 +156,8 @@ static void BootComUartCheckActivationRequest(void) if (UartReceiveByte(&xcpCtoReqPacket[0]) == 1) { /* check that the length has a valid value. it should not be 0 */ - if (xcpCtoReqPacket[0] > 0) + if ( (xcpCtoReqPacket[0] > 0) && + (xcpCtoReqPacket[0] <= BOOT_COM_UART_RX_MAX_DATA) ) { /* store the start time */ xcpCtoRxStartTime = TimerGet(); diff --git a/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_GCC/Prog/boot.c b/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_GCC/Prog/boot.c index 5a4962cb..638df95f 100644 --- a/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_GCC/Prog/boot.c +++ b/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_GCC/Prog/boot.c @@ -170,7 +170,8 @@ static void BootComUartCheckActivationRequest(void) if (UartReceiveByte(&xcpCtoReqPacket[0]) == 1) { /* check that the length has a valid value. it should not be 0 */ - if (xcpCtoReqPacket[0] > 0) + if ( (xcpCtoReqPacket[0] > 0) && + (xcpCtoReqPacket[0] <= BOOT_COM_UART_RX_MAX_DATA) ) { /* store the start time */ xcpCtoRxStartTime = TimerGet(); diff --git a/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_IAR/Prog/boot.c b/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_IAR/Prog/boot.c index c795a694..96aab8ce 100644 --- a/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_IAR/Prog/boot.c +++ b/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_IAR/Prog/boot.c @@ -170,7 +170,8 @@ static void BootComUartCheckActivationRequest(void) if (UartReceiveByte(&xcpCtoReqPacket[0]) == 1) { /* check that the length has a valid value. it should not be 0 */ - if (xcpCtoReqPacket[0] > 0) + if ( (xcpCtoReqPacket[0] > 0) && + (xcpCtoReqPacket[0] <= BOOT_COM_UART_RX_MAX_DATA) ) { /* store the start time */ xcpCtoRxStartTime = TimerGet(); diff --git a/Target/Demo/ARMCM4_STM32F4_Olimex_STM32P405_GCC/Prog/boot.c b/Target/Demo/ARMCM4_STM32F4_Olimex_STM32P405_GCC/Prog/boot.c index f2dac62b..06718b24 100644 --- a/Target/Demo/ARMCM4_STM32F4_Olimex_STM32P405_GCC/Prog/boot.c +++ b/Target/Demo/ARMCM4_STM32F4_Olimex_STM32P405_GCC/Prog/boot.c @@ -170,7 +170,8 @@ static void BootComUartCheckActivationRequest(void) if (UartReceiveByte(&xcpCtoReqPacket[0]) == 1) { /* check that the length has a valid value. it should not be 0 */ - if (xcpCtoReqPacket[0] > 0) + if ( (xcpCtoReqPacket[0] > 0) && + (xcpCtoReqPacket[0] <= BOOT_COM_UART_RX_MAX_DATA) ) { /* store the start time */ xcpCtoRxStartTime = TimerGet(); diff --git a/Target/Demo/ARMCM4_STM32F4_Olimex_STM32P405_IAR/Prog/boot.c b/Target/Demo/ARMCM4_STM32F4_Olimex_STM32P405_IAR/Prog/boot.c index 6df5f375..e63592ce 100644 --- a/Target/Demo/ARMCM4_STM32F4_Olimex_STM32P405_IAR/Prog/boot.c +++ b/Target/Demo/ARMCM4_STM32F4_Olimex_STM32P405_IAR/Prog/boot.c @@ -170,7 +170,8 @@ static void BootComUartCheckActivationRequest(void) if (UartReceiveByte(&xcpCtoReqPacket[0]) == 1) { /* check that the length has a valid value. it should not be 0 */ - if (xcpCtoReqPacket[0] > 0) + if ( (xcpCtoReqPacket[0] > 0) && + (xcpCtoReqPacket[0] <= BOOT_COM_UART_RX_MAX_DATA) ) { /* store the start time */ xcpCtoRxStartTime = TimerGet(); diff --git a/Target/Demo/ARMCM4_STM32F4_Olimex_STM32P405_TrueStudio/Prog/boot.c b/Target/Demo/ARMCM4_STM32F4_Olimex_STM32P405_TrueStudio/Prog/boot.c index d45e5575..b2012e55 100644 --- a/Target/Demo/ARMCM4_STM32F4_Olimex_STM32P405_TrueStudio/Prog/boot.c +++ b/Target/Demo/ARMCM4_STM32F4_Olimex_STM32P405_TrueStudio/Prog/boot.c @@ -170,7 +170,8 @@ static void BootComUartCheckActivationRequest(void) if (UartReceiveByte(&xcpCtoReqPacket[0]) == 1) { /* check that the length has a valid value. it should not be 0 */ - if (xcpCtoReqPacket[0] > 0) + if ( (xcpCtoReqPacket[0] > 0) && + (xcpCtoReqPacket[0] <= BOOT_COM_UART_RX_MAX_DATA) ) { /* store the start time */ xcpCtoRxStartTime = TimerGet(); diff --git a/Target/Demo/ARMCM4_STM32L4_Nucleo_L476RG_GCC/Prog/boot.c b/Target/Demo/ARMCM4_STM32L4_Nucleo_L476RG_GCC/Prog/boot.c index 6c4c7553..dce98d98 100644 --- a/Target/Demo/ARMCM4_STM32L4_Nucleo_L476RG_GCC/Prog/boot.c +++ b/Target/Demo/ARMCM4_STM32L4_Nucleo_L476RG_GCC/Prog/boot.c @@ -159,7 +159,8 @@ static void BootComUartCheckActivationRequest(void) if (UartReceiveByte(&xcpCtoReqPacket[0]) == 1) { /* check that the length has a valid value. it should not be 0 */ - if (xcpCtoReqPacket[0] > 0) + if ( (xcpCtoReqPacket[0] > 0) && + (xcpCtoReqPacket[0] <= BOOT_COM_UART_RX_MAX_DATA) ) { /* store the start time */ xcpCtoRxStartTime = TimerGet(); diff --git a/Target/Demo/ARMCM4_STM32L4_Nucleo_L476RG_IAR/Prog/boot.c b/Target/Demo/ARMCM4_STM32L4_Nucleo_L476RG_IAR/Prog/boot.c index 8dda6017..f2b01611 100644 --- a/Target/Demo/ARMCM4_STM32L4_Nucleo_L476RG_IAR/Prog/boot.c +++ b/Target/Demo/ARMCM4_STM32L4_Nucleo_L476RG_IAR/Prog/boot.c @@ -159,7 +159,8 @@ static void BootComUartCheckActivationRequest(void) if (UartReceiveByte(&xcpCtoReqPacket[0]) == 1) { /* check that the length has a valid value. it should not be 0 */ - if (xcpCtoReqPacket[0] > 0) + if ( (xcpCtoReqPacket[0] > 0) && + (xcpCtoReqPacket[0] <= BOOT_COM_UART_RX_MAX_DATA) ) { /* store the start time */ xcpCtoRxStartTime = TimerGet(); diff --git a/Target/Demo/ARMCM4_STM32L4_Nucleo_L476RG_TrueStudio/Prog/boot.c b/Target/Demo/ARMCM4_STM32L4_Nucleo_L476RG_TrueStudio/Prog/boot.c index cce2ce9d..8f083f6b 100644 --- a/Target/Demo/ARMCM4_STM32L4_Nucleo_L476RG_TrueStudio/Prog/boot.c +++ b/Target/Demo/ARMCM4_STM32L4_Nucleo_L476RG_TrueStudio/Prog/boot.c @@ -159,7 +159,8 @@ static void BootComUartCheckActivationRequest(void) if (UartReceiveByte(&xcpCtoReqPacket[0]) == 1) { /* check that the length has a valid value. it should not be 0 */ - if (xcpCtoReqPacket[0] > 0) + if ( (xcpCtoReqPacket[0] > 0) && + (xcpCtoReqPacket[0] <= BOOT_COM_UART_RX_MAX_DATA) ) { /* store the start time */ xcpCtoRxStartTime = TimerGet(); diff --git a/Target/Demo/ARMCM4_TM4C_DK_TM4C123G_IAR/Prog/boot.c b/Target/Demo/ARMCM4_TM4C_DK_TM4C123G_IAR/Prog/boot.c index 6918e590..491e72e7 100644 --- a/Target/Demo/ARMCM4_TM4C_DK_TM4C123G_IAR/Prog/boot.c +++ b/Target/Demo/ARMCM4_TM4C_DK_TM4C123G_IAR/Prog/boot.c @@ -137,7 +137,8 @@ static void BootComUartCheckActivationRequest(void) if (UartReceiveByte(&xcpCtoReqPacket[0]) == 1) { /* check that the length has a valid value. it should not be 0 */ - if (xcpCtoReqPacket[0] > 0) + if ( (xcpCtoReqPacket[0] > 0) && + (xcpCtoReqPacket[0] <= BOOT_COM_UART_RX_MAX_DATA) ) { /* store the start time */ xcpCtoRxStartTime = TimerGet(); diff --git a/Target/Demo/ARMCM4_XMC4_XMC4700_Relax_Kit_GCC/Prog/boot.c b/Target/Demo/ARMCM4_XMC4_XMC4700_Relax_Kit_GCC/Prog/boot.c index f9c95817..d448e137 100644 --- a/Target/Demo/ARMCM4_XMC4_XMC4700_Relax_Kit_GCC/Prog/boot.c +++ b/Target/Demo/ARMCM4_XMC4_XMC4700_Relax_Kit_GCC/Prog/boot.c @@ -174,7 +174,8 @@ static void BootComUartCheckActivationRequest(void) if (UartReceiveByte(&xcpCtoReqPacket[0]) == 1) { /* check that the length has a valid value. it should not be 0 */ - if (xcpCtoReqPacket[0] > 0) + if ( (xcpCtoReqPacket[0] > 0) && + (xcpCtoReqPacket[0] <= BOOT_COM_UART_RX_MAX_DATA) ) { /* store the start time */ xcpCtoRxStartTime = TimerGet(); diff --git a/Target/Demo/ARMCM4_XMC4_XMC4700_Relax_Kit_IAR/Prog/boot.c b/Target/Demo/ARMCM4_XMC4_XMC4700_Relax_Kit_IAR/Prog/boot.c index 0f0b9564..6924ded2 100644 --- a/Target/Demo/ARMCM4_XMC4_XMC4700_Relax_Kit_IAR/Prog/boot.c +++ b/Target/Demo/ARMCM4_XMC4_XMC4700_Relax_Kit_IAR/Prog/boot.c @@ -174,7 +174,8 @@ static void BootComUartCheckActivationRequest(void) if (UartReceiveByte(&xcpCtoReqPacket[0]) == 1) { /* check that the length has a valid value. it should not be 0 */ - if (xcpCtoReqPacket[0] > 0) + if ( (xcpCtoReqPacket[0] > 0) && + (xcpCtoReqPacket[0] <= BOOT_COM_UART_RX_MAX_DATA) ) { /* store the start time */ xcpCtoRxStartTime = TimerGet(); diff --git a/Target/Demo/HCS12_Evbplus_Dragon12p_CodeWarrior/Boot/bin/openblt_evbplus_dragon12p.abs b/Target/Demo/HCS12_Evbplus_Dragon12p_CodeWarrior/Boot/bin/openblt_evbplus_dragon12p.abs index 7a3f4ff1..d2af7a91 100644 Binary files a/Target/Demo/HCS12_Evbplus_Dragon12p_CodeWarrior/Boot/bin/openblt_evbplus_dragon12p.abs and b/Target/Demo/HCS12_Evbplus_Dragon12p_CodeWarrior/Boot/bin/openblt_evbplus_dragon12p.abs differ diff --git a/Target/Demo/HCS12_Evbplus_Dragon12p_CodeWarrior/Boot/bin/openblt_evbplus_dragon12p.abs.phy b/Target/Demo/HCS12_Evbplus_Dragon12p_CodeWarrior/Boot/bin/openblt_evbplus_dragon12p.abs.phy index 350a276c..3014b965 100644 --- a/Target/Demo/HCS12_Evbplus_Dragon12p_CodeWarrior/Boot/bin/openblt_evbplus_dragon12p.abs.phy +++ b/Target/Demo/HCS12_Evbplus_Dragon12p_CodeWarrior/Boot/bin/openblt_evbplus_dragon12p.abs.phy @@ -1,6 +1,6 @@ S0720000433A5C576F726B5C736F6674776172655C4F70656E424C545C5461726765745C44656D6F5C48435331325F457662706C75735F447261676F6E3132705F436F646557617272696F725C426F6F745C62696E5C6F70656E626C745F657662706C75735F647261676F6E3132702E61627366 S2240FE800FEE830FDE82E270E35ED31EC3169700434FB310326F2FEE832EC31270BED311821 -S2240FE8200A30700434F920F13D07D506EA0B0001E834FC02390004FB4F70656E424C5400FD +S2240FE8200A30700434F920F13D07D506EA0B0001E834FC66390004FB4F70656E424C540099 S2240FE840000C000000004000000C400000004000000C800000004000000CC00000004000F4 S2240FE860000D000000004000000D400000004000000D800000004000000DC00000004000D0 S2240FE880000E000000004000000E400000004000000E800000004000000EC00000004000AC @@ -16,31 +16,31 @@ S2240FE9A0682E6300433A5C576F726B5C736F6674776172655C4F70656E424C545C546172B4 S2240FE9C06765745C536F757263655C48435331325C756172742E6300433A5C576F726B5CF8 S2240FE9E0736F6674776172655C4F70656E424C545C5461726765745C536F757263655C4894 S2240FEA00435331325C63616E2E630016EA1616EAC916EADB20FB1B9969824D3980698169FD -S2240FEA2080E68087CD1F40C3000118133BE68387C3000116FBE23B34EC84B76516FBD46C0C +S2240FEA2080E68087CD1F40C3000118133BE68387C3000116FC463B34EC84B76516FC386C42 S2240FEA40876E858C5DC01B8226030445286280E680C13F23CCE6820401086281E681C10F82 -S2240FEA6023BDE68204010ECCE91A3BC66B87B70516F7621B82E6805B34E6815B354F370823 -S2240FEA80FC4C39801B873DC6017B390216F63C7C39057E390306EA9816EB7804012AF639EA -S2240FEAA00204212416F63C3BFC3905C301F4B746FC3903C9008900353BEC8416FAF01B827E -S2240FEAC0250679390216EF7D3D16EF7A16EB7C16F5E416F5A616EAE706EA8716EB7D16F600 -S2240FEAE01D16EAFC06EA9816EB7E16F767C601877C390016F645C7877C39003DCC390716B8 -S2240FEB00F854042104C601070DCC390716F6BC042103C707013D877C3900CC390706EBA0B0 -S2240FEB203D3BFC390004240AEC843BE68316F8031B82FC3900260AEC843BE68316F65E1B22 -S2240FEB408216EB9C3A3D3BFC390016FBEE040909040707C60821C78FC640876C80303D3B0E -S2240FEB60FC390016FBEE040909040707C60821C78FC640876C80303D16EB933D3D3DC78761 +S2240FEA6023BDE68204010ECCE91A3BC66B87B70516F7C61B82E6805B34E6815B354F3708BF +S2240FEA80FC4C39801B873DC6017B390216F69C7C39057E390306EA9816EB7804012AF6398A +S2240FEAA00204212416F69C3BFC3905C301F4B746FC3903C9008900353BEC8416FB541B82B9 +S2240FEAC0250679390216EF7D3D16EF7A16EB7C16F64416F60616EAE706EA8716EB7D16F63E +S2240FEAE07D16EAFC06EA9816EB7E16F7CBC601877C390016F6A5C7877C39003DCC39071694 +S2240FEB00F8B8042104C601070DCC390716F71C042103C707013D877C3900CC390706EBA0EB +S2240FEB203D3BFC390004240AEC843BE68316F8671B82FC3900260AEC843BE68316F6BE1B5E +S2240FEB408216EB9C3A3D3BFC390016FC52040909040707C60821C78FC640876C80303D3BA9 +S2240FEB60FC390016FC52040909040707C60821C78FC640876C80303D16EB933D3D3DC787FC S2240FEB807C398F7C398D7B398A7C398B7B39497C39473DF6394726013DC6013D79398A3DD0 S2240FEBA03B36B745E600C1FF2607B75416ECEC2055B639470420CFC1FE2244C1F3250EC19D -S2240FEBC0F62221C0F38716FBE94D3F3846C1CC6B802526C1D22222C0CC8716FBE97F868678 -S2240FEBE07863716AC1FA6B80250FC1FE220BC0FA8716FBE9296F30373EE680C1C9273A209C +S2240FEBC0F62221C0F38716FC4D4D3F3846C1CC6B802526C1D22222C0CC8716FC4D7F8686AE +S2240FEBE07863716AC1FA6B80250FC1FE220BC0FA8716FC4D296F30373EE680C1C9273A2037 S2240FEC0062EC8116ED8E2060EC8116EDE32059EC8116ED742052EC8116EE41204BEC81163E S2240FEC20ED522044EC8116ED4E203DEC8116ED342036EC8116ED24202FB75416EE8A202844 S2240FEC40EC8116EED62021EC8116EE6D201AEC8116EF3D2013EC8116EF67200CEC8116EFA7 S2240FEC60752005C62016ECDCF6398A042105C61016ECDCFC398B2F0E180B01398ACE394A56 S2240FEC803416EC891B821B833D3BEC843BEC8216EB211B843D6CAD69822013EE8BE600EB56 -S2240FECA0826B82EE89EC8B16FB096C8B6E89EC87EE85343B16FB0E6C8B6E89C7873B3BECC9 -S2240FECC084EE8616FAF01B8426D1E68287EE806C02C76C00521B833D7939483D37C6FE7BBA +S2240FECA0826B82EE89EC8B16FB6D6C8B6E89EC87EE85343B16FB726C8B6E89C7873B3BEC01 +S2240FECC084EE8616FB541B8426D1E68287EE806C02C76C00521B833D7939483D37C6FE7B55 S2240FECE0394A327A394B50877C398B3D07EACCFF017B3947C77C394A1C394B107B394C1CAF S2240FED00394C0116EB467B394D16EB5F7A394E16EB5F7B394FCC01017C3950CE00087E39ED -S2240FED208B06F5A679394707AFC6FF7B394A50877C398B3D86FFC77C394AF639487B394C0B +S2240FED208B06F60679394707AFC6FF7B394A50877C398B3D86FFC77C394AF639487B394CAA S2240FED40C7877C394D7B394FC6067C398B3DC706ECDC1803E838398FC7877C398D437C39E3 S2240FED604A877C394CC6077C3950C77C394EC6087C398B3D3BC6FF7B394AEE80EC047C39B5 S2240FED808DEC067C398FC601877C398B3A3D3BB745E601873B16EB468300013BEE82AEB3E0 @@ -52,116 +52,119 @@ S2240FEE20394AEEA7E60187B745F3398F7C398FCC0000F9398EB9398D7C398D087E398B3A6C S2240FEE403D3BC6FF7B394AFC398F3BFC398D3BEE84EC063BEC043BCC394E16EC957B394BB4 S2240FEE60C7877C394CC6087C398B1B8A3D86FFC77C394A7B394C16EB467B394DC7877C39A9 S2240FEE804E7B3950C6077C398B3D3BFC398F3BFC398D3B16EB468300013BC7873BEC88C3C5 -S2240FEEA0000116F5A91B88046107C63116ECDC2023C6FF7B394A16EB46830001F3398F7C9D +S2240FEEA0000116F6091B88046107C63116ECDC2023C6FF7B394A16EB46830001F3398F7C3C S2240FEEC0398FCC0000F9398EB9398D7C398DC601877C398B3A3D3BB745E601873B16EB46DD -S2240FEEE08300023BEE82AEB32304C6222031C6FF7B394A50877C398BEE80E601260816F5A5 -S2240FEF00D90461372017FD398F35FD398D353BC73B1902B7C616F5A91B88046107C631169A +S2240FEEE08300023BEE82AEB32304C6222031C6FF7B394A50877C398BEE80E601260816F6A4 +S2240FEF00390461372017FD398F35FD398D353BC73B1902B7C616F6091B88046107C63116D9 S2240FEF20ECDC2017EE80E60187F3398F7C398FCC0000F9398EB9398D7C398D3A3D3BFC39AF -S2240FEF408F3BFC398D3BEE84EC06EE0416F5BF1B84046107C63116ECDC200AC6FF7B394AE9 -S2240FEF6050877C398B3A3D16EF7DC6FF7B394A50877C398B3DC63106ECDC06F9443B16F508 -S2240FEF80D104411616EB2016F60116F5D5830002B745EC006C8015F300003A3D6CACEC8CBB +S2240FEF408F3BFC398D3BEE84EC06EE0416F61F1B84046107C63116ECDC200AC6FF7B394A88 +S2240FEF6050877C398B3A3D16EF7DC6FF7B394A50877C398B3DC63106ECDC06F9A83B16F6A3 +S2240FEF803104411616EB2016F66116F635830002B745EC006C8015F300003A3D6CACEC8C9A S2240FEFA06C82EE88200DED82E6306B706D823416EB7D30ED80341A5F6E828D00003026E6A8 S2240FEFC01B843D1B9D6982CCFF016B81507C39937C39917C3B977C3B951C010303F6010351 S2240FEFE0C403527B3DAF1D0103E36980E68087B745E68108B75613B745CC1F4018151AE1C9 S2240FF000698E00302212E681C1082605A6808A408FA6807A0100201C6280E680C13F23CC93 -S2240FF020E68204010FCCE96F3BCC018CCE000016F7621B821B833D1B983BFCE840ACF01015 -S2240FF04022442608FCE842ACF012223AECF012E38E3BEC8EE9F013A9F012B7453A16FB0ED8 -S2240FF0603BFCE8DAF3E8DE3BFCE8D8F9E8DDB9E8DCB7D43BEC8216FB0E3B34EC88EE8416DA -S2240FF080FAF01B862303C72061FCE8DAF3E8DE3BFCE8D8F9E8DDB9E8DC3BEC828302006C20 -S2240FF0A0883AC20082006C84EDF014EEF012C60916FADFB746C60916FACE6C8A6E88EE869D -S2240FF0C034ACB3260BEC86AC822605CC3B952003CC39913BEEF01434EEF01434EE8634EC1D -S2240FF0E0F016EEF01416F3CF1B881B8A3D1B943B34EDF014EEF012C60916FADFB746C6091E -S2240FF10016FACE6C8E6E8CBEE84018250099FCE840AC8C2607FCE842AC8E2238ECF014E337 -S2240FF120823BEC82E9F015A9F014B7453A16FB0E3BFCE8DAF3E8DE3BFCE8D8F9E8DDB9E898 -S2240FF140DCB7D43BEC8216FB0E3B34EC88EE8416FAF01B862251ECF014A38E3BECF014E2D5 -S2240FF1608FA28E3BEC82E3866C8C3AE983A9826C88C609EE88ED8A16FADF6C86EC8A840155 -S2240FF1808C00001B822705EE84086E846D8A202E16EB7DC64037EC8F3BEC8F3BCC55AA164D -S2240FF1A0F5521B85046103C7201CEC8EC302006C8EEC8CC90089006C8CEE8A086E8AEC8A00 -S2240FF1C0AC8425CCC6011BF0103DC7876CACFE3B9704A509FE3B9504A503522051CE018067 -S2240FF1E06E828737E383B745E6E23B9987E3816C813352C18025EB61816180EE80086E807A -S2240FF200FCE8DAF3E8DE3BFCE8D8F9E8DDB9E8DC3BEC82830082B7453AC2008200343BC6D4 -S2240FF22002873BC73B1A8AB75416F0371B8A1B843D1B96C7876C88FCE8DAF3E8DE3BFCE8FE -S2240FF240D8F9E8DDB9E8DC3BEC828300826C863AC20082006C82FCE8DAF3E8DE6C80FCE834 -S2240FF260D8F9E8DDB9E8DC3BEC828300806C8A3AC20082006C86C71B828737E3873BCC00C2 -S2240FF28000E988A987B7453A16F50487E3896C893352C18025E3EC82EE8016F504B710C745 -S2240FF2A03BEC84EE8216FB0916F50487E380E38A1B822603C60121C71B8A3DFC3B9704A4D2 -S2240FF2C006FC3B95048409CC3B9516F48C044115FC399304A406FC399104840BCC399116B0 -S2240FF2E0F48C046102C73DC787B7456AE23D9952C11625F4C6013DFCE8DAF3E8DE3BFCE8C7 -S2240FF300D8F9E8DDB9E8DCB7453A16F52DC340003BCC0000C9008900B7453A3D6CAD3484B8 -S2240FF32001044403C72043EE87EC02AC822606EC00AC802733EC806C00EC826C02D6306BEF -S2240FF34084EC82EE8016F5215B30EE871A0434C7873BEC86EE8416F52D3BC7873B860216B4 -S2240FF360EF9C1B88E6845B30C6011B853D6CAA34FCE8DAF3E8DE3BFCE8D8F9E8DDB9E8DCBF -S2240FF3803BEC828302006C8A3AC20082006C86EC8C8C3B951B822607CC39916C8A2019EC76 -S2240FF3A082AC86260BAE842607CC3B956C8A2008EC8A16F48C04410FEC8A3BEC84EE821634 -S2240FF3C0F31C1B82046103C7878FEC8A1B883D1B983B34EDF012EEF010C60916FADFB74618 -S2240FF3E0C60916FACE6C866E84EEF014EC0204A412EC0004A40D34EC88EE8616F31C1B824F -S2240FF400044160EEF014EC02AC862606EC00AC84270F34EC88EE8616F36D1B826CF01427DD -S2240FF42042EEF014ECF012A3021A041AE66E88EC8E6C8A16EB7DEEF0141904EC8835A3B1E3 -S2240FF4408C0200252634EC88C30200B745EC86C9008900B746B754B76516F36D1B826CF0FF -S2240FF460142603C72023C300046C88EE8AE630ED886B706D886E8AEC82EE8016FB0E6C82C2 -S2240FF4806E800474AE26ACC6011B8C3D1B973BC6016B8AEE80EC0204A408EC0004A403C7B4 -S2240FF4A0205FC7876C88EC8859B746EE80E3026C84CC0000E901A9006C82B75419EEEC44DB -S2240FF4C06C8616EB7DC62037EC853BEE8534EC8B16F5521B85044119EC84EE8216F504E196 -S2240FF4E086260EEC84EE8216FB0916F504E1872704698A200AEE88086E888E010025A7E6D0 -S2240FF5008A1B8B3D3B34D63037EC8316F5215B30EC83EE8116F52DB745E600325A301B8445 -S2240FF5203D3B34C60EED8216FADF1B843D843FC380003D3BC787B74537E6E2E8E06BE23DE4 -S2240FF540993352C11625EECC3D996C8015F300003A3D6CAC6982D6306B83EC88EE8607C1DB -S2240FF5605B301D010303545451C403FA01037B0103C6307B0105B6010584808180261EEC23 -S2240FF58088EE8607A8EE80B7466E40E68A7B010607A11F010530022004C6016B82E6835B06 -S2240FF5A030E6821B843D06EFC33BEC8A3BEC8A3BEC8A3BEC8A3BEC8816F0371B88303D3B10 -S2240FF5C034EC883BEC883BEC8616F0ED1B841B843D16F2313D16F2F73D16F1CA0461013D7F -S2240FF5E016F2BB3D16F6014C4001C6015B4EDC44C35DC05C504C4680C7877C3DB27C3DB00D -S2240FF6003D79004C79004679004D79004079004779004879004979004A79004B3D4F4E01F1 -S2240FF6201AC6015B4EDC50C35DC05C50FC3DB2FE3DB016FB097C3DB27E3DB03D07DFFC3D52 -S2240FF640B2FE3DB03D7900CB7900CA7900C87900C9C61A873B5AC85BC94CCB0C3A3D6BAD18 -S2240FF660C140230ECCE9A43BC68887B70516F7621B82E68016F74E04010ECCE9A43BC68C59 -S2240FF68087B70516F7621B82C7876C81202416EB7DEC85E381B745E60016F74E04010ECC19 -S2240FF6A0E9A43BC69587B70516F7621B82EE81086E81E68087AC8122D51B833D3BF63DB450 -S2240FF6C02621CC3DB916F73D04216FF63DB9276A16F63C7C3DB77E3DB5793DFAC6017B3D5B -S2240FF6E0B42057F63DFA87C3000187C33DB916F73D042125723DFAF63DFAF13DB9263BEE73 -S2240FF7008034C7873BCE3DBA343BF63DFA16EF9C1B88793DB4C601202216F63C3BFC3DB70D -S2240FF720C30064B746FC3DB5C9008900353BEC8416FAF01B822303793DB4C7303D3B4FCCBA -S2240FF7402009D6CFEE806B00C60121C7303D4ECC8002C73D5BCF200316EB7D4FCC80F9C60D -S2240FF760013D16EB7D20FB1B96C6017B01401F014101FBC6807B0141CC01F43B1A82341A24 -S2240FF78085B75416F8DB1B8404010ECCE9D83BC6F187B70516F7621B82E6807B0142E681D1 -S2240FF7A07B01431D014B30CC06676C88C7876C866C846C827B0150C6087B0151C60C7B01DD -S2240FF7C052C6CE7B01537A0154C6107B01557A01567A0157C6CC7B0158C6E07B01597A01EB -S2240FF7E05A7A015B7A015CC6077B015D7A015E7A015F1D0140011E014101FBC6017B014A4D -S2240FF8001B8A3D371E0146010FCCE9D83BCC0133CE000016F7621B82CC20FC7B01707A0155 -S2240FF82071790172790173E6807B017CC720108737B746E384B745E6006BEA01743352E1E1 -S2240FF8408025ECC6017B0146200316EB7D1F014601F8323D6CA869861F014401791E0161AA -S2240FF8600810FC016049494949496C84C7876C822033FE0162FC0160C4078749B7C54656A2 -S2240FF880CD00003BFC0160C4E03BC60334EE8216FADFEA85AA846C8AB754EA81AA806C888D -S2240FF8A00C88801B86EC848C06672626EC822622C6016B86B6016C840F6A87C72010873700 -S2240FF8C0B745E381B746E6E201646B403352E18725EC1D0144FEE6861B883D6CAC3B6984F5 -S2240FF8E0E6848759B745E6E2E8F687B746E6E2E8F719EE02B764ED8A136C80CC1F40B7560B -S2240FF900EE80181004642ECC1F40EE801810B7516B852721C140221D53EE886B00E6EAE87A -S2240FF920F753861012A6EAE8F64337AAB0EE826A00C601200C16EB7D6284E684C11225A04C -S2240FF940C71B863D14103D790011CC09395B105A12CF390016E82906EA0BFEE78005003D4D -S2240FF960FEE78205003DFEE78405003DFEE78605003DFEE78805003DFEE78A05003DFEE72D -S2240FF9808C05003DFEE78E05003DFEE79005003DFEE79205003DFEE79405003DFEE7960525 -S2240FF9A0003DFEE79805003DFEE79A05003DFEE79C05003DFEE79E05003DFEE7A005003D27 -S2240FF9C0FEE7A205003DFEE7A405003DFEE7A605003DFEE7A805003DFEE7AA05003DFEE72D -S2240FF9E0AC05003DFEE7AE05003DFEE7B005003DFEE7B205003DFEE7B405003DFEE7B60505 -S2240FFA00003DFEE7B805003DFEE7BA05003DFEE7BC05003DFEE7BE05003DFEE7C005003D26 -S2240FFA20FEE7C205003DFEE7C405003DFEE7C605003DFEE7C805003DFEE7CA05003DFEE72C -S2240FFA40CC05003DFEE7CE05003DFEE7D005003DFEE7D205003DFEE7D405003DFEE7D605E4 -S2240FFA60003DFEE7D805003DFEE7DA05003DFEE7DC05003DFEE7DE05003DFEE7E005003D26 -S2240FFA80FEE7E205003DFEE7E405003DFEE7E605003DFEE7E805003DFEE7EA05003DFEE72C -S2240FFAA0EC05003DFEE7EE05003DFEE7F005003DFEE7F205003DFEE7F405003DFEE7F605C4 -S2240FFAC0003DFEE7F805003DFEE7FC05003D87D7B7C6270A59B7C55545B7C50436F63D87A8 -S2240FFAE0D7B7C6270AB7C549B7C546560436F63DAC84270E34B7C5E285A284B7C510FB30CA -S2240FFB002002AE82311B84054004A401083D046401098300013D87C76C82EC8C261FEE8ED4 -S2240FFB20ED86EC8811280DEC86CD0000116D82B746EC88116D846C8887C76C863D9727099A -S2240FFB40EE86B7C5CD00002008EE8DE686ED87B7C61135ECF010133B35ECF012ED8413E3CA -S2240FFB60B130B7C5CD0000356581A38CB7C5E28BA28A310446113669AF3137323433EEF02F -S2240FFB801011B76532201F252A046403044539E78E2706EE8E87C7200BB7C5363469AFEEE4 -S2240FFBA0F013313A1810083A34A3B1B74620A33102209F4151B7C5415104A40108AE8E2270 -S2240FFBC0EE2505ACF01024E7316D84698369826C886E863D3B341B9C16FB1630ECB5EDB564 -S2240FFBE005403BB704B7053A3D30E6E605E53037E1310460022504E61F2002E6E51AE53371 -S20D0FFC00050000013901040000A3 -S2240FFF80F95AF960F966F96CF972F978F97EF984F98AF990F996F99CF9A2F9A8F9AEF9B44D -S2240FFFA0F9BAF9C0F9C6F9CCF9D2F9D8F9DEF9E4F9EAF9F0F9F6F9FCFA02FA08FA0EFA1429 -S2240FFFC0FA1AFA20FA26FA2CFA32FA38FA3EFA44FA4AFA50FA56FA5CFA62FA68FA6EFA74FD -S2240FFFE0FA7AFA80FA86FA8CFA92FA98FA9EFAA4FAAAFAB0FAB6FABCFAC2F947FAC8F947F3 +S2240FF020E68204010FCCE96F3BCC019FCE000016F7C61B821B833D1B983BEC8EEE8C16FB69 +S2240FF040723B16F1163B16F10A3BEC8216FB72A3F018B7C5E2F017A2F016343BEC88EE844D +S2240FF06016FB541B862240FCE840ACF01022382608FCE842ACF012222EECF012E38E3BEC12 +S2240FF0808EE9F013A9F012B7453A16FB723B16F1163B07763BEC8216FB723B34EC88EE84ED +S2240FF0A016FB541B862303C7205D076A3BFCE8D8F9E8DDB9E8DC3BEC828302006C883AC20B +S2240FF0C00082006C84EDF014EEF012C60916FB43B746C60916FB326C8A6E88EE8634ACB3A4 +S2240FF0E0260BEC86AC822605CC3B952003CC39913BEEF01434EEF01434EE8634ECF016EE9C +S2240FF100F01416F42F1B881B8A3DFCE8D8F9E8DDB9E8DCB7D43DFCE8DAF3E8DE3D1B943BBC +S2240FF1203416FB723BFCE8DAF3E8DE3B16F21E3BEC8216FB72A3F01AB7C5E2F019A2F01807 +S2240FF140343BEC88EE8416FB541B862229EDF014EEF012C60916FB43B746C60916FB326C76 +S2240FF1608E6E8CBEE84018250091FCE840AC8C2607FCE842AC8E2230ECF014E3823BEC8206 +S2240FF180E9F015A9F014B7453A16FB723BFCE8DAF3E8DE3B16F21E3BEC8216FB723B34EC6D +S2240FF1A088EE8416FB541B862251ECF014A38E3BECF014E28FA28E3BEC82E3866C8C3AE9AE +S2240FF1C083A9826C88C609EE88ED8A16FB436C86EC8A84018C00001B822705EE84086E84BB +S2240FF1E06D8A202E16EB7DC64037EC8F3BEC8F3BCC55AA16F5B21B85046103C7201CEC8E82 +S2240FF200C302006C8EEC8CC90089006C8CEE8A086E8AEC8AAC8425CCC6011BF0103DFCE847 +S2240FF220D8F9E8DDB9E8DCB7D43DC7876CACFE3B9704A509FE3B9504A503522051CE01806B +S2240FF2406E828737E383B745E6E23B9987E3816C813352C18025EB61816180EE80086E8019 +S2240FF260FCE8DAF3E8DE3BFCE8D8F9E8DDB9E8DC3BEC82830082B7453AC2008200343BC674 +S2240FF28002873BC73B1A8AB75416F0371B8A1B843D1B96C7876C88FCE8DAF3E8DE3BFCE89E +S2240FF2A0D8F9E8DDB9E8DC3BEC828300826C863AC20082006C82FCE8DAF3E8DE6C80FCE8D4 +S2240FF2C0D8F9E8DDB9E8DC3BEC828300806C8A3AC20082006C86C71B828737E3873BCC0062 +S2240FF2E000E988A987B7453A16F56487E3896C893352C18025E3EC82EE8016F564B710C725 +S2240FF3003BEC84EE8216FB6D16F56487E380E38A1B822603C60121C71B8A3DFC3B9704A4AD +S2240FF32006FC3B95048409CC3B9516F4EC044115FC399304A406FC399104840BCC399116EF +S2240FF340F4EC046102C73DC787B7456AE23D9952C11625F4C6013DFCE8DAF3E8DE3BFCE806 +S2240FF360D8F9E8DDB9E8DCB7453A16F58DC340003BCC0000C9008900B7453A3D6CAD3484F8 +S2240FF38001044403C72043EE87EC02AC822606EC00AC802733EC806C00EC826C02D6306B8F +S2240FF3A084EC82EE8016F5815B30EE871A0434C7873BEC86EE8416F58D3BC7873B86021694 +S2240FF3C0EF9C1B88E6845B30C6011B853D6CAA34FCE8DAF3E8DE3BFCE8D8F9E8DDB9E8DC5F +S2240FF3E03BEC828302006C8A3AC20082006C86EC8C8C3B951B822607CC39916C8A2019EC16 +S2240FF40082AC86260BAE842607CC3B956C8A2008EC8A16F4EC04410FEC8A3BEC84EE821673 +S2240FF420F37C1B82046103C7878FEC8A1B883D1B983B34EDF012EEF010C60916FB43B746F2 +S2240FF440C60916FB326C866E84EEF014EC0204A412EC0004A40D34EC88EE8616F37C1B8229 +S2240FF460044160EEF014EC02AC862606EC00AC84270F34EC88EE8616F3CD1B826CF014271D +S2240FF48042EEF014ECF012A3021A041AE66E88EC8E6C8A16EB7DEEF0141904EC8835A3B183 +S2240FF4A08C0200252634EC88C30200B745EC86C9008900B746B754B76516F3CD1B826CF03F +S2240FF4C0142603C72023C300046C88EE8AE630ED886B706D886E8AEC82EE8016FB726C82FE +S2240FF4E06E800474AE26ACC6011B8C3D1B973BC6016B8AEE80EC0204A408EC0004A403C754 +S2240FF500205FC7876C88EC8859B746EE80E3026C84CC0000E901A9006C82B75419EEEC447A +S2240FF5206C8616EB7DC62037EC853BEE8534EC8B16F5B21B85044119EC84EE8216F564E175 +S2240FF54086260EEC84EE8216FB6D16F564E1872704698A200AEE88086E888E010025A7E6AB +S2240FF5608A1B8B3D3B34D63037EC8316F5815B30EC83EE8116F58DB745E600325A301B8425 +S2240FF5803D3B34C60EED8216FB431B843D843FC380003D3BC787B74537E6E2E8E06BE23D1F +S2240FF5A0993352C11625EECC3D996C8015F300003A3D6CAC6982D6306B83EC88EE8607C17B +S2240FF5C05B301D010303545451C403FA01037B0103C6307B0105B6010584808180261EECC3 +S2240FF5E088EE8607A8EE80B7466E40E68A7B010607A11F010530022004C6016B82E6835BA6 +S2240FF60030E6821B843D06EFC33BEC8A3BEC8A3BEC8A3BEC8A3BEC8816F0371B88303D3BAF +S2240FF62034EC883BEC883BEC8616F11D1B841B843D16F2913D16F3573D16F22A0461013DCB +S2240FF64016F31B3D16F6614C4001C6015B4EDC44C35DC05C504C4680C7877C3DB27C3DB0EB +S2240FF6603D79004C79004679004D79004079004779004879004979004A79004B3D4F4E0191 +S2240FF6801AC6015B4EDC50C35DC05C50FC3DB2FE3DB016FB6D7C3DB27E3DB03D07DFFC3D8E +S2240FF6A0B2FE3DB03D7900CB7900CA7900C87900C9C61A873B5AC85BC94CCB0C3A3D6BADB8 +S2240FF6C0C140230ECCE9A43BC68887B70516F7C61B82E68016F7B204010ECCE9A43BC68C31 +S2240FF6E087B70516F7C61B82C7876C81202416EB7DEC85E381B745E60016F7B204010ECCF1 +S2240FF700E9A43BC69587B70516F7C61B82EE81086E81E68087AC8122D51B833D3BF63DB48B +S2240FF7202625CC3DB916F7A1042173F63DB9276EC140226A16F69C7C3DB77E3DB5793DFA1C +S2240FF740C6017B3DB42057F63DFA87C3000187C33DB916F7A1042125723DFAF63DFAF13D37 +S2240FF760B9263BEE8034C7873BCE3DBA343BF63DFA16EF9C1B88793DB4C601202216F69C70 +S2240FF7803BFC3DB7C30064B746FC3DB5C9008900353BEC8416FB541B822303793DB4C7305D +S2240FF7A03D3B4FCC2009D6CFEE806B00C60121C7303D4ECC8002C73D5BCF200316EB7D4F25 +S2240FF7C0CC80F9C6013D16EB7D20FB1B96C6017B01401F014101FBC6807B0141CC01F43BA3 +S2240FF7E01A82341A85B75416F93F1B8404010ECCE9D83BC6F187B70516F7C61B82E6807B68 +S2240FF8000142E6817B01431D014B30CC06676C88C7876C866C846C827B0150C6087B015120 +S2240FF820C60C7B0152C6CE7B01537A0154C6107B01557A01567A0157C6CC7B0158C6E07B11 +S2240FF84001597A015A7A015B7A015CC6077B015D7A015E7A015F1D0140011E014101FBC6DE +S2240FF860017B014A1B8A3D371E0146010FCCE9D83BCC0133CE000016F7C61B82CC20FC7BB6 +S2240FF88001707A0171790172790173E6807B017CC720108737B746E384B745E6006BEA016F +S2240FF8A0743352E18025ECC6017B0146200316EB7D1F014601F8323D6CA869861F01440169 +S2240FF8C0791E01610810FC016049494949496C84C7876C822033FE0162FC0160C407874961 +S2240FF8E0B7C54656CD00003BFC0160C4E03BC60334EE8216FB43EA85AA846C8AB754EA81CE +S2240FF900AA806C880C88801B86EC848C06672626EC822622C6016B86B6016C840F6A87C76F +S2240FF92020108737B745E381B746E6E201646B403352E18725EC1D0144FEE6861B883D6C7A +S2240FF940AC3B6984E6848759B745E6E2E8F687B746E6E2E8F719EE02B764ED8A136C80CC42 +S2240FF9601F40B756EE80181004642ECC1F40EE801810B7516B852721C140221D53EE886B66 +S2240FF98000E6EAE8F753861012A6EAE8F64337AAB0EE826A00C601200C16EB7D6284E684CC +S2240FF9A0C11225A0C71B863D14103D790011CC09395B105A12CF390016E82906EA0BFEE717 +S2240FF9C08005003DFEE78205003DFEE78405003DFEE78605003DFEE78805003DFEE78A052D +S2240FF9E0003DFEE78C05003DFEE78E05003DFEE79005003DFEE79205003DFEE79405003D23 +S2240FFA00FEE79605003DFEE79805003DFEE79A05003DFEE79C05003DFEE79E05003DFEE728 +S2240FFA20A005003DFEE7A205003DFEE7A405003DFEE7A605003DFEE7A805003DFEE7AA050C +S2240FFA40003DFEE7AC05003DFEE7AE05003DFEE7B005003DFEE7B205003DFEE7B405003D22 +S2240FFA60FEE7B605003DFEE7B805003DFEE7BA05003DFEE7BC05003DFEE7BE05003DFEE728 +S2240FFA80C005003DFEE7C205003DFEE7C405003DFEE7C605003DFEE7C805003DFEE7CA05EC +S2240FFAA0003DFEE7CC05003DFEE7CE05003DFEE7D005003DFEE7D205003DFEE7D405003D22 +S2240FFAC0FEE7D605003DFEE7D805003DFEE7DA05003DFEE7DC05003DFEE7DE05003DFEE728 +S2240FFAE0E005003DFEE7E205003DFEE7E405003DFEE7E605003DFEE7E805003DFEE7EA05CC +S2240FFB00003DFEE7EC05003DFEE7EE05003DFEE7F005003DFEE7F205003DFEE7F405003D21 +S2240FFB20FEE7F605003DFEE7F805003DFEE7FC05003D87D7B7C6270A59B7C55545B7C50457 +S2240FFB4036F63D87D7B7C6270AB7C549B7C546560436F63DAC84270E34B7C5E285A284B779 +S2240FFB60C510FB302002AE82311B84054004A401083D046401098300013D87C76C82EC8C35 +S2240FFB80261FEE8EED86EC8811280DEC86CD0000116D82B746EC88116D846C8887C76C867D +S2240FFBA03D972709EE86B7C5CD00002008EE8DE686ED87B7C61135ECF010133B35ECF012CD +S2240FFBC0ED8413E3B130B7C5CD0000356581A38CB7C5E28BA28A310446113669AF313732AD +S2240FFBE03433EEF01011B76532201F252A046403044539E78E2706EE8E87C7200BB7C53679 +S2240FFC003469AFEEF013313A1810083A34A3B1B74620A33102209F4151B7C5415104A4013B +S2240FFC2008AE8E22EE2505ACF01024E7316D84698369826C886E863D3B341B9C16FB7A307C +S2240FFC40ECB5EDB505403BB704B7053A3D30E6E605E53037E1310460022504E61F2002E6E4 +S2110FFC60E51AE53305000001390104000028 +S2240FFF80F9BEF9C4F9CAF9D0F9D6F9DCF9E2F9E8F9EEF9F4F9FAFA00FA06FA0CFA12FA1808 +S2240FFFA0FA1EFA24FA2AFA30FA36FA3CFA42FA48FA4EFA54FA5AFA60FA66FA6CFA72FA78DD +S2240FFFC0FA7EFA84FA8AFA90FA96FA9CFAA2FAA8FAAEFAB4FABAFAC0FAC6FACCFAD2FAD8BD +S2240FFFE0FADEFAE4FAEAFAF0FAF6FAFCFB02FB08FB0EFB14FB1AFB20FB26F9ABFB2CF9ABAB S9030000FC diff --git a/Target/Demo/HCS12_Evbplus_Dragon12p_CodeWarrior/Boot/bin/openblt_evbplus_dragon12p.abs.s19 b/Target/Demo/HCS12_Evbplus_Dragon12p_CodeWarrior/Boot/bin/openblt_evbplus_dragon12p.abs.s19 index 4c988b19..85fa5e11 100644 --- a/Target/Demo/HCS12_Evbplus_Dragon12p_CodeWarrior/Boot/bin/openblt_evbplus_dragon12p.abs.s19 +++ b/Target/Demo/HCS12_Evbplus_Dragon12p_CodeWarrior/Boot/bin/openblt_evbplus_dragon12p.abs.s19 @@ -1,6 +1,6 @@ S0720000433A5C576F726B5C736F6674776172655C4F70656E424C545C5461726765745C44656D6F5C48435331325F457662706C75735F447261676F6E3132705F436F646557617272696F725C426F6F745C62696E5C6F70656E626C745F657662706C75735F647261676F6E3132702E61627366 S123E800FEE830FDE82E270E35ED31EC3169700434FB310326F2FEE832EC31270BED311831 -S123E8200A30700434F920F13D07D506EA0B0001E834FC02390004FB4F70656E424C54000D +S123E8200A30700434F920F13D07D506EA0B0001E834FC66390004FB4F70656E424C5400A9 S123E840000C000000004000000C400000004000000C800000004000000CC0000000400004 S123E860000D000000004000000D400000004000000D800000004000000DC00000004000E0 S123E880000E000000004000000E400000004000000E800000004000000EC00000004000BC @@ -16,31 +16,31 @@ S123E9A0682E6300433A5C576F726B5C736F6674776172655C4F70656E424C545C546172C4 S123E9C06765745C536F757263655C48435331325C756172742E6300433A5C576F726B5C08 S123E9E0736F6674776172655C4F70656E424C545C5461726765745C536F757263655C48A4 S123EA00435331325C63616E2E630016EA1616EAC916EADB20FB1B9969824D39806981690D -S123EA2080E68087CD1F40C3000118133BE68387C3000116FBE23B34EC84B76516FBD46C1C +S123EA2080E68087CD1F40C3000118133BE68387C3000116FC463B34EC84B76516FC386C52 S123EA40876E858C5DC01B8226030445286280E680C13F23CCE6820401086281E681C10F92 -S123EA6023BDE68204010ECCE91A3BC66B87B70516F7621B82E6805B34E6815B354F370833 -S123EA80FC4C39801B873DC6017B390216F63C7C39057E390306EA9816EB7804012AF639FA -S123EAA00204212416F63C3BFC3905C301F4B746FC3903C9008900353BEC8416FAF01B828E -S123EAC0250679390216EF7D3D16EF7A16EB7C16F5E416F5A616EAE706EA8716EB7D16F610 -S123EAE01D16EAFC06EA9816EB7E16F767C601877C390016F645C7877C39003DCC390716C8 -S123EB00F854042104C601070DCC390716F6BC042103C707013D877C3900CC390706EBA0C0 -S123EB203D3BFC390004240AEC843BE68316F8031B82FC3900260AEC843BE68316F65E1B32 -S123EB408216EB9C3A3D3BFC390016FBEE040909040707C60821C78FC640876C80303D3B1E -S123EB60FC390016FBEE040909040707C60821C78FC640876C80303D16EB933D3D3DC78771 +S123EA6023BDE68204010ECCE91A3BC66B87B70516F7C61B82E6805B34E6815B354F3708CF +S123EA80FC4C39801B873DC6017B390216F69C7C39057E390306EA9816EB7804012AF6399A +S123EAA00204212416F69C3BFC3905C301F4B746FC3903C9008900353BEC8416FB541B82C9 +S123EAC0250679390216EF7D3D16EF7A16EB7C16F64416F60616EAE706EA8716EB7D16F64E +S123EAE07D16EAFC06EA9816EB7E16F7CBC601877C390016F6A5C7877C39003DCC390716A4 +S123EB00F8B8042104C601070DCC390716F71C042103C707013D877C3900CC390706EBA0FB +S123EB203D3BFC390004240AEC843BE68316F8671B82FC3900260AEC843BE68316F6BE1B6E +S123EB408216EB9C3A3D3BFC390016FC52040909040707C60821C78FC640876C80303D3BB9 +S123EB60FC390016FC52040909040707C60821C78FC640876C80303D16EB933D3D3DC7870C S123EB807C398F7C398D7B398A7C398B7B39497C39473DF6394726013DC6013D79398A3DE0 S123EBA03B36B745E600C1FF2607B75416ECEC2055B639470420CFC1FE2244C1F3250EC1AD -S123EBC0F62221C0F38716FBE94D3F3846C1CC6B802526C1D22222C0CC8716FBE97F868688 -S123EBE07863716AC1FA6B80250FC1FE220BC0FA8716FBE9296F30373EE680C1C9273A20AC +S123EBC0F62221C0F38716FC4D4D3F3846C1CC6B802526C1D22222C0CC8716FC4D7F8686BE +S123EBE07863716AC1FA6B80250FC1FE220BC0FA8716FC4D296F30373EE680C1C9273A2047 S123EC0062EC8116ED8E2060EC8116EDE32059EC8116ED742052EC8116EE41204BEC81164E S123EC20ED522044EC8116ED4E203DEC8116ED342036EC8116ED24202FB75416EE8A202854 S123EC40EC8116EED62021EC8116EE6D201AEC8116EF3D2013EC8116EF67200CEC8116EFB7 S123EC60752005C62016ECDCF6398A042105C61016ECDCFC398B2F0E180B01398ACE394A66 S123EC803416EC891B821B833D3BEC843BEC8216EB211B843D6CAD69822013EE8BE600EB66 -S123ECA0826B82EE89EC8B16FB096C8B6E89EC87EE85343B16FB0E6C8B6E89C7873B3BECD9 -S123ECC084EE8616FAF01B8426D1E68287EE806C02C76C00521B833D7939483D37C6FE7BCA +S123ECA0826B82EE89EC8B16FB6D6C8B6E89EC87EE85343B16FB726C8B6E89C7873B3BEC11 +S123ECC084EE8616FB541B8426D1E68287EE806C02C76C00521B833D7939483D37C6FE7B65 S123ECE0394A327A394B50877C398B3D07EACCFF017B3947C77C394A1C394B107B394C1CBF S123ED00394C0116EB467B394D16EB5F7A394E16EB5F7B394FCC01017C3950CE00087E39FD -S123ED208B06F5A679394707AFC6FF7B394A50877C398B3D86FFC77C394AF639487B394C1B +S123ED208B06F60679394707AFC6FF7B394A50877C398B3D86FFC77C394AF639487B394CBA S123ED40C7877C394D7B394FC6067C398B3DC706ECDC1803E838398FC7877C398D437C39F3 S123ED604A877C394CC6077C3950C77C394EC6087C398B3D3BC6FF7B394AEE80EC047C39C5 S123ED808DEC067C398FC601877C398B3A3D3BB745E601873B16EB468300013BEE82AEB3F0 @@ -52,116 +52,119 @@ S123EE20394AEEA7E60187B745F3398F7C398FCC0000F9398EB9398D7C398D087E398B3A7C S123EE403D3BC6FF7B394AFC398F3BFC398D3BEE84EC063BEC043BCC394E16EC957B394BC4 S123EE60C7877C394CC6087C398B1B8A3D86FFC77C394A7B394C16EB467B394DC7877C39B9 S123EE804E7B3950C6077C398B3D3BFC398F3BFC398D3B16EB468300013BC7873BEC88C3D5 -S123EEA0000116F5A91B88046107C63116ECDC2023C6FF7B394A16EB46830001F3398F7CAD +S123EEA0000116F6091B88046107C63116ECDC2023C6FF7B394A16EB46830001F3398F7C4C S123EEC0398FCC0000F9398EB9398D7C398DC601877C398B3A3D3BB745E601873B16EB46ED -S123EEE08300023BEE82AEB32304C6222031C6FF7B394A50877C398BEE80E601260816F5B5 -S123EF00D90461372017FD398F35FD398D353BC73B1902B7C616F5A91B88046107C63116AA +S123EEE08300023BEE82AEB32304C6222031C6FF7B394A50877C398BEE80E601260816F6B4 +S123EF00390461372017FD398F35FD398D353BC73B1902B7C616F6091B88046107C63116E9 S123EF20ECDC2017EE80E60187F3398F7C398FCC0000F9398EB9398D7C398D3A3D3BFC39BF -S123EF408F3BFC398D3BEE84EC06EE0416F5BF1B84046107C63116ECDC200AC6FF7B394AF9 -S123EF6050877C398B3A3D16EF7DC6FF7B394A50877C398B3DC63106ECDC06F9443B16F518 -S123EF80D104411616EB2016F60116F5D5830002B745EC006C8015F300003A3D6CACEC8CCB +S123EF408F3BFC398D3BEE84EC06EE0416F61F1B84046107C63116ECDC200AC6FF7B394A98 +S123EF6050877C398B3A3D16EF7DC6FF7B394A50877C398B3DC63106ECDC06F9A83B16F6B3 +S123EF803104411616EB2016F66116F635830002B745EC006C8015F300003A3D6CACEC8CAA S123EFA06C82EE88200DED82E6306B706D823416EB7D30ED80341A5F6E828D00003026E6B8 S123EFC01B843D1B9D6982CCFF016B81507C39937C39917C3B977C3B951C010303F6010361 S123EFE0C403527B3DAF1D0103E36980E68087B745E68108B75613B745CC1F4018151AE1D9 S123F000698E00302212E681C1082605A6808A408FA6807A0100201C6280E680C13F23CCA3 -S123F020E68204010FCCE96F3BCC018CCE000016F7621B821B833D1B983BFCE840ACF01025 -S123F04022442608FCE842ACF012223AECF012E38E3BEC8EE9F013A9F012B7453A16FB0EE8 -S123F0603BFCE8DAF3E8DE3BFCE8D8F9E8DDB9E8DCB7D43BEC8216FB0E3B34EC88EE8416EA -S123F080FAF01B862303C72061FCE8DAF3E8DE3BFCE8D8F9E8DDB9E8DC3BEC828302006C30 -S123F0A0883AC20082006C84EDF014EEF012C60916FADFB746C60916FACE6C8A6E88EE86AD -S123F0C034ACB3260BEC86AC822605CC3B952003CC39913BEEF01434EEF01434EE8634EC2D -S123F0E0F016EEF01416F3CF1B881B8A3D1B943B34EDF014EEF012C60916FADFB746C6092E -S123F10016FACE6C8E6E8CBEE84018250099FCE840AC8C2607FCE842AC8E2238ECF014E347 -S123F120823BEC82E9F015A9F014B7453A16FB0E3BFCE8DAF3E8DE3BFCE8D8F9E8DDB9E8A8 -S123F140DCB7D43BEC8216FB0E3B34EC88EE8416FAF01B862251ECF014A38E3BECF014E2E5 -S123F1608FA28E3BEC82E3866C8C3AE983A9826C88C609EE88ED8A16FADF6C86EC8A840165 -S123F1808C00001B822705EE84086E846D8A202E16EB7DC64037EC8F3BEC8F3BCC55AA165D -S123F1A0F5521B85046103C7201CEC8EC302006C8EEC8CC90089006C8CEE8A086E8AEC8A10 -S123F1C0AC8425CCC6011BF0103DC7876CACFE3B9704A509FE3B9504A503522051CE018077 -S123F1E06E828737E383B745E6E23B9987E3816C813352C18025EB61816180EE80086E808A -S123F200FCE8DAF3E8DE3BFCE8D8F9E8DDB9E8DC3BEC82830082B7453AC2008200343BC6E4 -S123F22002873BC73B1A8AB75416F0371B8A1B843D1B96C7876C88FCE8DAF3E8DE3BFCE80E -S123F240D8F9E8DDB9E8DC3BEC828300826C863AC20082006C82FCE8DAF3E8DE6C80FCE844 -S123F260D8F9E8DDB9E8DC3BEC828300806C8A3AC20082006C86C71B828737E3873BCC00D2 -S123F28000E988A987B7453A16F50487E3896C893352C18025E3EC82EE8016F504B710C755 -S123F2A03BEC84EE8216FB0916F50487E380E38A1B822603C60121C71B8A3DFC3B9704A4E2 -S123F2C006FC3B95048409CC3B9516F48C044115FC399304A406FC399104840BCC399116C0 -S123F2E0F48C046102C73DC787B7456AE23D9952C11625F4C6013DFCE8DAF3E8DE3BFCE8D7 -S123F300D8F9E8DDB9E8DCB7453A16F52DC340003BCC0000C9008900B7453A3D6CAD3484C8 -S123F32001044403C72043EE87EC02AC822606EC00AC802733EC806C00EC826C02D6306BFF -S123F34084EC82EE8016F5215B30EE871A0434C7873BEC86EE8416F52D3BC7873B860216C4 -S123F360EF9C1B88E6845B30C6011B853D6CAA34FCE8DAF3E8DE3BFCE8D8F9E8DDB9E8DCCF -S123F3803BEC828302006C8A3AC20082006C86EC8C8C3B951B822607CC39916C8A2019EC86 -S123F3A082AC86260BAE842607CC3B956C8A2008EC8A16F48C04410FEC8A3BEC84EE821644 -S123F3C0F31C1B82046103C7878FEC8A1B883D1B983B34EDF012EEF010C60916FADFB74628 -S123F3E0C60916FACE6C866E84EEF014EC0204A412EC0004A40D34EC88EE8616F31C1B825F -S123F400044160EEF014EC02AC862606EC00AC84270F34EC88EE8616F36D1B826CF01427ED -S123F42042EEF014ECF012A3021A041AE66E88EC8E6C8A16EB7DEEF0141904EC8835A3B1F3 -S123F4408C0200252634EC88C30200B745EC86C9008900B746B754B76516F36D1B826CF00F -S123F460142603C72023C300046C88EE8AE630ED886B706D886E8AEC82EE8016FB0E6C82D2 -S123F4806E800474AE26ACC6011B8C3D1B973BC6016B8AEE80EC0204A408EC0004A403C7C4 -S123F4A0205FC7876C88EC8859B746EE80E3026C84CC0000E901A9006C82B75419EEEC44EB -S123F4C06C8616EB7DC62037EC853BEE8534EC8B16F5521B85044119EC84EE8216F504E1A6 -S123F4E086260EEC84EE8216FB0916F504E1872704698A200AEE88086E888E010025A7E6E0 -S123F5008A1B8B3D3B34D63037EC8316F5215B30EC83EE8116F52DB745E600325A301B8455 -S123F5203D3B34C60EED8216FADF1B843D843FC380003D3BC787B74537E6E2E8E06BE23DF4 -S123F540993352C11625EECC3D996C8015F300003A3D6CAC6982D6306B83EC88EE8607C1EB -S123F5605B301D010303545451C403FA01037B0103C6307B0105B6010584808180261EEC33 -S123F58088EE8607A8EE80B7466E40E68A7B010607A11F010530022004C6016B82E6835B16 -S123F5A030E6821B843D06EFC33BEC8A3BEC8A3BEC8A3BEC8A3BEC8816F0371B88303D3B20 -S123F5C034EC883BEC883BEC8616F0ED1B841B843D16F2313D16F2F73D16F1CA0461013D8F -S123F5E016F2BB3D16F6014C4001C6015B4EDC44C35DC05C504C4680C7877C3DB27C3DB01D -S123F6003D79004C79004679004D79004079004779004879004979004A79004B3D4F4E0101 -S123F6201AC6015B4EDC50C35DC05C50FC3DB2FE3DB016FB097C3DB27E3DB03D07DFFC3D62 -S123F640B2FE3DB03D7900CB7900CA7900C87900C9C61A873B5AC85BC94CCB0C3A3D6BAD28 -S123F660C140230ECCE9A43BC68887B70516F7621B82E68016F74E04010ECCE9A43BC68C69 -S123F68087B70516F7621B82C7876C81202416EB7DEC85E381B745E60016F74E04010ECC29 -S123F6A0E9A43BC69587B70516F7621B82EE81086E81E68087AC8122D51B833D3BF63DB460 -S123F6C02621CC3DB916F73D04216FF63DB9276A16F63C7C3DB77E3DB5793DFAC6017B3D6B -S123F6E0B42057F63DFA87C3000187C33DB916F73D042125723DFAF63DFAF13DB9263BEE83 -S123F7008034C7873BCE3DBA343BF63DFA16EF9C1B88793DB4C601202216F63C3BFC3DB71D -S123F720C30064B746FC3DB5C9008900353BEC8416FAF01B822303793DB4C7303D3B4FCCCA -S123F7402009D6CFEE806B00C60121C7303D4ECC8002C73D5BCF200316EB7D4FCC80F9C61D -S123F760013D16EB7D20FB1B96C6017B01401F014101FBC6807B0141CC01F43B1A82341A34 -S123F78085B75416F8DB1B8404010ECCE9D83BC6F187B70516F7621B82E6807B0142E681E1 -S123F7A07B01431D014B30CC06676C88C7876C866C846C827B0150C6087B0151C60C7B01ED -S123F7C052C6CE7B01537A0154C6107B01557A01567A0157C6CC7B0158C6E07B01597A01FB -S123F7E05A7A015B7A015CC6077B015D7A015E7A015F1D0140011E014101FBC6017B014A5D -S123F8001B8A3D371E0146010FCCE9D83BCC0133CE000016F7621B82CC20FC7B01707A0165 -S123F82071790172790173E6807B017CC720108737B746E384B745E6006BEA01743352E1F1 -S123F8408025ECC6017B0146200316EB7D1F014601F8323D6CA869861F014401791E0161BA -S123F8600810FC016049494949496C84C7876C822033FE0162FC0160C4078749B7C54656B2 -S123F880CD00003BFC0160C4E03BC60334EE8216FADFEA85AA846C8AB754EA81AA806C889D -S123F8A00C88801B86EC848C06672626EC822622C6016B86B6016C840F6A87C72010873710 -S123F8C0B745E381B746E6E201646B403352E18725EC1D0144FEE6861B883D6CAC3B698405 -S123F8E0E6848759B745E6E2E8F687B746E6E2E8F719EE02B764ED8A136C80CC1F40B7561B -S123F900EE80181004642ECC1F40EE801810B7516B852721C140221D53EE886B00E6EAE88A -S123F920F753861012A6EAE8F64337AAB0EE826A00C601200C16EB7D6284E684C11225A05C -S123F940C71B863D14103D790011CC09395B105A12CF390016E82906EA0BFEE78005003D5D -S123F960FEE78205003DFEE78405003DFEE78605003DFEE78805003DFEE78A05003DFEE73D -S123F9808C05003DFEE78E05003DFEE79005003DFEE79205003DFEE79405003DFEE7960535 -S123F9A0003DFEE79805003DFEE79A05003DFEE79C05003DFEE79E05003DFEE7A005003D37 -S123F9C0FEE7A205003DFEE7A405003DFEE7A605003DFEE7A805003DFEE7AA05003DFEE73D -S123F9E0AC05003DFEE7AE05003DFEE7B005003DFEE7B205003DFEE7B405003DFEE7B60515 -S123FA00003DFEE7B805003DFEE7BA05003DFEE7BC05003DFEE7BE05003DFEE7C005003D36 -S123FA20FEE7C205003DFEE7C405003DFEE7C605003DFEE7C805003DFEE7CA05003DFEE73C -S123FA40CC05003DFEE7CE05003DFEE7D005003DFEE7D205003DFEE7D405003DFEE7D605F4 -S123FA60003DFEE7D805003DFEE7DA05003DFEE7DC05003DFEE7DE05003DFEE7E005003D36 -S123FA80FEE7E205003DFEE7E405003DFEE7E605003DFEE7E805003DFEE7EA05003DFEE73C -S123FAA0EC05003DFEE7EE05003DFEE7F005003DFEE7F205003DFEE7F405003DFEE7F605D4 -S123FAC0003DFEE7F805003DFEE7FC05003D87D7B7C6270A59B7C55545B7C50436F63D87B8 -S123FAE0D7B7C6270AB7C549B7C546560436F63DAC84270E34B7C5E285A284B7C510FB30DA -S123FB002002AE82311B84054004A401083D046401098300013D87C76C82EC8C261FEE8EE4 -S123FB20ED86EC8811280DEC86CD0000116D82B746EC88116D846C8887C76C863D972709AA -S123FB40EE86B7C5CD00002008EE8DE686ED87B7C61135ECF010133B35ECF012ED8413E3DA -S123FB60B130B7C5CD0000356581A38CB7C5E28BA28A310446113669AF3137323433EEF03F -S123FB801011B76532201F252A046403044539E78E2706EE8E87C7200BB7C5363469AFEEF4 -S123FBA0F013313A1810083A34A3B1B74620A33102209F4151B7C5415104A40108AE8E2280 -S123FBC0EE2505ACF01024E7316D84698369826C886E863D3B341B9C16FB1630ECB5EDB574 -S123FBE005403BB704B7053A3D30E6E605E53037E1310460022504E61F2002E6E51AE53381 -S10CFC00050000013901040000B3 -S123FF80F95AF960F966F96CF972F978F97EF984F98AF990F996F99CF9A2F9A8F9AEF9B45D -S123FFA0F9BAF9C0F9C6F9CCF9D2F9D8F9DEF9E4F9EAF9F0F9F6F9FCFA02FA08FA0EFA1439 -S123FFC0FA1AFA20FA26FA2CFA32FA38FA3EFA44FA4AFA50FA56FA5CFA62FA68FA6EFA740D -S123FFE0FA7AFA80FA86FA8CFA92FA98FA9EFAA4FAAAFAB0FAB6FABCFAC2F947FAC8F94703 +S123F020E68204010FCCE96F3BCC019FCE000016F7C61B821B833D1B983BEC8EEE8C16FB79 +S123F040723B16F1163B16F10A3BEC8216FB72A3F018B7C5E2F017A2F016343BEC88EE845D +S123F06016FB541B862240FCE840ACF01022382608FCE842ACF012222EECF012E38E3BEC22 +S123F0808EE9F013A9F012B7453A16FB723B16F1163B07763BEC8216FB723B34EC88EE84FD +S123F0A016FB541B862303C7205D076A3BFCE8D8F9E8DDB9E8DC3BEC828302006C883AC21B +S123F0C00082006C84EDF014EEF012C60916FB43B746C60916FB326C8A6E88EE8634ACB3B4 +S123F0E0260BEC86AC822605CC3B952003CC39913BEEF01434EEF01434EE8634ECF016EEAC +S123F100F01416F42F1B881B8A3DFCE8D8F9E8DDB9E8DCB7D43DFCE8DAF3E8DE3D1B943BCC +S123F1203416FB723BFCE8DAF3E8DE3B16F21E3BEC8216FB72A3F01AB7C5E2F019A2F01817 +S123F140343BEC88EE8416FB541B862229EDF014EEF012C60916FB43B746C60916FB326C86 +S123F1608E6E8CBEE84018250091FCE840AC8C2607FCE842AC8E2230ECF014E3823BEC8216 +S123F180E9F015A9F014B7453A16FB723BFCE8DAF3E8DE3B16F21E3BEC8216FB723B34EC7D +S123F1A088EE8416FB541B862251ECF014A38E3BECF014E28FA28E3BEC82E3866C8C3AE9BE +S123F1C083A9826C88C609EE88ED8A16FB436C86EC8A84018C00001B822705EE84086E84CB +S123F1E06D8A202E16EB7DC64037EC8F3BEC8F3BCC55AA16F5B21B85046103C7201CEC8E92 +S123F200C302006C8EEC8CC90089006C8CEE8A086E8AEC8AAC8425CCC6011BF0103DFCE857 +S123F220D8F9E8DDB9E8DCB7D43DC7876CACFE3B9704A509FE3B9504A503522051CE01807B +S123F2406E828737E383B745E6E23B9987E3816C813352C18025EB61816180EE80086E8029 +S123F260FCE8DAF3E8DE3BFCE8D8F9E8DDB9E8DC3BEC82830082B7453AC2008200343BC684 +S123F28002873BC73B1A8AB75416F0371B8A1B843D1B96C7876C88FCE8DAF3E8DE3BFCE8AE +S123F2A0D8F9E8DDB9E8DC3BEC828300826C863AC20082006C82FCE8DAF3E8DE6C80FCE8E4 +S123F2C0D8F9E8DDB9E8DC3BEC828300806C8A3AC20082006C86C71B828737E3873BCC0072 +S123F2E000E988A987B7453A16F56487E3896C893352C18025E3EC82EE8016F564B710C735 +S123F3003BEC84EE8216FB6D16F56487E380E38A1B822603C60121C71B8A3DFC3B9704A4BD +S123F32006FC3B95048409CC3B9516F4EC044115FC399304A406FC399104840BCC399116FF +S123F340F4EC046102C73DC787B7456AE23D9952C11625F4C6013DFCE8DAF3E8DE3BFCE816 +S123F360D8F9E8DDB9E8DCB7453A16F58DC340003BCC0000C9008900B7453A3D6CAD348408 +S123F38001044403C72043EE87EC02AC822606EC00AC802733EC806C00EC826C02D6306B9F +S123F3A084EC82EE8016F5815B30EE871A0434C7873BEC86EE8416F58D3BC7873B860216A4 +S123F3C0EF9C1B88E6845B30C6011B853D6CAA34FCE8DAF3E8DE3BFCE8D8F9E8DDB9E8DC6F +S123F3E03BEC828302006C8A3AC20082006C86EC8C8C3B951B822607CC39916C8A2019EC26 +S123F40082AC86260BAE842607CC3B956C8A2008EC8A16F4EC04410FEC8A3BEC84EE821683 +S123F420F37C1B82046103C7878FEC8A1B883D1B983B34EDF012EEF010C60916FB43B74602 +S123F440C60916FB326C866E84EEF014EC0204A412EC0004A40D34EC88EE8616F37C1B8239 +S123F460044160EEF014EC02AC862606EC00AC84270F34EC88EE8616F3CD1B826CF014272D +S123F48042EEF014ECF012A3021A041AE66E88EC8E6C8A16EB7DEEF0141904EC8835A3B193 +S123F4A08C0200252634EC88C30200B745EC86C9008900B746B754B76516F3CD1B826CF04F +S123F4C0142603C72023C300046C88EE8AE630ED886B706D886E8AEC82EE8016FB726C820E +S123F4E06E800474AE26ACC6011B8C3D1B973BC6016B8AEE80EC0204A408EC0004A403C764 +S123F500205FC7876C88EC8859B746EE80E3026C84CC0000E901A9006C82B75419EEEC448A +S123F5206C8616EB7DC62037EC853BEE8534EC8B16F5B21B85044119EC84EE8216F564E185 +S123F54086260EEC84EE8216FB6D16F564E1872704698A200AEE88086E888E010025A7E6BB +S123F5608A1B8B3D3B34D63037EC8316F5815B30EC83EE8116F58DB745E600325A301B8435 +S123F5803D3B34C60EED8216FB431B843D843FC380003D3BC787B74537E6E2E8E06BE23D2F +S123F5A0993352C11625EECC3D996C8015F300003A3D6CAC6982D6306B83EC88EE8607C18B +S123F5C05B301D010303545451C403FA01037B0103C6307B0105B6010584808180261EECD3 +S123F5E088EE8607A8EE80B7466E40E68A7B010607A11F010530022004C6016B82E6835BB6 +S123F60030E6821B843D06EFC33BEC8A3BEC8A3BEC8A3BEC8A3BEC8816F0371B88303D3BBF +S123F62034EC883BEC883BEC8616F11D1B841B843D16F2913D16F3573D16F22A0461013DDB +S123F64016F31B3D16F6614C4001C6015B4EDC44C35DC05C504C4680C7877C3DB27C3DB0FB +S123F6603D79004C79004679004D79004079004779004879004979004A79004B3D4F4E01A1 +S123F6801AC6015B4EDC50C35DC05C50FC3DB2FE3DB016FB6D7C3DB27E3DB03D07DFFC3D9E +S123F6A0B2FE3DB03D7900CB7900CA7900C87900C9C61A873B5AC85BC94CCB0C3A3D6BADC8 +S123F6C0C140230ECCE9A43BC68887B70516F7C61B82E68016F7B204010ECCE9A43BC68C41 +S123F6E087B70516F7C61B82C7876C81202416EB7DEC85E381B745E60016F7B204010ECC01 +S123F700E9A43BC69587B70516F7C61B82EE81086E81E68087AC8122D51B833D3BF63DB49B +S123F7202625CC3DB916F7A1042173F63DB9276EC140226A16F69C7C3DB77E3DB5793DFA2C +S123F740C6017B3DB42057F63DFA87C3000187C33DB916F7A1042125723DFAF63DFAF13D47 +S123F760B9263BEE8034C7873BCE3DBA343BF63DFA16EF9C1B88793DB4C601202216F69C80 +S123F7803BFC3DB7C30064B746FC3DB5C9008900353BEC8416FB541B822303793DB4C7306D +S123F7A03D3B4FCC2009D6CFEE806B00C60121C7303D4ECC8002C73D5BCF200316EB7D4F35 +S123F7C0CC80F9C6013D16EB7D20FB1B96C6017B01401F014101FBC6807B0141CC01F43BB3 +S123F7E01A82341A85B75416F93F1B8404010ECCE9D83BC6F187B70516F7C61B82E6807B78 +S123F8000142E6817B01431D014B30CC06676C88C7876C866C846C827B0150C6087B015130 +S123F820C60C7B0152C6CE7B01537A0154C6107B01557A01567A0157C6CC7B0158C6E07B21 +S123F84001597A015A7A015B7A015CC6077B015D7A015E7A015F1D0140011E014101FBC6EE +S123F860017B014A1B8A3D371E0146010FCCE9D83BCC0133CE000016F7C61B82CC20FC7BC6 +S123F88001707A0171790172790173E6807B017CC720108737B746E384B745E6006BEA017F +S123F8A0743352E18025ECC6017B0146200316EB7D1F014601F8323D6CA869861F01440179 +S123F8C0791E01610810FC016049494949496C84C7876C822033FE0162FC0160C407874971 +S123F8E0B7C54656CD00003BFC0160C4E03BC60334EE8216FB43EA85AA846C8AB754EA81DE +S123F900AA806C880C88801B86EC848C06672626EC822622C6016B86B6016C840F6A87C77F +S123F92020108737B745E381B746E6E201646B403352E18725EC1D0144FEE6861B883D6C8A +S123F940AC3B6984E6848759B745E6E2E8F687B746E6E2E8F719EE02B764ED8A136C80CC52 +S123F9601F40B756EE80181004642ECC1F40EE801810B7516B852721C140221D53EE886B76 +S123F98000E6EAE8F753861012A6EAE8F64337AAB0EE826A00C601200C16EB7D6284E684DC +S123F9A0C11225A0C71B863D14103D790011CC09395B105A12CF390016E82906EA0BFEE727 +S123F9C08005003DFEE78205003DFEE78405003DFEE78605003DFEE78805003DFEE78A053D +S123F9E0003DFEE78C05003DFEE78E05003DFEE79005003DFEE79205003DFEE79405003D33 +S123FA00FEE79605003DFEE79805003DFEE79A05003DFEE79C05003DFEE79E05003DFEE738 +S123FA20A005003DFEE7A205003DFEE7A405003DFEE7A605003DFEE7A805003DFEE7AA051C +S123FA40003DFEE7AC05003DFEE7AE05003DFEE7B005003DFEE7B205003DFEE7B405003D32 +S123FA60FEE7B605003DFEE7B805003DFEE7BA05003DFEE7BC05003DFEE7BE05003DFEE738 +S123FA80C005003DFEE7C205003DFEE7C405003DFEE7C605003DFEE7C805003DFEE7CA05FC +S123FAA0003DFEE7CC05003DFEE7CE05003DFEE7D005003DFEE7D205003DFEE7D405003D32 +S123FAC0FEE7D605003DFEE7D805003DFEE7DA05003DFEE7DC05003DFEE7DE05003DFEE738 +S123FAE0E005003DFEE7E205003DFEE7E405003DFEE7E605003DFEE7E805003DFEE7EA05DC +S123FB00003DFEE7EC05003DFEE7EE05003DFEE7F005003DFEE7F205003DFEE7F405003D31 +S123FB20FEE7F605003DFEE7F805003DFEE7FC05003D87D7B7C6270A59B7C55545B7C50467 +S123FB4036F63D87D7B7C6270AB7C549B7C546560436F63DAC84270E34B7C5E285A284B789 +S123FB60C510FB302002AE82311B84054004A401083D046401098300013D87C76C82EC8C45 +S123FB80261FEE8EED86EC8811280DEC86CD0000116D82B746EC88116D846C8887C76C868D +S123FBA03D972709EE86B7C5CD00002008EE8DE686ED87B7C61135ECF010133B35ECF012DD +S123FBC0ED8413E3B130B7C5CD0000356581A38CB7C5E28BA28A310446113669AF313732BD +S123FBE03433EEF01011B76532201F252A046403044539E78E2706EE8E87C7200BB7C53689 +S123FC003469AFEEF013313A1810083A34A3B1B74620A33102209F4151B7C5415104A4014B +S123FC2008AE8E22EE2505ACF01024E7316D84698369826C886E863D3B341B9C16FB7A308C +S123FC40ECB5EDB505403BB704B7053A3D30E6E605E53037E1310460022504E61F2002E6F4 +S110FC60E51AE53305000001390104000038 +S123FF80F9BEF9C4F9CAF9D0F9D6F9DCF9E2F9E8F9EEF9F4F9FAFA00FA06FA0CFA12FA1818 +S123FFA0FA1EFA24FA2AFA30FA36FA3CFA42FA48FA4EFA54FA5AFA60FA66FA6CFA72FA78ED +S123FFC0FA7EFA84FA8AFA90FA96FA9CFAA2FAA8FAAEFAB4FABAFAC0FAC6FACCFAD2FAD8CD +S123FFE0FADEFAE4FAEAFAF0FAF6FAFCFB02FB08FB0EFB14FB1AFB20FB26F9ABFB2CF9ABBB S9030000FC diff --git a/Target/Demo/HCS12_Evbplus_Dragon12p_CodeWarrior/Boot/bin/openblt_evbplus_dragon12p.map b/Target/Demo/HCS12_Evbplus_Dragon12p_CodeWarrior/Boot/bin/openblt_evbplus_dragon12p.map index 05bbfe29..15d814fe 100644 --- a/Target/Demo/HCS12_Evbplus_Dragon12p_CodeWarrior/Boot/bin/openblt_evbplus_dragon12p.map +++ b/Target/Demo/HCS12_Evbplus_Dragon12p_CodeWarrior/Boot/bin/openblt_evbplus_dragon12p.map @@ -39,7 +39,7 @@ _startupData is allocated at 0xE82E and uses 6 Bytes extern struct _tagStartup { unsigned nofZeroOut 1 _Range pZeroOut 0x3900 1275 - _Copy *toCopyDownBeg 0xFC02 + _Copy *toCopyDownBeg 0xFC66 } _startupData; ********************************************************************************************* @@ -50,8 +50,8 @@ Section Name Size Type From To Segment .startData 10 R 0xE82E 0xE837 ROM_C000 .rodata 226 R 0xE838 0xE919 ROM_C000 .rodata1 241 R 0xE91A 0xEA0A ROM_C000 -.text 4291 R 0xEA0B 0xFACD ROM_C000 -.copy 7 R 0xFC02 0xFC08 ROM_C000 +.text 4391 R 0xEA0B 0xFB31 ROM_C000 +.copy 7 R 0xFC66 0xFC6C ROM_C000 .stack 256 R/W 0x3800 0x38FF RAM .data 2 R/W 0x3900 0x3901 RAM .abs_section_8 1 N/I 0x8 0x8 .absSeg0 @@ -397,10 +397,10 @@ Section Name Size Type From To Segment .abs_section_2be 2 N/I 0x2BE 0x2BF .absSeg340 .abs_section_ff80 128 R 0xFF80 0xFFFF .absSeg341 .bss 1273 R/W 0x3902 0x3DFA RAM -RUNTIME 308 R 0xFACE 0xFC01 ROM_C000 +RUNTIME 308 R 0xFB32 0xFC65 ROM_C000 Summary of section sizes per section type: -READ_ONLY (R): 1489 (dec: 5257) +READ_ONLY (R): 14ED (dec: 5357) READ_WRITE (R/W): 5FB (dec: 1531) NO_INIT (N/I): 190 (dec: 400) @@ -415,16 +415,16 @@ OBJECT-ALLOCATION SECTION --------------------------------------------------------------------------------------------- MODULE: -- rtshc12.c.o (ansisi.lib) -- - PROCEDURES: - _LSHL FACE 11 17 3 RUNTIME - _LSHRU FADF 11 17 6 RUNTIME - _LCMP FAF0 19 25 5 RUNTIME - _LINC FB09 5 5 4 RUNTIME - _LDEC FB0E 8 8 6 RUNTIME - _lDivMod FB16 BE 190 1 RUNTIME - _LDIVU FBD4 E 14 1 RUNTIME - _ILSEXT FBE2 7 7 1 RUNTIME - _CASE_DIRECT_BYTE FBE9 5 5 3 RUNTIME - _CASE_CHECKED_BYTE FBEE 14 20 2 RUNTIME + _LSHL FB32 11 17 3 RUNTIME + _LSHRU FB43 11 17 6 RUNTIME + _LCMP FB54 19 25 7 RUNTIME + _LINC FB6D 5 5 4 RUNTIME + _LDEC FB72 8 8 10 RUNTIME + _lDivMod FB7A BE 190 1 RUNTIME + _LDIVU FC38 E 14 1 RUNTIME + _ILSEXT FC46 7 7 1 RUNTIME + _CASE_DIRECT_BYTE FC4D 5 5 3 RUNTIME + _CASE_CHECKED_BYTE FC52 14 20 2 RUNTIME - VARIABLES: MODULE: -- mc9s12dg256.c.o -- - PROCEDURES: @@ -842,21 +842,21 @@ MODULE: -- cpu.c.o -- MODULE: -- flash.c.o -- - PROCEDURES: FlashInit EFC3 74 116 1 .text - FlashWrite F037 B6 182 2 .text - FlashErase F0ED DD 221 1 .text - FlashWriteChecksum F1CA 67 103 1 .text - FlashVerifyChecksum F231 8A 138 1 .text - FlashDone F2BB 3C 60 1 .text - FlashGetUserProgBaseAddress F2F7 25 37 1 .text - FlashInitBlock F31C 51 81 2 .text - FlashSwitchBlock F36D 62 98 2 .text - FlashAddToBlock F3CF BD 189 1 .text - FlashWriteBlock F48C 78 120 3 .text - FlashGetLinearAddrByte F504 1D 29 5 .text - FlashGetPhysPage F521 C 12 3 .text - FlashGetPhysAddr F52D 6 6 4 .text - FlashExecuteCommand F533 1F 31 1 .text - FlashOperate F552 54 84 2 .text + FlashWrite F037 E6 230 5 .text + FlashErase F11D 10D 269 3 .text + FlashWriteChecksum F22A 67 103 1 .text + FlashVerifyChecksum F291 8A 138 1 .text + FlashDone F31B 3C 60 1 .text + FlashGetUserProgBaseAddress F357 25 37 1 .text + FlashInitBlock F37C 51 81 2 .text + FlashSwitchBlock F3CD 62 98 2 .text + FlashAddToBlock F42F BD 189 1 .text + FlashWriteBlock F4EC 78 120 3 .text + FlashGetLinearAddrByte F564 1D 29 5 .text + FlashGetPhysPage F581 C 12 3 .text + FlashGetPhysAddr F58D 6 6 4 .text + FlashExecuteCommand F593 1F 31 1 .text + FlashOperate F5B2 54 84 2 .text - VARIABLES: flashLayout E840 A0 160 45 .rodata flashExecCmd E8E0 16 22 1 .rodata @@ -867,28 +867,28 @@ MODULE: -- flash.c.o -- flashMaxNrBlocks 3DAF 1 1 1 .bss MODULE: -- nvm.c.o -- - PROCEDURES: - NvmInit F5A6 3 3 2 .text - NvmWrite F5A9 16 22 2 .text - NvmErase F5BF 12 18 1 .text - NvmVerifyChecksum F5D1 4 4 1 .text - NvmGetUserProgBaseAddress F5D5 4 4 1 .text - NvmDone F5D9 B 11 1 .text + NvmInit F606 3 3 2 .text + NvmWrite F609 16 22 2 .text + NvmErase F61F 12 18 1 .text + NvmVerifyChecksum F631 4 4 1 .text + NvmGetUserProgBaseAddress F635 4 4 1 .text + NvmDone F639 B 11 1 .text - VARIABLES: MODULE: -- timer.c.o -- - PROCEDURES: - TimerInit F5E4 1D 29 1 .text - TimerReset F601 1C 28 2 .text - TimerUpdate F61D 1F 31 2 .text - TimerGet F63C 9 9 4 .text + TimerInit F644 1D 29 1 .text + TimerReset F661 1C 28 2 .text + TimerUpdate F67D 1F 31 2 .text + TimerGet F69C 9 9 4 .text - VARIABLES: millisecond_counter 3DB0 4 4 8 .bss MODULE: -- uart.c.o -- - PROCEDURES: - UartInit F645 19 25 1 .text - UartTransmitPacket F65E 5E 94 1 .text - UartReceivePacket F6BC 81 129 1 .text - UartReceiveByte F73D 11 17 2 .text - UartTransmitByte F74E 14 20 2 .text + UartInit F6A5 19 25 1 .text + UartTransmitPacket F6BE 5E 94 1 .text + UartReceivePacket F71C 85 133 1 .text + UartReceiveByte F7A1 11 17 2 .text + UartTransmitByte F7B2 14 20 2 .text - VARIABLES: STRING.C..Work.software.Ope.1 E9A4 34 52 3 .rodata1 xcpCtoRxInProgress.4 3DB4 1 1 4 .bss @@ -897,20 +897,20 @@ MODULE: -- uart.c.o -- xcpCtoRxLength.3 3DFA 1 1 5 .bss MODULE: -- assert.c.o -- - PROCEDURES: - AssertFailure F762 5 5 7 .text + AssertFailure F7C6 5 5 7 .text - VARIABLES: MODULE: -- can.c.o -- - PROCEDURES: - CanInit F767 9C 156 1 .text - CanTransmitPacket F803 51 81 1 .text - CanReceivePacket F854 87 135 1 .text - CanGetSpeedConfig F8DB 69 105 1 .text + CanInit F7CB 9C 156 1 .text + CanTransmitPacket F867 51 81 1 .text + CanReceivePacket F8B8 87 135 1 .text + CanGetSpeedConfig F93F 69 105 1 .text - VARIABLES: canTiming E8F6 24 36 4 .rodata STRING.C..Work.software.Ope.1 E9D8 33 51 2 .rodata1 MODULE: -- cpu_comp.c.o -- - PROCEDURES: - CpuIrqDisable F944 3 3 1 .text + CpuIrqDisable F9A8 3 3 1 .text - VARIABLES: MODULE: -- cstartup.c.o -- - PROCEDURES: @@ -920,69 +920,69 @@ MODULE: -- cstartup.c.o -- _startupData E82E 6 6 3 .startData MODULE: -- vectors.c.o -- - PROCEDURES: - reset_handler F947 13 19 2 .text - Vector0_handler F95A 6 6 1 .text - Vector1_handler F960 6 6 1 .text - Vector2_handler F966 6 6 1 .text - Vector3_handler F96C 6 6 1 .text - Vector4_handler F972 6 6 1 .text - Vector5_handler F978 6 6 1 .text - Vector6_handler F97E 6 6 1 .text - Vector7_handler F984 6 6 1 .text - Vector8_handler F98A 6 6 1 .text - Vector9_handler F990 6 6 1 .text - Vector10_handler F996 6 6 1 .text - Vector11_handler F99C 6 6 1 .text - Vector12_handler F9A2 6 6 1 .text - Vector13_handler F9A8 6 6 1 .text - Vector14_handler F9AE 6 6 1 .text - Vector15_handler F9B4 6 6 1 .text - Vector16_handler F9BA 6 6 1 .text - Vector17_handler F9C0 6 6 1 .text - Vector18_handler F9C6 6 6 1 .text - Vector19_handler F9CC 6 6 1 .text - Vector20_handler F9D2 6 6 1 .text - Vector21_handler F9D8 6 6 1 .text - Vector22_handler F9DE 6 6 1 .text - Vector23_handler F9E4 6 6 1 .text - Vector24_handler F9EA 6 6 1 .text - Vector25_handler F9F0 6 6 1 .text - Vector26_handler F9F6 6 6 1 .text - Vector27_handler F9FC 6 6 1 .text - Vector28_handler FA02 6 6 1 .text - Vector29_handler FA08 6 6 1 .text - Vector30_handler FA0E 6 6 1 .text - Vector31_handler FA14 6 6 1 .text - Vector32_handler FA1A 6 6 1 .text - Vector33_handler FA20 6 6 1 .text - Vector34_handler FA26 6 6 1 .text - Vector35_handler FA2C 6 6 1 .text - Vector36_handler FA32 6 6 1 .text - Vector37_handler FA38 6 6 1 .text - Vector38_handler FA3E 6 6 1 .text - Vector39_handler FA44 6 6 1 .text - Vector40_handler FA4A 6 6 1 .text - Vector41_handler FA50 6 6 1 .text - Vector42_handler FA56 6 6 1 .text - Vector43_handler FA5C 6 6 1 .text - Vector44_handler FA62 6 6 1 .text - Vector45_handler FA68 6 6 1 .text - Vector46_handler FA6E 6 6 1 .text - Vector47_handler FA74 6 6 1 .text - Vector48_handler FA7A 6 6 1 .text - Vector49_handler FA80 6 6 1 .text - Vector50_handler FA86 6 6 1 .text - Vector51_handler FA8C 6 6 1 .text - Vector52_handler FA92 6 6 1 .text - Vector53_handler FA98 6 6 1 .text - Vector54_handler FA9E 6 6 1 .text - Vector55_handler FAA4 6 6 1 .text - Vector56_handler FAAA 6 6 1 .text - Vector57_handler FAB0 6 6 1 .text - Vector58_handler FAB6 6 6 1 .text - Vector59_handler FABC 6 6 1 .text - Vector60_handler FAC2 6 6 1 .text - Vector62_handler FAC8 6 6 1 .text + reset_handler F9AB 13 19 2 .text + Vector0_handler F9BE 6 6 1 .text + Vector1_handler F9C4 6 6 1 .text + Vector2_handler F9CA 6 6 1 .text + Vector3_handler F9D0 6 6 1 .text + Vector4_handler F9D6 6 6 1 .text + Vector5_handler F9DC 6 6 1 .text + Vector6_handler F9E2 6 6 1 .text + Vector7_handler F9E8 6 6 1 .text + Vector8_handler F9EE 6 6 1 .text + Vector9_handler F9F4 6 6 1 .text + Vector10_handler F9FA 6 6 1 .text + Vector11_handler FA00 6 6 1 .text + Vector12_handler FA06 6 6 1 .text + Vector13_handler FA0C 6 6 1 .text + Vector14_handler FA12 6 6 1 .text + Vector15_handler FA18 6 6 1 .text + Vector16_handler FA1E 6 6 1 .text + Vector17_handler FA24 6 6 1 .text + Vector18_handler FA2A 6 6 1 .text + Vector19_handler FA30 6 6 1 .text + Vector20_handler FA36 6 6 1 .text + Vector21_handler FA3C 6 6 1 .text + Vector22_handler FA42 6 6 1 .text + Vector23_handler FA48 6 6 1 .text + Vector24_handler FA4E 6 6 1 .text + Vector25_handler FA54 6 6 1 .text + Vector26_handler FA5A 6 6 1 .text + Vector27_handler FA60 6 6 1 .text + Vector28_handler FA66 6 6 1 .text + Vector29_handler FA6C 6 6 1 .text + Vector30_handler FA72 6 6 1 .text + Vector31_handler FA78 6 6 1 .text + Vector32_handler FA7E 6 6 1 .text + Vector33_handler FA84 6 6 1 .text + Vector34_handler FA8A 6 6 1 .text + Vector35_handler FA90 6 6 1 .text + Vector36_handler FA96 6 6 1 .text + Vector37_handler FA9C 6 6 1 .text + Vector38_handler FAA2 6 6 1 .text + Vector39_handler FAA8 6 6 1 .text + Vector40_handler FAAE 6 6 1 .text + Vector41_handler FAB4 6 6 1 .text + Vector42_handler FABA 6 6 1 .text + Vector43_handler FAC0 6 6 1 .text + Vector44_handler FAC6 6 6 1 .text + Vector45_handler FACC 6 6 1 .text + Vector46_handler FAD2 6 6 1 .text + Vector47_handler FAD8 6 6 1 .text + Vector48_handler FADE 6 6 1 .text + Vector49_handler FAE4 6 6 1 .text + Vector50_handler FAEA 6 6 1 .text + Vector51_handler FAF0 6 6 1 .text + Vector52_handler FAF6 6 6 1 .text + Vector53_handler FAFC 6 6 1 .text + Vector54_handler FB02 6 6 1 .text + Vector55_handler FB08 6 6 1 .text + Vector56_handler FB0E 6 6 1 .text + Vector57_handler FB14 6 6 1 .text + Vector58_handler FB1A 6 6 1 .text + Vector59_handler FB20 6 6 1 .text + Vector60_handler FB26 6 6 1 .text + Vector62_handler FB2C 6 6 1 .text - VARIABLES: _vectab FF80 80 128 0 .abs_section_ff80 - LABELS: @@ -1001,10 +1001,10 @@ MODULE STATISTIC cop.c.o 0 2 0 xcp.c.o 74 1020 8 cpu.c.o 0 73 0 - flash.c.o 1055 1507 235 + flash.c.o 1055 1603 235 nvm.c.o 0 62 0 timer.c.o 4 97 0 - uart.c.o 71 285 52 + uart.c.o 71 289 52 assert.c.o 0 5 0 can.c.o 0 477 87 cpu_comp.c.o 0 3 0 @@ -2160,115 +2160,115 @@ OBJECT LIST SORTED BY ADDRESS CpuStartUserProgram EF7D 1F 31 2 .text CpuMemCopy EF9C 27 39 4 .text FlashInit EFC3 74 116 1 .text - FlashWrite F037 B6 182 2 .text - FlashErase F0ED DD 221 1 .text - FlashWriteChecksum F1CA 67 103 1 .text - FlashVerifyChecksum F231 8A 138 1 .text - FlashDone F2BB 3C 60 1 .text - FlashGetUserProgBaseAddress F2F7 25 37 1 .text - FlashInitBlock F31C 51 81 2 .text - FlashSwitchBlock F36D 62 98 2 .text - FlashAddToBlock F3CF BD 189 1 .text - FlashWriteBlock F48C 78 120 3 .text - FlashGetLinearAddrByte F504 1D 29 5 .text - FlashGetPhysPage F521 C 12 3 .text - FlashGetPhysAddr F52D 6 6 4 .text - FlashExecuteCommand F533 1F 31 1 .text - FlashOperate F552 54 84 2 .text - NvmInit F5A6 3 3 2 .text - NvmWrite F5A9 16 22 2 .text - NvmErase F5BF 12 18 1 .text - NvmVerifyChecksum F5D1 4 4 1 .text - NvmGetUserProgBaseAddress F5D5 4 4 1 .text - NvmDone F5D9 B 11 1 .text - TimerInit F5E4 1D 29 1 .text - TimerReset F601 1C 28 2 .text - TimerUpdate F61D 1F 31 2 .text - TimerGet F63C 9 9 4 .text - UartInit F645 19 25 1 .text - UartTransmitPacket F65E 5E 94 1 .text - UartReceivePacket F6BC 81 129 1 .text - UartReceiveByte F73D 11 17 2 .text - UartTransmitByte F74E 14 20 2 .text - AssertFailure F762 5 5 7 .text - CanInit F767 9C 156 1 .text - CanTransmitPacket F803 51 81 1 .text - CanReceivePacket F854 87 135 1 .text - CanGetSpeedConfig F8DB 69 105 1 .text - CpuIrqDisable F944 3 3 1 .text - reset_handler F947 13 19 2 .text - Vector0_handler F95A 6 6 1 .text - Vector1_handler F960 6 6 1 .text - Vector2_handler F966 6 6 1 .text - Vector3_handler F96C 6 6 1 .text - Vector4_handler F972 6 6 1 .text - Vector5_handler F978 6 6 1 .text - Vector6_handler F97E 6 6 1 .text - Vector7_handler F984 6 6 1 .text - Vector8_handler F98A 6 6 1 .text - Vector9_handler F990 6 6 1 .text - Vector10_handler F996 6 6 1 .text - Vector11_handler F99C 6 6 1 .text - Vector12_handler F9A2 6 6 1 .text - Vector13_handler F9A8 6 6 1 .text - Vector14_handler F9AE 6 6 1 .text - Vector15_handler F9B4 6 6 1 .text - Vector16_handler F9BA 6 6 1 .text - Vector17_handler F9C0 6 6 1 .text - Vector18_handler F9C6 6 6 1 .text - Vector19_handler F9CC 6 6 1 .text - Vector20_handler F9D2 6 6 1 .text - Vector21_handler F9D8 6 6 1 .text - Vector22_handler F9DE 6 6 1 .text - Vector23_handler F9E4 6 6 1 .text - Vector24_handler F9EA 6 6 1 .text - Vector25_handler F9F0 6 6 1 .text - Vector26_handler F9F6 6 6 1 .text - Vector27_handler F9FC 6 6 1 .text - Vector28_handler FA02 6 6 1 .text - Vector29_handler FA08 6 6 1 .text - Vector30_handler FA0E 6 6 1 .text - Vector31_handler FA14 6 6 1 .text - Vector32_handler FA1A 6 6 1 .text - Vector33_handler FA20 6 6 1 .text - Vector34_handler FA26 6 6 1 .text - Vector35_handler FA2C 6 6 1 .text - Vector36_handler FA32 6 6 1 .text - Vector37_handler FA38 6 6 1 .text - Vector38_handler FA3E 6 6 1 .text - Vector39_handler FA44 6 6 1 .text - Vector40_handler FA4A 6 6 1 .text - Vector41_handler FA50 6 6 1 .text - Vector42_handler FA56 6 6 1 .text - Vector43_handler FA5C 6 6 1 .text - Vector44_handler FA62 6 6 1 .text - Vector45_handler FA68 6 6 1 .text - Vector46_handler FA6E 6 6 1 .text - Vector47_handler FA74 6 6 1 .text - Vector48_handler FA7A 6 6 1 .text - Vector49_handler FA80 6 6 1 .text - Vector50_handler FA86 6 6 1 .text - Vector51_handler FA8C 6 6 1 .text - Vector52_handler FA92 6 6 1 .text - Vector53_handler FA98 6 6 1 .text - Vector54_handler FA9E 6 6 1 .text - Vector55_handler FAA4 6 6 1 .text - Vector56_handler FAAA 6 6 1 .text - Vector57_handler FAB0 6 6 1 .text - Vector58_handler FAB6 6 6 1 .text - Vector59_handler FABC 6 6 1 .text - Vector60_handler FAC2 6 6 1 .text - Vector62_handler FAC8 6 6 1 .text - _LSHL FACE 11 17 3 RUNTIME - _LSHRU FADF 11 17 6 RUNTIME - _LCMP FAF0 19 25 5 RUNTIME - _LINC FB09 5 5 4 RUNTIME - _LDEC FB0E 8 8 6 RUNTIME - _lDivMod FB16 BE 190 1 RUNTIME - _LDIVU FBD4 E 14 1 RUNTIME - _ILSEXT FBE2 7 7 1 RUNTIME - _CASE_DIRECT_BYTE FBE9 5 5 3 RUNTIME - _CASE_CHECKED_BYTE FBEE 14 20 2 RUNTIME + FlashWrite F037 E6 230 5 .text + FlashErase F11D 10D 269 3 .text + FlashWriteChecksum F22A 67 103 1 .text + FlashVerifyChecksum F291 8A 138 1 .text + FlashDone F31B 3C 60 1 .text + FlashGetUserProgBaseAddress F357 25 37 1 .text + FlashInitBlock F37C 51 81 2 .text + FlashSwitchBlock F3CD 62 98 2 .text + FlashAddToBlock F42F BD 189 1 .text + FlashWriteBlock F4EC 78 120 3 .text + FlashGetLinearAddrByte F564 1D 29 5 .text + FlashGetPhysPage F581 C 12 3 .text + FlashGetPhysAddr F58D 6 6 4 .text + FlashExecuteCommand F593 1F 31 1 .text + FlashOperate F5B2 54 84 2 .text + NvmInit F606 3 3 2 .text + NvmWrite F609 16 22 2 .text + NvmErase F61F 12 18 1 .text + NvmVerifyChecksum F631 4 4 1 .text + NvmGetUserProgBaseAddress F635 4 4 1 .text + NvmDone F639 B 11 1 .text + TimerInit F644 1D 29 1 .text + TimerReset F661 1C 28 2 .text + TimerUpdate F67D 1F 31 2 .text + TimerGet F69C 9 9 4 .text + UartInit F6A5 19 25 1 .text + UartTransmitPacket F6BE 5E 94 1 .text + UartReceivePacket F71C 85 133 1 .text + UartReceiveByte F7A1 11 17 2 .text + UartTransmitByte F7B2 14 20 2 .text + AssertFailure F7C6 5 5 7 .text + CanInit F7CB 9C 156 1 .text + CanTransmitPacket F867 51 81 1 .text + CanReceivePacket F8B8 87 135 1 .text + CanGetSpeedConfig F93F 69 105 1 .text + CpuIrqDisable F9A8 3 3 1 .text + reset_handler F9AB 13 19 2 .text + Vector0_handler F9BE 6 6 1 .text + Vector1_handler F9C4 6 6 1 .text + Vector2_handler F9CA 6 6 1 .text + Vector3_handler F9D0 6 6 1 .text + Vector4_handler F9D6 6 6 1 .text + Vector5_handler F9DC 6 6 1 .text + Vector6_handler F9E2 6 6 1 .text + Vector7_handler F9E8 6 6 1 .text + Vector8_handler F9EE 6 6 1 .text + Vector9_handler F9F4 6 6 1 .text + Vector10_handler F9FA 6 6 1 .text + Vector11_handler FA00 6 6 1 .text + Vector12_handler FA06 6 6 1 .text + Vector13_handler FA0C 6 6 1 .text + Vector14_handler FA12 6 6 1 .text + Vector15_handler FA18 6 6 1 .text + Vector16_handler FA1E 6 6 1 .text + Vector17_handler FA24 6 6 1 .text + Vector18_handler FA2A 6 6 1 .text + Vector19_handler FA30 6 6 1 .text + Vector20_handler FA36 6 6 1 .text + Vector21_handler FA3C 6 6 1 .text + Vector22_handler FA42 6 6 1 .text + Vector23_handler FA48 6 6 1 .text + Vector24_handler FA4E 6 6 1 .text + Vector25_handler FA54 6 6 1 .text + Vector26_handler FA5A 6 6 1 .text + Vector27_handler FA60 6 6 1 .text + Vector28_handler FA66 6 6 1 .text + Vector29_handler FA6C 6 6 1 .text + Vector30_handler FA72 6 6 1 .text + Vector31_handler FA78 6 6 1 .text + Vector32_handler FA7E 6 6 1 .text + Vector33_handler FA84 6 6 1 .text + Vector34_handler FA8A 6 6 1 .text + Vector35_handler FA90 6 6 1 .text + Vector36_handler FA96 6 6 1 .text + Vector37_handler FA9C 6 6 1 .text + Vector38_handler FAA2 6 6 1 .text + Vector39_handler FAA8 6 6 1 .text + Vector40_handler FAAE 6 6 1 .text + Vector41_handler FAB4 6 6 1 .text + Vector42_handler FABA 6 6 1 .text + Vector43_handler FAC0 6 6 1 .text + Vector44_handler FAC6 6 6 1 .text + Vector45_handler FACC 6 6 1 .text + Vector46_handler FAD2 6 6 1 .text + Vector47_handler FAD8 6 6 1 .text + Vector48_handler FADE 6 6 1 .text + Vector49_handler FAE4 6 6 1 .text + Vector50_handler FAEA 6 6 1 .text + Vector51_handler FAF0 6 6 1 .text + Vector52_handler FAF6 6 6 1 .text + Vector53_handler FAFC 6 6 1 .text + Vector54_handler FB02 6 6 1 .text + Vector55_handler FB08 6 6 1 .text + Vector56_handler FB0E 6 6 1 .text + Vector57_handler FB14 6 6 1 .text + Vector58_handler FB1A 6 6 1 .text + Vector59_handler FB20 6 6 1 .text + Vector60_handler FB26 6 6 1 .text + Vector62_handler FB2C 6 6 1 .text + _LSHL FB32 11 17 3 RUNTIME + _LSHRU FB43 11 17 6 RUNTIME + _LCMP FB54 19 25 7 RUNTIME + _LINC FB6D 5 5 4 RUNTIME + _LDEC FB72 8 8 10 RUNTIME + _lDivMod FB7A BE 190 1 RUNTIME + _LDIVU FC38 E 14 1 RUNTIME + _ILSEXT FC46 7 7 1 RUNTIME + _CASE_DIRECT_BYTE FC4D 5 5 3 RUNTIME + _CASE_CHECKED_BYTE FC52 14 20 2 RUNTIME _vectab FF80 80 128 0 .abs_section_ff80 ********************************************************************************************* @@ -2296,13 +2296,13 @@ rtshc12.c.o (ansisi.lib): ********************************************************************************************* COPYDOWN SECTION --------------------------------------------------------------------------------------------- -------- ROM-ADDRESS: 0xFC02 ---- SIZE 4 --- +------- ROM-ADDRESS: 0xFC66 ---- SIZE 4 --- Filling bytes inserted 00013901 -------- ROM-ADDRESS: 0xFC06 ---- RAM-ADDRESS: 0x3901 ---- SIZE 1 --- +------- ROM-ADDRESS: 0xFC6A ---- RAM-ADDRESS: 0x3901 ---- SIZE 1 --- Name of initialized Object : comActiveInterface:1 04 -------- ROM-ADDRESS: 0xFC07 ---- SIZE 2 --- +------- ROM-ADDRESS: 0xFC6B ---- SIZE 2 --- Filling bytes inserted 0000 @@ -2368,10 +2368,10 @@ CpuStartUserProgram USES NvmVerifyChecksum ComFree TimerReset CpuMemCopy USES CopService FlashInit USES blockInfo bootBlockInfo flashMaxNrBlocks STRING.C..Work.software.Ope.1 AssertFailure -FlashWrite USES flashLayout _LDEC _LCMP _LSHRU _LSHL +FlashWrite USES _LDEC FlashWrite _LCMP flashLayout _LSHRU _LSHL bootBlockInfo blockInfo FlashAddToBlock -FlashErase USES _LSHRU _LSHL flashLayout _LDEC _LCMP CopService - FlashOperate +FlashErase USES _LDEC flashLayout FlashErase _LCMP _LSHRU _LSHL + CopService FlashOperate FlashWriteChecksum USES bootBlockInfo flashLayout FlashWrite FlashVerifyChecksum USES flashLayout FlashGetLinearAddrByte _LINC FlashDone USES bootBlockInfo FlashWriteBlock blockInfo @@ -2696,14 +2696,14 @@ DEPENDENCY TREE | | | | | | | | | +- FlashErase | | | | | - | | | | +- _LSHRU (see above) - | | | | | - | | | | +- _LSHL (see above) - | | | | | | | | | +- _LDEC (see above) | | | | | | | | | +- _LCMP (see above) | | | | | + | | | | +- _LSHRU (see above) + | | | | | + | | | | +- _LSHL (see above) + | | | | | | | | | +- CopService (see above) | | | | | | | | | +- FlashOperate (see above) @@ -2889,5 +2889,5 @@ STATISTIC SECTION ExeFile: -------- Number of blocks to be downloaded: 7 -Total size of all blocks to be downloaded: 5257 +Total size of all blocks to be downloaded: 5357 diff --git a/Target/Demo/HCS12_Evbplus_Dragon12p_CodeWarrior/Boot/ide/hcs12.mcp b/Target/Demo/HCS12_Evbplus_Dragon12p_CodeWarrior/Boot/ide/hcs12.mcp index ecea77de..92e54caf 100644 Binary files a/Target/Demo/HCS12_Evbplus_Dragon12p_CodeWarrior/Boot/ide/hcs12.mcp and b/Target/Demo/HCS12_Evbplus_Dragon12p_CodeWarrior/Boot/ide/hcs12.mcp differ diff --git a/Target/Demo/HCS12_Evbplus_Dragon12p_CodeWarrior/Boot/ide/hcs12_Data/CWSettingsWindows.stg b/Target/Demo/HCS12_Evbplus_Dragon12p_CodeWarrior/Boot/ide/hcs12_Data/CWSettingsWindows.stg index 7d5591bc..f668f6ab 100644 Binary files a/Target/Demo/HCS12_Evbplus_Dragon12p_CodeWarrior/Boot/ide/hcs12_Data/CWSettingsWindows.stg and b/Target/Demo/HCS12_Evbplus_Dragon12p_CodeWarrior/Boot/ide/hcs12_Data/CWSettingsWindows.stg differ diff --git a/Target/Demo/HCS12_Evbplus_Dragon12p_CodeWarrior/Boot/ide/hcs12_Data/Standard/TargetDataWindows.tdt b/Target/Demo/HCS12_Evbplus_Dragon12p_CodeWarrior/Boot/ide/hcs12_Data/Standard/TargetDataWindows.tdt index d7d5c890..e01c597a 100644 Binary files a/Target/Demo/HCS12_Evbplus_Dragon12p_CodeWarrior/Boot/ide/hcs12_Data/Standard/TargetDataWindows.tdt and b/Target/Demo/HCS12_Evbplus_Dragon12p_CodeWarrior/Boot/ide/hcs12_Data/Standard/TargetDataWindows.tdt differ diff --git a/Target/Demo/HCS12_Evbplus_Dragon12p_CodeWarrior/Prog/boot.c b/Target/Demo/HCS12_Evbplus_Dragon12p_CodeWarrior/Prog/boot.c index 51559680..965bd780 100644 --- a/Target/Demo/HCS12_Evbplus_Dragon12p_CodeWarrior/Prog/boot.c +++ b/Target/Demo/HCS12_Evbplus_Dragon12p_CodeWarrior/Prog/boot.c @@ -165,7 +165,8 @@ static void BootComUartCheckActivationRequest(void) if (UartReceiveByte(&xcpCtoReqPacket[0]) == 1) { /* check that the length has a valid value. it should not be 0 */ - if (xcpCtoReqPacket[0] > 0) + if ( (xcpCtoReqPacket[0] > 0) && + (xcpCtoReqPacket[0] <= BOOT_COM_UART_RX_MAX_DATA) ) { /* store the start time */ xcpCtoRxStartTime = TimerGet(); diff --git a/Target/Source/ARM7_LPC2000/uart.c b/Target/Source/ARM7_LPC2000/uart.c index 99d43e86..61fb9ddf 100644 --- a/Target/Source/ARM7_LPC2000/uart.c +++ b/Target/Source/ARM7_LPC2000/uart.c @@ -181,7 +181,8 @@ blt_bool UartReceivePacket(blt_int8u *data) /* store the message length when received */ if (UartReceiveByte(&xcpCtoReqPacket[0]) == BLT_TRUE) { - if (xcpCtoReqPacket[0] > 0) + if ( (xcpCtoReqPacket[0] > 0) && + (xcpCtoReqPacket[0] <= BOOT_COM_UART_RX_MAX_DATA) ) { /* store the start time */ xcpCtoRxStartTime = TimerGet(); diff --git a/Target/Source/ARMCM0_STM32F0/uart.c b/Target/Source/ARMCM0_STM32F0/uart.c index 43737e69..7e551cac 100644 --- a/Target/Source/ARMCM0_STM32F0/uart.c +++ b/Target/Source/ARMCM0_STM32F0/uart.c @@ -161,7 +161,8 @@ blt_bool UartReceivePacket(blt_int8u *data) /* store the message length when received */ if (UartReceiveByte(&xcpCtoReqPacket[0]) == BLT_TRUE) { - if (xcpCtoReqPacket[0] > 0) + if ( (xcpCtoReqPacket[0] > 0) && + (xcpCtoReqPacket[0] <= BOOT_COM_UART_RX_MAX_DATA) ) { /* store the start time */ xcpCtoRxStartTime = TimerGet(); diff --git a/Target/Source/ARMCM0_XMC1/uart.c b/Target/Source/ARMCM0_XMC1/uart.c index ccd9eeb2..97d106f5 100644 --- a/Target/Source/ARMCM0_XMC1/uart.c +++ b/Target/Source/ARMCM0_XMC1/uart.c @@ -151,7 +151,8 @@ blt_bool UartReceivePacket(blt_int8u *data) /* store the message length when received */ if (UartReceiveByte(&xcpCtoReqPacket[0]) == BLT_TRUE) { - if (xcpCtoReqPacket[0] > 0) + if ( (xcpCtoReqPacket[0] > 0) && + (xcpCtoReqPacket[0] <= BOOT_COM_UART_RX_MAX_DATA) ) { /* store the start time */ xcpCtoRxStartTime = TimerGet(); diff --git a/Target/Source/ARMCM3_EFM32/uart.c b/Target/Source/ARMCM3_EFM32/uart.c index e8da3f83..d76540fb 100644 --- a/Target/Source/ARMCM3_EFM32/uart.c +++ b/Target/Source/ARMCM3_EFM32/uart.c @@ -142,7 +142,8 @@ blt_bool UartReceivePacket(blt_int8u *data) /* store the message length when received */ if (UartReceiveByte(&xcpCtoReqPacket[0]) == BLT_TRUE) { - if (xcpCtoReqPacket[0] > 0) + if ( (xcpCtoReqPacket[0] > 0) && + (xcpCtoReqPacket[0] <= BOOT_COM_UART_RX_MAX_DATA) ) { /* store the start time */ xcpCtoRxStartTime = TimerGet(); diff --git a/Target/Source/ARMCM3_LM3S/uart.c b/Target/Source/ARMCM3_LM3S/uart.c index fe075a70..aa9ff06e 100644 --- a/Target/Source/ARMCM3_LM3S/uart.c +++ b/Target/Source/ARMCM3_LM3S/uart.c @@ -125,7 +125,8 @@ blt_bool UartReceivePacket(blt_int8u *data) /* store the message length when received */ if (UartReceiveByte(&xcpCtoReqPacket[0]) == BLT_TRUE) { - if (xcpCtoReqPacket[0] > 0) + if ( (xcpCtoReqPacket[0] > 0) && + (xcpCtoReqPacket[0] <= BOOT_COM_UART_RX_MAX_DATA) ) { /* store the start time */ xcpCtoRxStartTime = TimerGet(); diff --git a/Target/Source/ARMCM3_STM32F1/uart.c b/Target/Source/ARMCM3_STM32F1/uart.c index f603e60d..6fee7d90 100644 --- a/Target/Source/ARMCM3_STM32F1/uart.c +++ b/Target/Source/ARMCM3_STM32F1/uart.c @@ -175,7 +175,8 @@ blt_bool UartReceivePacket(blt_int8u *data) /* store the message length when received */ if (UartReceiveByte(&xcpCtoReqPacket[0]) == BLT_TRUE) { - if (xcpCtoReqPacket[0] > 0) + if ( (xcpCtoReqPacket[0] > 0) && + (xcpCtoReqPacket[0] <= BOOT_COM_UART_RX_MAX_DATA) ) { /* store the start time */ xcpCtoRxStartTime = TimerGet(); diff --git a/Target/Source/ARMCM3_STM32F1/usb.c b/Target/Source/ARMCM3_STM32F1/usb.c index ad267c63..020e9df4 100644 --- a/Target/Source/ARMCM3_STM32F1/usb.c +++ b/Target/Source/ARMCM3_STM32F1/usb.c @@ -189,7 +189,8 @@ blt_bool UsbReceivePacket(blt_int8u *data) /* store the message length when received */ if (UsbReceiveByte(&xcpCtoReqPacket[0]) == BLT_TRUE) { - if (xcpCtoReqPacket[0] > 0) + if ( (xcpCtoReqPacket[0] > 0) && + (xcpCtoReqPacket[0] <= BOOT_COM_USB_RX_MAX_DATA) ) { /* indicate that a cto packet is being received */ xcpCtoRxInProgress = BLT_TRUE; diff --git a/Target/Source/ARMCM3_STM32F2/uart.c b/Target/Source/ARMCM3_STM32F2/uart.c index 93d08c85..4641e6a3 100644 --- a/Target/Source/ARMCM3_STM32F2/uart.c +++ b/Target/Source/ARMCM3_STM32F2/uart.c @@ -151,7 +151,8 @@ blt_bool UartReceivePacket(blt_int8u *data) /* store the message length when received */ if (UartReceiveByte(&xcpCtoReqPacket[0]) == BLT_TRUE) { - if (xcpCtoReqPacket[0] > 0) + if ( (xcpCtoReqPacket[0] > 0) && + (xcpCtoReqPacket[0] <= BOOT_COM_UART_RX_MAX_DATA) ) { /* store the start time */ xcpCtoRxStartTime = TimerGet(); diff --git a/Target/Source/ARMCM4_STM32F3/uart.c b/Target/Source/ARMCM4_STM32F3/uart.c index a56a8483..df7203a7 100644 --- a/Target/Source/ARMCM4_STM32F3/uart.c +++ b/Target/Source/ARMCM4_STM32F3/uart.c @@ -141,7 +141,8 @@ blt_bool UartReceivePacket(blt_int8u *data) /* store the message length when received */ if (UartReceiveByte(&xcpCtoReqPacket[0]) == BLT_TRUE) { - if (xcpCtoReqPacket[0] > 0) + if ( (xcpCtoReqPacket[0] > 0) && + (xcpCtoReqPacket[0] <= BOOT_COM_UART_RX_MAX_DATA) ) { /* store the start time */ xcpCtoRxStartTime = TimerGet(); diff --git a/Target/Source/ARMCM4_STM32F4/uart.c b/Target/Source/ARMCM4_STM32F4/uart.c index 07bba123..708dad45 100644 --- a/Target/Source/ARMCM4_STM32F4/uart.c +++ b/Target/Source/ARMCM4_STM32F4/uart.c @@ -152,7 +152,8 @@ blt_bool UartReceivePacket(blt_int8u *data) /* store the message length when received */ if (UartReceiveByte(&xcpCtoReqPacket[0]) == BLT_TRUE) { - if (xcpCtoReqPacket[0] > 0) + if ( (xcpCtoReqPacket[0] > 0) && + (xcpCtoReqPacket[0] <= BOOT_COM_UART_RX_MAX_DATA) ) { /* store the start time */ xcpCtoRxStartTime = TimerGet(); diff --git a/Target/Source/ARMCM4_STM32F4/usb.c b/Target/Source/ARMCM4_STM32F4/usb.c index c163cd9a..be78b32a 100644 --- a/Target/Source/ARMCM4_STM32F4/usb.c +++ b/Target/Source/ARMCM4_STM32F4/usb.c @@ -190,7 +190,8 @@ blt_bool UsbReceivePacket(blt_int8u *data) /* store the message length when received */ if (UsbReceiveByte(&xcpCtoReqPacket[0]) == BLT_TRUE) { - if (xcpCtoReqPacket[0] > 0) + if ( (xcpCtoReqPacket[0] > 0) && + (xcpCtoReqPacket[0] <= BOOT_COM_USB_RX_MAX_DATA) ) { /* indicate that a cto packet is being received */ xcpCtoRxInProgress = BLT_TRUE; diff --git a/Target/Source/ARMCM4_STM32L4/uart.c b/Target/Source/ARMCM4_STM32L4/uart.c index d1bcd318..aa862728 100644 --- a/Target/Source/ARMCM4_STM32L4/uart.c +++ b/Target/Source/ARMCM4_STM32L4/uart.c @@ -149,7 +149,8 @@ blt_bool UartReceivePacket(blt_int8u *data) /* store the message length when received */ if (UartReceiveByte(&xcpCtoReqPacket[0]) == BLT_TRUE) { - if (xcpCtoReqPacket[0] > 0) + if ( (xcpCtoReqPacket[0] > 0) && + (xcpCtoReqPacket[0] <= BOOT_COM_UART_RX_MAX_DATA) ) { /* store the start time */ xcpCtoRxStartTime = TimerGet(); diff --git a/Target/Source/ARMCM4_TM4C/uart.c b/Target/Source/ARMCM4_TM4C/uart.c index 1ba8dfac..eef56ecb 100644 --- a/Target/Source/ARMCM4_TM4C/uart.c +++ b/Target/Source/ARMCM4_TM4C/uart.c @@ -127,7 +127,8 @@ blt_bool UartReceivePacket(blt_int8u *data) /* store the message length when received */ if (UartReceiveByte(&xcpCtoReqPacket[0]) == BLT_TRUE) { - if (xcpCtoReqPacket[0] > 0) + if ( (xcpCtoReqPacket[0] > 0) && + (xcpCtoReqPacket[0] <= BOOT_COM_UART_RX_MAX_DATA) ) { /* store the start time */ xcpCtoRxStartTime = TimerGet(); diff --git a/Target/Source/ARMCM4_TM4C/usb.c b/Target/Source/ARMCM4_TM4C/usb.c index 96eaf947..4574fff2 100644 --- a/Target/Source/ARMCM4_TM4C/usb.c +++ b/Target/Source/ARMCM4_TM4C/usb.c @@ -204,7 +204,8 @@ blt_bool UsbReceivePacket(blt_int8u *data) /* store the message length when received */ if (UsbReceiveByte(&xcpCtoReqPacket[0]) == BLT_TRUE) { - if (xcpCtoReqPacket[0] > 0) + if ( (xcpCtoReqPacket[0] > 0) && + (xcpCtoReqPacket[0] <= BOOT_COM_USB_RX_MAX_DATA) ) { /* indicate that a cto packet is being received */ xcpCtoRxInProgress = BLT_TRUE; diff --git a/Target/Source/ARMCM4_XMC4/uart.c b/Target/Source/ARMCM4_XMC4/uart.c index fc83b41d..578f5543 100644 --- a/Target/Source/ARMCM4_XMC4/uart.c +++ b/Target/Source/ARMCM4_XMC4/uart.c @@ -153,7 +153,8 @@ blt_bool UartReceivePacket(blt_int8u *data) /* store the message length when received */ if (UartReceiveByte(&xcpCtoReqPacket[0]) == BLT_TRUE) { - if (xcpCtoReqPacket[0] > 0) + if ( (xcpCtoReqPacket[0] > 0) && + (xcpCtoReqPacket[0] <= BOOT_COM_UART_RX_MAX_DATA) ) { /* store the start time */ xcpCtoRxStartTime = TimerGet(); diff --git a/Target/Source/HCS12/uart.c b/Target/Source/HCS12/uart.c index 6dd54229..4360b013 100644 --- a/Target/Source/HCS12/uart.c +++ b/Target/Source/HCS12/uart.c @@ -170,7 +170,8 @@ blt_bool UartReceivePacket(blt_int8u *data) /* store the message length when received */ if (UartReceiveByte(&xcpCtoReqPacket[0]) == BLT_TRUE) { - if (xcpCtoReqPacket[0] > 0) + if ( (xcpCtoReqPacket[0] > 0) && + (xcpCtoReqPacket[0] <= BOOT_COM_UART_RX_MAX_DATA) ) { /* store the start time */ xcpCtoRxStartTime = TimerGet(); diff --git a/Target/Source/TRICORE_TC1798/uart.c b/Target/Source/TRICORE_TC1798/uart.c index 02c8d776..d3c90fba 100644 --- a/Target/Source/TRICORE_TC1798/uart.c +++ b/Target/Source/TRICORE_TC1798/uart.c @@ -179,7 +179,8 @@ blt_bool UartReceivePacket(blt_int8u *data) /* store the message length when received */ if (UartReceiveByte(&xcpCtoReqPacket[0]) == BLT_TRUE) { - if (xcpCtoReqPacket[0] > 0) + if ( (xcpCtoReqPacket[0] > 0) && + (xcpCtoReqPacket[0] <= BOOT_COM_UART_RX_MAX_DATA) ) { /* store the start time */ xcpCtoRxStartTime = TimerGet();