diff --git a/loader/LibExt/LIBExt_src/Ctrl_Flow/bl_func.c b/loader/LibExt/LIBExt_src/Ctrl_Flow/bl_func.c index c40c15e04..90fed45cb 100755 --- a/loader/LibExt/LIBExt_src/Ctrl_Flow/bl_func.c +++ b/loader/LibExt/LIBExt_src/Ctrl_Flow/bl_func.c @@ -3218,7 +3218,7 @@ _THUMB2 UINT32 bl_mainFlow(void) } UINT32 ota_flag = 0; - if(gsfSpecialKeyCallBack(0)) + if(FALSE == gsfSpecialKeyCallBack(0)) { ota_flag = bl_check_ota_flag(uiOTABufferAddr, uiOTABufferSize); } diff --git a/loader/Project/Model/Src/prj_main.c b/loader/Project/Model/Src/prj_main.c index e3ff2c7ef..b33b8e7f6 100755 --- a/loader/Project/Model/Src/prj_main.c +++ b/loader/Project/Model/Src/prj_main.c @@ -43,8 +43,8 @@ #define GPIO_SPECIAL_USB D_GPIO_7 #elif (MODEL == MODEL_S550) -#define GPIO_KEY_TEST P_GPIO_22 -#define GPIO_ISP_KEY_DET C_GPIO_4 +#define GPIO_KEY_TEST P_GPIO_22//Key Up +#define GPIO_ISP_KEY_DET C_GPIO_4 //Key Left #define GPIO_FASTBOOT_KEY GPIO_KEY_TEST #define GPIO_SPECIAL_KEY GPIO_KEY_TEST #define GPIO_SPECIAL_KEY2 GPIO_ISP_KEY_DET @@ -158,17 +158,18 @@ static BOOL prj_isSpecialKeyPressed(UINT32 ota_flag) #if (MODEL == MODEL_S530) if ((!gpio_getPin(GPIO_SPECIAL_KEY)) && (gpio_getPin(GPIO_SPECIAL_USB))) #elif (MODEL == MODEL_S550) - if ((gpio_getPin(GPIO_SPECIAL_KEY)) && (gpio_getPin(GPIO_SPECIAL_USB))) + if ((!(gpio_getPin(GPIO_SPECIAL_KEY2)) && (gpio_getPin(GPIO_SPECIAL_USB))))//Force Upgrade #endif { - return TRUE; - } - else if((!(gpio_getPin(GPIO_SPECIAL_KEY2)) && (gpio_getPin(GPIO_SPECIAL_USB))) || prj_is_WDT_OTA() || prj_is_Flash_OTA(ota_flag)) + return TRUE; + } + else if(prj_is_WDT_OTA() || prj_is_Flash_OTA(ota_flag))//Software OTA upgrade { return TRUE; - }else { - return FALSE; - } + }else + { + return FALSE; + } //return TRUE; } static BOOL prj_issfSpecialKeyPressed(UINT32 ota_flag) @@ -177,7 +178,7 @@ static BOOL prj_issfSpecialKeyPressed(UINT32 ota_flag) #if (MODEL == MODEL_S530) if ((!gpio_getPin(GPIO_SPECIAL_KEY)) && (gpio_getPin(GPIO_SPECIAL_USB))) #elif (MODEL == MODEL_S550) - if ((gpio_getPin(GPIO_SPECIAL_KEY)) && (gpio_getPin(GPIO_SPECIAL_USB))) + if ((!(gpio_getPin(GPIO_SPECIAL_KEY2)) && (gpio_getPin(GPIO_SPECIAL_USB))))//Force Upgrade #endif { return TRUE;