diff --git a/cores/esp8266/Updater.cpp b/cores/esp8266/Updater.cpp index 7ad21300a..ee7fe0b0f 100644 --- a/cores/esp8266/Updater.cpp +++ b/cores/esp8266/Updater.cpp @@ -57,6 +57,14 @@ bool UpdaterClass::begin(size_t size, int command) { return false; } + if(ESP.getFlashChipRealSize() != ESP.getFlashChipSize()) { + _error = UPDATE_ERROR_FLASH_CONFIG; +#ifdef DEBUG_UPDATER + printError(DEBUG_UPDATER); +#endif + return false; + } + _reset(); _error = 0; @@ -278,6 +286,8 @@ void UpdaterClass::printError(Stream &out){ out.println("Stream Read Timeout"); } else if(_error == UPDATE_ERROR_MD5){ out.println("MD5 Check Failed"); + } else if(_error == UPDATE_ERROR_FLASH_CONFIG){ + out.printf("Flash config wrong real: %d IDE: %d\n", ESP.getFlashChipRealSize(), ESP.getFlashChipSize()); } else { out.println("UNKNOWN"); } diff --git a/cores/esp8266/Updater.h b/cores/esp8266/Updater.h index a25cb081b..07b2708ec 100644 --- a/cores/esp8266/Updater.h +++ b/cores/esp8266/Updater.h @@ -5,13 +5,15 @@ #include "flash_utils.h" #include "MD5Builder.h" -#define UPDATE_ERROR_OK 0 -#define UPDATE_ERROR_WRITE 1 -#define UPDATE_ERROR_ERASE 2 -#define UPDATE_ERROR_SPACE 3 -#define UPDATE_ERROR_SIZE 4 -#define UPDATE_ERROR_STREAM 5 -#define UPDATE_ERROR_MD5 6 +#define UPDATE_ERROR_OK (0) +#define UPDATE_ERROR_WRITE (1) +#define UPDATE_ERROR_ERASE (2) +#define UPDATE_ERROR_SPACE (3) +#define UPDATE_ERROR_SIZE (4) +#define UPDATE_ERROR_STREAM (5) +#define UPDATE_ERROR_MD5 (6) +#define UPDATE_ERROR_FLASH_CONFIG (7) + #define U_FLASH 0 #define U_SPIFFS 100