ESP32 a EEPROM

Jiří Nesvacil nesvacil na posys.eu
Středa Srpen 28 08:44:50 CEST 2019


Zdravim, asi obejiti by bylo zakazat prepnuti do druheho vlakna nebo 
preruseni vubec. Ono to nejspis spadne jinde ne ve Vasem kodu, kde se 
pouziva cache. To je dobry tak pro zapis jednorazove konfigurace. Jinak 
zakazani preruseni, dalsich vlaken znamena, ze Wifi, stack TCP nebude 
vedet co se deje a pozada o opakovani packetu,... , zvladne to, ale ... 
. To bych radeji zapisoval do FLASH vedle, ktera je na modulu pres SPI.

Jirka


Dne 27.08.2019 v 18:47 Ondřej Pavelka napsal(a):
> Jakmile zavolám funkci pro zápis do EEPROM (přerušovací rutiny Timerů 
> mám samozřejmě jako RAM_ATTR včetně funkcí, které se z této rutiny 
> volají), pak to spadne.
> Využívám volání procesů přes xTaskCreate - to může být také problém.
> Ano, nezkusil jsem úplně všechen kód přenést do RAM, protože to už asi 
> není úplně ten pravý Workaround....
> Jestliže bych nemohl používat xTaskCreate - tedy separátní task RTOSu, 
> pak pro mě asi interní emulace EEPROM není použitelná.
>
> O.
>
>
> PUT data saved to EEPROM
> 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 0x4017f260: bad00bad bad00bad bad00bad
> Guru Meditation Error: Core  1 panic'ed (IllegalInstruction). 
> Exception was unhandled.
> Memory dump at 0x4017f260: bad00bad bad00bad bad00bad
> Guru Meditation Error: Core  1 panic'ed (IllegalInstruction). 
> Exception was unhandled.
> Memory dump at 0x4017f260: bad00bad bad00bad bad00bad
> Guru Meditation Error: Core  1 panic'ed (IllegalInstruction). 
> Exception was unhandled.
> Memory dump at 0x4017f260: bad00bad bad00bad bad00bad
> Guru Meditation Error: Core  1 panic'ed (IllegalInstruction). 
> Exception was unhandled.
> Memory dump at 0x4017f260: bad00bad bad00bad bad00bad
> Guru Meditation Error: Core  1 panic'ed (IllegalInstruction). 
> Exception was unhandled.
> Memory dump at 0x4017f260: bad00bad bad00bad bad00bad
> Guru Meditation Error: Core  1 panic'ed (IllegalInstruction). 
> Exception was unhandled.
> Memory dump at 0x4017f260: bad00bad bad00bad bad00bad
> Guru Meditation Error: Core  1 panic'ed (IllegalInstruction). 
> Exception was unhandled.
> Memory dump at 0x4017f260: bad00bad bad00bad bad00bad
> Guru Meditation Error: Core  1 panic'ed (IllegalInstruction). 
> Exception was unhandled.
> Memory dump at 0x4017f260: bad00bad bad00bad bad00bad
> Guru Meditation Error: Core  1 panic'ed (IllegalInstruction). 
> Exception was unhandled.
> Memory dump at 0x4017f260: bad00bad bad00bad bad00bad
> Guru Meditation Error: Core  1 panic'ed (IllegalInstruction). 
> Exception was unhandled.
> Memory dump at 0x4017f260: bad00bad bad00bad bad00bad
> Guru Meditation Error: Core  1 panic'ed (IllegalInstruction). 
> Exception was unhandled.
> Memory dump at 0x4017f260: bad00bad bad00bad bad00bad
> Guru Meditation Error: Core  1 panic'ed (IllegalInstruction). 
> Exception was unhandled.
> Memory dump at 0x4017f260: bad00bad bad00bad bad00bad
> Guru Meditation Error: Core  1 panic'ed (IllegalInstruction). 
> Exception was unhandled.
> Memory dump at 0x4017f260: bad00bad bad00bad bad00bad
> Guru Meditation Error: Core  1 panic'ed (IllegalInstruction). 
> Exception was unhandled.
> Memory dump at 0x4017f260: bad00bad bad00bad bad00bad
> Guru Meditation Error: Core  1 panic'ed (IllegalInstruction). 
> Exception was unhandled.
> Memory dump at 0x4017f260: bad00bad bad00bad bad00bad
> Guru Meditation Error: Core  1 panic'ed (IllegalInstruction). 
> Exception was unhandled.
> Memory dump at 0x4017f260: bad00bad bad00bad bad00bad
> Guru Meditation Error: Core  1 panic'ed (IllegalInstruction). 
> Exception was unhandled.
> Memory dump at 0x4017f260: bad00bad bad00bad bad00bad
> Guru Meditation Error: Core  1 panic'ed (IllegalInstruction). 
> Exception was unhandled.
> Memory dump at 0x4017f260: bad00bad bad00bad bad00bad
> Guru Meditation Error: Core  1 panic'ed (IllegalInstruction). 
> Exception was unhandled.
> Memory dump at 0x4017f260: bad00bad bad00bad bad00bad
> Guru Meditation Error: Core  1 panic'ed (IllegalInstruction). 
> Exception was unhandled.
> Memory dump at 0x4017f260: bad00bad bad00bad bad00bad
> Guru Meditation Error: Core  1 panic'ed (IllegalInstruction). 
> Exception was unhandled.
> Memory dump at 0x4017f260: bad00bad bad00bad bad00bad
> Guru Meditation Error: Core  1 panic'ed (IllegalInstruction). 
> Exception was unhandled.
> Memory dump at 0x4017f260: bad00bad bad00bad bad00bad
> Guru Meditation Error: Core  1 panic'ed (IllegalInstruction). 
> Exception was unhandled.
> Memory dump at 0x4017f260: bad00bad bad00bad bad00bad
> Guru Meditation Error: CorGuru Meditation Error: Core  1 panic'ed 
> (Unhandled debug exception)
> Debug exception reason: Stack canary watchpoint triggered (loopTask)
>
> út 27. 8. 2019 v 17:00 odesílatel Jiří Nesvacil <nesvacil na posys.eu 
> <mailto:nesvacil na posys.eu>> napsal:
>
>     Behem zapisu do Flash je vypnuta cache FLASH. Ovsem jedna
>     instrukce neustale pristupuje do cache a cele to vypadne na
>     vyjimku nejspise v preruseni.
>
>     Dejte si do google    Cache disabled but cached memory region
>     accessed
>
>     *the code that was triggered by the interrupt did not have the
>     IRAM_ATTR attribute.*
>
>     Most O/S library function cannot be called from an ISR. Review
>     your code, make sure that every function it calls is local. and
>     has the IRAM_ATTR attribute. For example, you Cannot call
>     Serial.print() from an ISR.
>
>     Oznacte tedy atributem *IRAM_ATTR* kod preruseni a je to.
>
>     Jirka
>
>
>     Dne 26.08.2019 v 16:21 Jaroslav Buchta napsal(a):
>>     Jak uz jsem psal, problem bude asi v tom, ze behem mazani a
>>     zapisu proste musi bezet program vyhradne z RAM, pro obe jadra
>>     (nebo musi byt zastaveno, nevim, to jsem nejak dukladne
>>     nezkoumal) Tipuju, ze je to asi nejak chybne naprogramovano,
>>     treba nejake SW  moduly nepocitaji s timto stavem.
>>     Zase se divim, ze by mel byt problem s timery - asi v souvislosti
>>     s prerusenim, to musi bezet v RAM kazdopadne.
>>
>>     Dne 26.08.2019 v 15:23 Josef Štengl napsal(a):
>>>     Některé procesory nesnášejí přerušování během zápisu do FLASH.
>>>     Jestli se to týká i zápisu do FEE (FLASH EMULATED EERPROM), to
>>>     nevím, zatím jsem se tomu vyhýbal.
>>>
>>>
>>>     On 26. 08. 19 15:11, Dodo Racek wrote:
>>>>     Dohad:
>>>>     Skor si myslim, ze je to citlive na ine (cudzie) prerusenia
>>>>     pocas zapisu do EEPROM.
>>>>
>>>>     Dodo
>>>>
>>>>     po 26. 8. 2019 o 15:00 Petr Zapadlo <zapik na email.cz
>>>>     <mailto:zapik na email.cz> <mailto:zapik na email.cz>
>>>>     <mailto:zapik na email.cz>> napísal(a):
>>>>
>>>>         proč zrovna timery jsou kolizní s EEPROM? To mi moc nedává
>>>>     smysl. (ale je to tím že do toho asi málo vidím)
>>>>
>>>>         Petr
>>>>
>>>>
>>>>         Dne 26.8.2019 v 14:26 Ondřej Pavelka napsal(a):
>>>>>         Problém s emulací EEPROM na ESP32 bývá pravděpodobně
>>>>>     způsobem použitím timerů.
>>>>>         Mám dva timery na 1s a 10ms, používám PWM na řízení LED a
>>>>>     do EEPROM prostě nazapíšu, aniž by to nehavarovalo.
>>>>>
>>>>>         O.
>>>>>
>>>>>
>>>>>         pá 23. 8. 2019 v 6:13 odesílatel Pavel Brychta
>>>>>     <pavel.brychta na duhasys.eu <mailto:pavel.brychta na duhasys.eu>
>>>>>     <mailto:pavel.brychta na duhasys.eu>
>>>>>     <mailto:pavel.brychta na duhasys.eu>> napsal:
>>>>>
>>>>>             Zdá se, že to řeší tento PR
>>>>>     https://github.com/z3t0/Arduino-IRremote/pull/599 , ale zatím
>>>>>     není sloučený...
>>>>>
>>>>>             Pavel
>>>>>
>>>>>             Dne 22.8.2019 v 21:33 Petr Zapadlo napsal(a):
>>>>>>
>>>>>>             A tady je někdo se stejným problémem:
>>>>>>
>>>>>>     https://github.com/espressif/arduino-esp32/issues/928
>>>>>>
>>>>>>             petr
>>>>>>
>>>>>>
>>>>>>             Dne 22.8.2019 v 19:26 Petr Zapadlo napsal(a):
>>>>>>>
>>>>>>>             Zdravím,
>>>>>>>
>>>>>>>             tak jsem našel viníka. Je jím knihovna
>>>>>>>     https://github.com/shirriff/Arduino-IRremote.
>>>>>>>
>>>>>>>             Když odkomentuji
>>>>>>>
>>>>>>>               irrecv.enableIRIn();
>>>>>>>
>>>>>>>             tak to při zápisu do EEPROM začne havarovat.
>>>>>>>
>>>>>>>             Otázka je jestli mám šanci to nějak vyřešit.
>>>>>>>
>>>>>>>             Petr
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>             Dne 22.8.2019 v 06:16 Pavel Brychta napsal(a):
>>>>>>>>             DD,
>>>>>>>>
>>>>>>>>             zkuste vyrobit MCVE a pošlete mi takto vytvořený
>>>>>>>>     projekt, včetně platformio.ini - ověřím to na různých
>>>>>>>>             variantáh ESP32 modulů, které mám k dispozici.
>>>>>>>>
>>>>>>>>             Pavel
>>>>>>>>
>>>>>>>>             Dne 20.8.2019 v 19:16 Petr Zapadlo napsal(a):
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>     _______________________________________________
>>>>>>>             HW-list mailing list  -  sponsored bywww.HW.cz
>>>>>>>     <http://bywww.HW.cz> <http://www.HW.cz> <http://www.HW.cz>
>>>>>>>     Hw-list na list.hw.cz <mailto:Hw-list na list.hw.cz>
>>>>>>>     <mailto:Hw-list na list.hw.cz> <mailto:Hw-list na list.hw.cz>
>>>>>>>     http://list.hw.cz/mailman/listinfo/hw-list
>>>>>>
>>>>>>
>>>>>>     _______________________________________________
>>>>>>             HW-list mailing list  -  sponsored bywww.HW.cz
>>>>>>     <http://bywww.HW.cz> <http://www.HW.cz> <http://www.HW.cz>
>>>>>>     Hw-list na list.hw.cz <mailto:Hw-list na list.hw.cz>
>>>>>>     <mailto:Hw-list na list.hw.cz> <mailto:Hw-list na list.hw.cz>
>>>>>>     http://list.hw.cz/mailman/listinfo/hw-list
>>>>>     _______________________________________________
>>>>>             HW-list mailing list  -  sponsored by www.HW.cz
>>>>>     <http://www.HW.cz> <http://www.HW.cz> <http://www.HW.cz>
>>>>>     Hw-list na list.hw.cz <mailto:Hw-list na list.hw.cz>
>>>>>     <mailto:Hw-list na list.hw.cz> <mailto:Hw-list na list.hw.cz>
>>>>>     http://list.hw.cz/mailman/listinfo/hw-list
>>>>>
>>>>>
>>>>>
>>>>>         _______________________________________________
>>>>>         HW-list mailing list  -  sponsored bywww.HW.cz
>>>>>     <http://bywww.HW.cz> <http://www.HW.cz> <http://www.HW.cz>
>>>>>     Hw-list na list.hw.cz <mailto:Hw-list na list.hw.cz>
>>>>>     <mailto:Hw-list na list.hw.cz> <mailto:Hw-list na list.hw.cz>
>>>>>     http://list.hw.cz/mailman/listinfo/hw-list
>>>>
>>>>         _______________________________________________
>>>>         HW-list mailing list  -  sponsored by www.HW.cz
>>>>     <http://www.HW.cz> <http://www.HW.cz> <http://www.HW.cz>
>>>>     Hw-list na list.hw.cz <mailto:Hw-list na list.hw.cz>
>>>>     <mailto:Hw-list na list.hw.cz> <mailto:Hw-list na list.hw.cz>
>>>>     http://list.hw.cz/mailman/listinfo/hw-list
>>>>
>>>>
>>>>     _______________________________________________
>>>>     HW-list mailing list  -  sponsored by www.HW.cz <http://www.HW.cz>
>>>>     Hw-list na list.hw.cz <mailto:Hw-list na list.hw.cz>
>>>>     http://list.hw.cz/mailman/listinfo/hw-list
>>>>
>>>     _______________________________________________
>>>     HW-list mailing list  -  sponsored by www.HW.cz <http://www.HW.cz>
>>>     Hw-list na list.hw.cz <mailto:Hw-list na list.hw.cz>
>>>     http://list.hw.cz/mailman/listinfo/hw-list
>>
>>
>>     _______________________________________________
>>     HW-list mailing list  -  sponsored by www.HW.cz <http://www.HW.cz>
>>     Hw-list na list.hw.cz <mailto:Hw-list na list.hw.cz>
>>     http://list.hw.cz/mailman/listinfo/hw-list
>
>
>     ------------------------------------------------------------------------
>     Logo AVG <http://www.avg.com/internet-security> 	
>
>     Tento e-mail byl zkontrolován na viry antivirovým softwarem AVG.
>     www.avg.cz <http://www.avg.com/internet-security>
>
>
>     <#m_5428768419251792362_DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2>
>     _______________________________________________
>     HW-list mailing list  -  sponsored by www.HW.cz <http://www.HW.cz>
>     Hw-list na list.hw.cz <mailto:Hw-list na list.hw.cz>
>     http://list.hw.cz/mailman/listinfo/hw-list
>
>
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list


---
Tento e-mail byl zkontrolován na viry programem AVG.
http://www.avg.cz
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20190828/4ed971c4/attachment.html>


Další informace o konferenci Hw-list