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