Flash without erasing
Posted: Mon Mar 27, 2017 11:53 am
Hi all.
I am trying to store a string in the EEPROM on the ESP8266 with one sketch, then flash a new sketch which can access the same string from the EEPROM. Thanks to martinayotte I am now aware that the EEPROM is actually just a portion of the flash memory that the Arduino-ESP framework emulates (http://www.esp8266.com/viewtopic.php?f=13&t=14262&p=64170#p64170). So I will refer to the EEPROM in this post, despite it not quite actually being proper EEPROM.
I have been having some issues with the modules I am using (ESP-12F) not always wanting to program via the Arduino IDE, but if I compile using the IDE, then upload using ESP8266 Download Tool v3.4.4, then everything works fine so whilst I am obviously having an issue with something there, it is not my major concern right now.
The problem I have is that when using this tool it appears to wipe the flash completely each time I use it. This seems odd as during a session of Googling it seemed that most people were having trouble getting this tool to wipe the flash... whereas I seem to be wiping the flash but not wanting to!
I am using the EEPROMAnything library, and I have a sketch that writes a string to EEPROM, then waits a second and recalls the string from the EEPROM. This works fine, but if I write to the EEPROM, then flash a new sketch that just tries to retrieve it I get a blank string. This behaviour, coupled with the line:
that appears in the debug window when running the download tool, makes me think that the tool is wiping the whole flash (including the bit that is treated as EEPROM).
Can anyone suggest what my next steps should be?
I am trying to store a string in the EEPROM on the ESP8266 with one sketch, then flash a new sketch which can access the same string from the EEPROM. Thanks to martinayotte I am now aware that the EEPROM is actually just a portion of the flash memory that the Arduino-ESP framework emulates (http://www.esp8266.com/viewtopic.php?f=13&t=14262&p=64170#p64170). So I will refer to the EEPROM in this post, despite it not quite actually being proper EEPROM.
I have been having some issues with the modules I am using (ESP-12F) not always wanting to program via the Arduino IDE, but if I compile using the IDE, then upload using ESP8266 Download Tool v3.4.4, then everything works fine so whilst I am obviously having an issue with something there, it is not my major concern right now.
The problem I have is that when using this tool it appears to wipe the flash completely each time I use it. This seems odd as during a session of Googling it seemed that most people were having trouble getting this tool to wipe the flash... whereas I seem to be wiping the flash but not wanting to!
I am using the EEPROMAnything library, and I have a sketch that writes a string to EEPROM, then waits a second and recalls the string from the EEPROM. This works fine, but if I write to the EEPROM, then flash a new sketch that just tries to retrieve it I get a blank string. This behaviour, coupled with the line:
Code: Select all
Erasing flash in old style...
that appears in the debug window when running the download tool, makes me think that the tool is wiping the whole flash (including the bit that is treated as EEPROM).
Can anyone suggest what my next steps should be?