ESP32 a EEPROM

Petr Zapadlo zapik na email.cz
Neděle Srpen 18 22:18:20 CEST 2019


Zdravím,

potřebuji v jednom projektu přejít z ESP8266 -> ESP32.  Kod jsem lehce 
upravil (především kvůli trochu jiným knihovnám), přeložil a testuju a 
narazil jsem na nečekaný problém a to s EEPROM.

Mám funkci:

void write_to_eeprom(uint32_t integer, uint8_t adresa){
   for (uint8_t i=0; i<4;i++){
     EEPROM.write((adresa+i), (uint8_t) integer);
     EEPROM.commit();
     integer= integer >> 8;
   }
}

Totožnou rutinu jsem už použil mockrát, hlavně s ESP8266 a ale i s 
jedním ESP32 a nenarazil jsem na problém.  Nyní však když zapisuju data 
do EEPROM tak mi cpu zhavaruje:

Guru Meditation Error: Core  1 panic'ed (Cache disabled but cached 
memory region accessed)
Guru Meditation Error: Core  1 panic'ed (IllegalInstruction). Exception 
was unhandled.
Memory dump at 0x401495e8: bad00bad bad00bad bad00bad
A je do resetu vymalováno.

A navíc je to závislé na datech - pokud je zapisovaná hodnota kolem 
66000 tak je vše OK, pokud je cca 800, tak zhavaruje.

když si dám vypsat jednotlivé byte co se zapisují, tak je vše OK?

Nějak to mu nerozumím, už do toho tady čumím dost dlouho dobu a nemohu 
se hnout z místa.

Tuší někdo, v čem by mohl být problém?

Díky

Petr



Další informace o konferenci Hw-list