diff --git a/radio/src/eeprom_raw.cpp b/radio/src/eeprom_raw.cpp index e58532a0f..ca8bdfec8 100644 --- a/radio/src/eeprom_raw.cpp +++ b/radio/src/eeprom_raw.cpp @@ -99,7 +99,8 @@ void eepromEraseBlock(uint32_t address, bool blocking=true) // TRACE("eepromEraseBlock(%d)", address); #if defined(SIMU) - static uint8_t erasedBlock[EEPROM_BLOCK_SIZE] = { 0xff }; + static uint8_t erasedBlock[EEPROM_BLOCK_SIZE]; // can't be on the stack! + memset(erasedBlock, 0xff, sizeof(erasedBlock)); eeprom_pointer = address; eeprom_buffer_data = erasedBlock; eeprom_buffer_size = EEPROM_BLOCK_SIZE; @@ -442,6 +443,8 @@ void eeCheck(bool immediately) eepromWriteWait(); } + assert(eepromWriteState == EEPROM_IDLE); + if (s_eeDirtyMsk & EE_GENERAL) { TRACE("eeprom write general"); s_eeDirtyMsk -= EE_GENERAL;