Re: ESP32 diagnostika při pádu

Ladislav Vaiz spam na nagano.cz
Pondělí Říjen 30 13:51:13 CET 2023


Já mám parametry:
.../espcoredump.py info_corefile --core "$1" --core-format elf "$2" > "$3"
Co znamenají parametry $n je snad jasné.
Jestli nemáte v coredumpu na zacatku \x7fELF, tak buď to bude jiný 
formát, nebo jste přečetl jinou oblast flashky

L.

On 30.10.2023 13:39, Michal Grunt wrote:
> Já pouštím ikonu "ESP-IDF 5.1 CMD" kde už by toto mělo být nastaveno.
> Ale možná se mi tam tluče více pythonů což se vlastně nyní potvrdilo.
> Takže espcoredump.py již spustit jde, ale asi to nebude úplně
> kompatibilní s tím co generuje Arduino nebo tomu nerozumím... Našel
> jsem si v TEMP adresáři složku do které Arduino kompiluje program. Z
> té jsem si vytáhl ELF soubor a spustil příkaz:
>
> python espcoredump.py info_corefile -t raw -c test.elf coredump.bin
>
> A dostanu:
> WARNING: C:\Espressif\frameworks\esp-idf-v5.1.1\components\espcoredump\project_description.json
> does not exist. Please build the app with "idf.py build"
> a
> File "C:\Espressif\python_env\idf5.1_py3.11_env\Lib\site-packages\construct\core.py",
> line 2728, in _parse
>      raise ConstError(f"parsing expected {repr(self.value)} but parsed
> {repr(obj)}", path=path)
> construct.core.ConstError: Error in path (parsing) -> elf_header ->
> e_ident -> EI_MAG
> parsing expected b'\x7fELF' but parsed b'\xa4e\x00\x00'
>
> po 30. 10. 2023 v 13:09 odesílatel Ladislav Vaiz <spam na nagano.cz> napsal:
>> Já to dělám v linuxu, jako shell mam bash. Napřed je potřeba
>> inicializovat proměnné prostředí příkazem:
>> source /kde/je/esp-idf/export.sh
>> pak mám ještě kvůli zalamování řádek
>> export COLUMNS=1000
>>
>> Jak spustit python pod cmd.exe netuším. Možná něco vykoukáte z
>> https://docs.espressif.com/projects/esp-idf/en/latest/esp32/get-started/windows-setup.html
>>
>>
>>
>> L.
>>
>>
>> On 30.10.2023 12:55, Michal Grunt wrote:
>>> Tak  jsem našel, že Arduino IDE automaticky dělá coredump do
>>> "coredump" partition.
>>>
>>> SDK je k tomu asi již nakonfigurován
>>> C:\Users\xxxx\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.9\tools\sdk\esp32\sdkconfig
>>> CONFIG_ESP32_ENABLE_COREDUMP_TO_FLASH=y
>>>
>>> V partition CSV je záznam (záleží jaký je vybraný profil v Arduino IDE
>>> - Partition Scheme):
>>> coredump, data, coredump,0x3F0000,0x10000
>>>
>>> Tedy příkazem
>>> esptool.py --chip esp32 --port COMx --baud 115200 read_flash 0x3F0000
>>> 0x10000 coredump.bin
>>>
>>> si vytahnu data z této partition, ale dále nevím co s tím. Našel jsem něco jako:
>>>
>>> espcoredump.py info_corefile -t raw -c build/hello-world.elf coredump.bin
>>>
>>> ale už při samotném spuštění příkazu espcoredump.py mi to píše chybu:
>>>
>>> Traceback (most recent call last):
>>>     File "C:\Espressif\frameworks\esp-idf-v5.1.1\components\espcoredump\espcoredump.py",
>>> line 11, in <module>
>>>       from typing import Any
>>> ImportError: No module named typing
>>>
>>> Při pokusu o instalaci
>>> pip install typing
>>>
>>> dostanu info
>>> Requirement already satisfied: typing in
>>> c:\espressif\python_env\idf5.1_py3.11_env\lib\site-packages (3.7.4.3)
>>>
>>> Tak nevím jak ten dump dekódovat.
>>>
>>> ne 29. 10. 2023 v 13:55 odesílatel Michal Grunt <michal.grunt na gmail.com> napsal:
>>>> Dobrý den. Děkuji za odkazy. Jde mi o Arduino prostředí. Když jsem na to jedním okem koukal tak snad nebudu muset doinstalovat další software.
>>>>
>>>> Dne so 28. 10. 2023 14:02 uživatel xPablo <Pablo na xpablo.cz> napsal:
>>>>> DD,
>>>>> nenapsal jste, v jakem frameworku a v jakem prostredi, takze pokud IDF,
>>>>> tak v menuconfig povolit COREDUMP_TO_FLASH (spousty navodu na internetu,
>>>>> treba
>>>>> https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/core_dump.html#core-dump-to-flash,
>>>>> pouziti pak
>>>>> https://github.com/NilsRo/Dehumidifier/blob/f907f6519dd50bc18324ed59b308af4443c8116a/src/main.cpp#L233-L236
>>>>> , nebo
>>>>> https://github.com/maxgerhardt/pio-espidf-4.4-test/blob/main/src/main.c
>>>>> - na starsi IDF verzi). Pro Arduino je knihovna (
>>>>> https://github.com/MathieuDeprez/ESP32_CoreDump_Arduino_1.0.6) a taky se
>>>>> da najit beznym vyhledavacem...
>>>>>
>>>>> Pavel Brychta
>>>>>
>>>>> Dne 28. 10. 23 v 12:21 Michal Grunt napsal(a):
>>>>>> Jak řešíte diagnostiku při náhodném restartu ESP32 kdy to po
>>>>>> "samovolném" restartu zase nějakou dobu funguje? Zapisujete si data do
>>>>>> SPIFFS? Jak zjistíte na které funkci to lehlo, když k tomu přijdete
>>>>>> třeba jednou za x dní, ono to funguje, ale přesto "vám to rekne" že to
>>>>>> občas zlobilo?
>>>>>>
>>>>>> Děkuji, MG
>>>>>>
>>>>>> _______________________________________________
>>>>>> HW-list mailing list  -  sponsored by www.HW.cz
>>>>>> 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
>>> _______________________________________________
>>> HW-list mailing list  -  sponsored by www.HW.cz
>>> 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
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list




Další informace o konferenci Hw-list