Fórum témák

» Több friss téma
Fórum » ESP32 flash problémák
 
Témaindító: nagylzs, idő: Dec 4, 2022
Lapozás: OK   1 / 1
(#) nagylzs hozzászólása Dec 4, 2022 /
 
Sziasztok! A következő a problémám. Terveztem és építettem már néhány áramkört ESP32-vel. Az a tapasztalatom, hogy az első néhány programozás sikerül, utána meg nem. Van olyan modulom, amit sikerült flash-elni 20-30 alkalommal. De van olyan is, amit csak kb. 10-szer. Utána gyakorlatilag kuka az egész panel (a PCB-re forrasztott ESP32 modult nem tudom leszedni, nincsen ónszívóm.)

Ezzel a problémával sokszor szembesültem. Nem csak beforrasztott modulokkal, hanem ESP development board-okkal is. Igazából ESP8266 is csinált ilyet, de nem annyira gyakran, mint az ESP32. Többféle modult és board-ot szereztem már be több helyről, mert azt gondoltam, hogy talán a flash chip a rossz (selejtet adtak el?) Legutóbb már egy egészen drága TTGO -t vettem, de sajnos az is megadta magát kb. 20 flash-elés után.

A saját terezésű PCB -n nem az usb-serial converter-ről veszi a tápot, hanem labortápra dugom. Ennek ellenére mindig ugyan azt tapasztalom.

Érdekes módon arduino-val ilyen problémát nem tapasztaltam. Legtöbbet arduino mini-ből használtam, és azok több 100 flash-elés után is normálisan működnek. Viszont van egy csomó projekt, amire az nekem nem jó. Szükségem van a wifi-re, a nagyobb teljesítményre.

Ez az egész nagyon kiábrándító. Eltöltök több órát az összes alkatrész beforrasztásával, felprogramozom, és utána kezdődne a szoftver fejlesztés. A szoftver fejlesztés során több 100 program verziót kellene kipróbálom, és az összes ilyen board a kukában végzi. Az utóbb néhány hónapban már alig volt kedvem elővenni a pákát.


Lehet hallani olyasmit, hogy kínából olyan modulokat adnak el, amik nem mentek át a minőségellenőrzésen. Lehetséges lenne hogy ilyenbe futottam bele? Ez számomra azért nehezen hihető verzió, mert már sok helyről sokfajtát rendeltem. ESP32 dev board-ból legalább 3 féle, TTGO, ESP32-WROOM, ESP32-WROVER és ezekből is legalább 3 különböző helyről vettem már. Ennyire csak nem lehetek szerencsétlen, hogy mindegyiknél selejtet küldtek?
(#) proba válasza nagylzs hozzászólására (») Dec 5, 2022 /
 
Nem tudom nálad probléma lehet e, nekem gondjaim voltak a tápegységekkel. Az usb kábel test szálán néha néha akkora kiegyenlítő áramok folynak a védőföld felé a tápegységből, hogy az csoda, azonnal nem halálozódik el az összes panel. Kíváncsiságból megmérhetnéd, a tápod negatív sarka, és a programozó USB csatlakozó negatív csatlakozója között mekkora áram folyik/ feszültség van ( AC) összedugás előtt. A Laptop is tud ilyen tréfát űzni, ha töltőn van....
(#) jefflynn válasza nagylzs hozzászólására (») Dec 6, 2022 /
 
Jó lenne még pár dolgot tudni. Pl. mi a hibajelenség, iilletve hibaüzenet? Ok, hogy nem lehet új programot feltölteni, de ami rajta van, az működik? Log üzenetek jönnek? Nem gondolnám, hogy selejt minden modulod, inkább táp, csatlakozás, GPIO, kommunikációs stb. probléma lesz ez. Volt hasonló problémám, NodeMCU modul nem lépett be flash módba, soros portról az RTS, DTR vezetékkel vezérelve. Ha megnyomtam a mikrokapcsolót (egyik reset, másik a flash feltöltés indítása), akkor működött.
A hozzászólás módosítva: Dec 6, 2022
(#) Elektro.on válasza jefflynn hozzászólására (») Dec 6, 2022 /
 
Sziasztok!
nem tudom, hogy a kérdezőnek ez-e a problémája, de az autómatikus flash mpdba lépésre van egy gyógyszer.
Az alábbi linken olvashattok róla.

Bővebben: Link
(#) pipi válasza Elektro.on hozzászólására (») Dec 7, 2022 /
 
Én a saját nyákomon külső usb-soros konvertert használok(cp2102 vagy ch340), mindenféle tranyós keresztkötés nélkül, DTR megy gpio0-ra, RTS meg az en-re 8266 és esp32-nél.
(#) nagylzs hozzászólása Dec 12, 2022 /
 
Elnézést hogy ilyen későn reagálok, közbejött valami. Hamarosan megírom a konkrét hibaüzenetet. Megpróbálok szkópot is kötni a GPIO0 -ra, de azt csak később tudom (kb. jövő héten).
(#) nagylzs válasza pipi hozzászólására (») Dec 12, 2022 /
 
Egyébként tényleg, a gyári devboard-okon is van tranzisztoros "késleltető" áramkör, és ennek ellenére azok is ugyanúgy nem mennek.
(#) nagylzs hozzászólása Dec 12, 2022 /
 
Alapból micropython-t használok, és a micropython firmware-t nem sikerült írnom, de most telepítek arduio ide-t és azon keresztül fogok feltölteni bootloader-t meg blink -es példa programot. Egymás után teszem be őket, ideírom a hibákat amiket kapok.
(#) nagylzs hozzászólása Dec 12, 2022 /
 
Első próba egy TTGO. A Connecting... után nagyon nagyon sokat vár. Kb. másfél percet.

esptool.py v3.3
Serial port COM3
Connecting............
Chip is ESP32-D0WDQ6 (revision 1)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
Crystal is 40MHz
MAC: 3c:71:bf:ef:26:50
Uploading stub...
Running stub...
Stub running...
WARNING: Failed to communicate with the flash chip, read/write operations will fail. Try checking the chip connections or removing any other hardware connected to IOs.
Erasing flash (this may take a while)...

A fatal error occurred: Packet content transfer stopped (received 8 bytes)
Hiba a bootloader égetésekor.

Ez ugye beépített saját usb to serial chip-pel rendelkezik, tehát a "rosszul van bekötve a pin" hibát kizárhatjuk.
A hozzászólás módosítva: Dec 12, 2022
(#) nagylzs hozzászólása Dec 12, 2022 /
 
A következő egy ESP32 DEV v1 board. A bootloader égetése alapból ezt adja:

esptool.py v3.3
Serial port COM4
Connecting.....................................Hiba a bootloader égetésekor.
.

A fatal error occurred: Failed to connect to ESP32: Wrong boot mode detected (0x13)! The chip needs to be in download mode.
For troubleshooting steps visit: https://docs.espressif.com/projects/esptool/en/latest/troubleshooting.html


Ha a bootloader égetése menü előtt megnyomom rajta a flash gombot, akkor ez is azt csinálja, hogy először "Connecting...." másfél perc, és ez a vége:

esptool.py v3.3
Serial port COM4
Connecting....
Chip is ESP32-D0WDQ6 (revision 1)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
Crystal is 40MHz
MAC: 24:0a:c4:30:d3:4c
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 921600
Changed.
Erasing flash (this may take a while)...

A fatal error occurred: Packet content transfer stopped (received 3906 bytes)
Hiba a bootloader égetésekor.
(#) nagylzs hozzászólása Dec 12, 2022 /
 
A legalacsonyabb baud rate-en se megy (ugyanez a hiba)
(#) nagylzs hozzászólása Dec 12, 2022 /
 
A többi is ilyet dob. Van közöttük CH340 -es usb-to-serial chip és silicon labs CP210x is.

Amikor saját PCB-vel próbálom, és külön programozóval, akkor is ezt csinálja. (Ezt most nem tudom kipróbálni, de úgy emlékszem.)

Ugyanezzel a számítógéppel ugyanezen az USB porton arduino mini és nano programozás MINDIG sikerül.
(#) nagylzs hozzászólása Dec 12, 2022 /
 
A TTGO-ról konkrétan tudom, hogy összesen max. 10 égetést csináltam rajta mielőtt "tönkrement". Nemsokára próbálkozom linuxról és egy teljesen másik gépről, arról is küldök logot.
(#) Elektro.on válasza nagylzs hozzászólására (») Dec 12, 2022 /
 
Érdekes. Ami nekem itthon van ESP32 D1 meg ESP12E példányok azokat már jóval többször megírtam de semmi baj velük.
Az autómatiukus flash mód az nem mindig szeret elindulni az tény, de mit feljeb linkeltem egy kondenzátoral orvosolható.
Ezek voltak használva Arduinó környezet alól, VS kódból, És Rust nyelven fejlesztett kódal is.
Ha nem indul a flash magától, akkor együtt nyomom a resetet a GPIO 0 gombal
aztán a resetet felengedem és a GPIO 0 át picit késöbb.
(#) nagylzs hozzászólása Dec 12, 2022 /
 
Másik gép, linux.

dmesg szerint:

[27528.528720] usb 1-1: new full-speed USB device number 3 using xhci_hcd
[27528.701991] usb 1-1: New USB device found, idVendor=10c4, idProduct=ea60, bcdDevice= 1.00
[27528.701996] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[27528.701999] usb 1-1: Product: CP2104 USB to UART Bridge Controller
[27528.702001] usb 1-1: Manufacturer: Silicon Labs
[27528.702003] usb 1-1: SerialNumber: 01C061E3
[27528.716585] usbcore: registered new interface driver usbserial_generic
[27528.716595] usbserial: USB Serial support registered for generic
[27528.717775] usbcore: registered new interface driver cp210x
[27528.717787] usbserial: USB Serial support registered for cp210x
[27528.717807] cp210x 1-1:1.0: cp210x converter detected
[27528.723101] usb 1-1: cp210x converter now attached to ttyUSB0

Flash törlése esptool-lal:

python3 ./reflash_esp32.py
RUN: esptool.py --port /dev/ttyUSB0 --chip esp32 erase_flash
esptool.py v4.4
Serial port /dev/ttyUSB0
Connecting.......
Chip is ESP32-D0WDQ6 (revision v1.0)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
Crystal is 40MHz
MAC: 3c:71:bf:ef:26:50
Uploading stub...
Running stub...
Stub running...
WARNING: Failed to communicate with the flash chip, read/write operations will fail. Try checking the chip connections or removing any other hardware connected to IOs.
Erasing flash (this may take a while)...

A fatal error occurred: Packet content transfer stopped (received 8 bytes)
Traceback (most recent call last):
File "/home/gandalf/micropython-dev/tools/./reflash_esp32.py", line 18, in <module>
esptool("--chip esp32 erase_flash")
File "/home/gandalf/micropython-dev/mp_tools.py", line 53, in esptool
run(ESP_TOOL_CMD + " " + args_str)
File "/home/gandalf/micropython-dev/mp_tools.py", line 45, in run
subprocess.run(cmd, shell=True, check=True)
File "/usr/lib/python3.10/subprocess.py", line 524, in run
raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command 'esptool.py --port /dev/ttyUSB0 --chip esp32 erase_flash' returned non-zero exit status 2.


Linux alatt, erről a számítógépről a "Connecting..." után nincsen másfél perc várakozás, ennyiből jobb. Viszont az "Erasing flash (it may take a while)" az tényleg jó sokáig tart, konkrétan másfél percig. A board-on levő LED halványan világít illetve néha felvillan, tehát valamit csinál. De a végén hibát dob. A flash törlés után a következő lépés a micropython firmware feltöltése lenne, de addig nem jutok el.

* DEV board-nál földáram szóba se jöhet
* korábban próbáltam úgy hogy kötöttem rá saját tápot (illetve a saját PCB-k esetén eleve így volt), de ez nem változtat a hibajelenségen
* ugyan ezekről a számítógépekről az arduino-kat simán tudom flash-elni, látszólag akárhányszor (nem tudom hányszor, de > 100 )
* próbáltam cserélni USB kábelt, rövidebbre, az se segített
* érdekes módon, ha vásárolok egy új modult, akkor azt néhányszor sikerül flash-elni, utána elromlik

Ennél több logot most nem küldök be, szerintem ez bőven elég lesz.

Mit nézzek még meg?
(#) nagylzs válasza Elektro.on hozzászólására (») Dec 12, 2022 /
 
Na igen, van olyan board amin egy gomb van, és olyan is van amin kettő. Amit én terveztem, azon csak egy van, a GPIO0 az a serial converter-re van kötve. Azokon a board-okon amiken nem tud magától belekezdeni, nekem is nyomni kell a FLASH gombot a board-on. Ha azt benyomom, akkor jól felismeri (kiírja a Chip nevét és a MAC címét), viszont a flash-elést nem tudja befejezni.
(#) Elektro.on válasza nagylzs hozzászólására (») Dec 12, 2022 /
 
A Particiós émád az jó? Nem akarna véletlen túlírni? Mintha össze futotam volna valahol már ilyen témával. VS kód alol rossz volt a partícionálás.
(#) pipi válasza nagylzs hozzászólására (») Dec 12, 2022 /
 
Hali! Nem lehet táp probléma? Próbáld külső tápról járatni, így égetni, nem az usb tápról
(#) nagylzs hozzászólása Dec 12, 2022 /
 
Itt egy kollekció azokról, amikkel semmit nem tudok kezdeni

https://imgur.com/a/WSmxDt1

Vannak új design-ok amikbe már ESP32-WROVER megy, 4MB memóriával. Azoknak a programozását el se akarom kezdeni, amíg ez a probléma meg nem oldódik, mert az drága mulatság lenne.
(#) nagylzs válasza Elektro.on hozzászólására (») Dec 12, 2022 /
 
Az esptool erase_flash parancsa (szerintem) nem használ semmiféle sémát, csak teleírja nullákkal, és már az se sikerül. Ha korábban nem sikerült volna ugyan ezzel a paranccsal ugyan ezeket az eszközöket flash-elni, akkor az még hihető lenne, hogy rosszul ismeri föl a flash méretét.

Nem is tudom, lehet hogy még kipróbálom másik --chip kapcsolóval ( esp32s2 esp32s3 esp32c3 stb.) de nem hinném, hogy ennek túl sok hatása lenne.
(#) nagylzs hozzászólása Dec 12, 2022 /
 
Szóval a --chip az jó volt:

╰─$ esptool.py --port /dev/ttyUSB0 --chip esp32s2 erase_flash
esptool.py v4.4
Serial port /dev/ttyUSB0
Connecting....

A fatal error occurred: This chip is ESP32 not ESP32-S2. Wrong --chip argument?
╰─$ esptool.py --port /dev/ttyUSB0 --chip esp32s3 erase_flash 2 ↵
esptool.py v4.4
Serial port /dev/ttyUSB0
Connecting....

A fatal error occurred: This chip is ESP32 not ESP32-S3. Wrong --chip argument?
(#) nagylzs válasza nagylzs hozzászólására (») Dec 12, 2022 /
 
Most rádugtam egy labortápra, zavarszűrővel, és az egyiket sikerült égetni. Próbálom a következőt is.
(#) pipi válasza nagylzs hozzászólására (») Dec 12, 2022 /
 
Az USB kábel is lehet gyenge táp szempontból, vagy ha PC akkor az előlapi usbcsatihoz belül a házban igencsak gagyi kábel megy, már ott elveszik a villany fele. Engem a pickit 4 tréfált így meg,
az éppen sok éve használatos kábelre dugtam és összevissza működött, elég sokára jutottam odáig hogy a hozzáadott kábelre dugjam, és minden megjavult
A telefonom olyan usb töttőről töltöm ami az áramot is kijelzi, a jó kábellel 1.2A-rel tud tölteni, különböző gagyi kábelekkel meg csak 500mA alatt
(#) nagylzs válasza nagylzs hozzászólására (») Dec 12, 2022 /
 
Hmmm kettőt sikerült reset-elni így. Akkor még próbálkozom, és később jelentkezem.
(#) nagylzs válasza pipi hozzászólására (») Dec 12, 2022 /
 
QC4 vagy PD töltők 120W-on töltenek. Persze nem 5V-on, de a 6A-t simán viszik.
(#) pipi válasza nagylzs hozzászólására (») Dec 12, 2022 /
 
A jó kábelen
(#) Elektro.on válasza nagylzs hozzászólására (») Dec 13, 2022 /
 
A kábel valóban lehet kritikus. Rossz csatlakozás, vékony vezetékek, rossz krimpelés és már nem is kap annyi energiát az eszköz amennyi kéne neki.
(#) nagylzs hozzászólása Dec 17, 2022 / 1
 
Lecseréltem az USB kábelt, a tápkábelt és az egész tápegységet. Most jól megy mindegyik. Nem tudom hogy pontosan hol rontottam el, de ez nagyon tanulságos volt. Köszönöm a segítséget!
Következő: »»   1 / 1
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem