Forum: Mikrocontroller und Digitale Elektronik ESP8266 nimmt neue Programmierung nicht an


von Michael (Gast)


Lesenswert?

Hallo zusammen,

ich habe schon vor einiger Zeit mit ESP8266-Modulen ein Bastelprojekt 
umgesetzt. Aktuell würde ich den Chip gerne wieder nutzen um eine 
Spannung per WLAN zu überwachen. Dazu habe ich mir dieses Mal auch ein 
Modul geleistet, bei dem alle Pins des Chips zugänglich sind. Es ist 
folgendes Modul:
http://shop.in-circuit.de/product_info.php?cPath=21&products_id=67

Programmiert habe ich die Module über die Arduino-Umgebung und einen 
USB-Seriell-Umsetzer. Probeweise habe ich als erstes mein Programm aus 
dem alten Bastelprojekt programmiert. Danach wollte ich mein neues 
Programm aufspielen. Leider ist es nun so, dass weiterhin das alte 
Programm auf dem ESP8266 läuft. Der Bootloader scheint zu funktionieren. 
Zumindest kann die Arduino-Umgebung erfolgreich mit dem Modul 
kommunizieren.

Zum Programmieren lege ich GPIO0 während des Programmierens dauerhaft 
auf Masse, unterbreche kurz die Versorgungsspannung und starte dann die 
Programmierung.

Ich kann machen und ändern was ich möchte aber auf dem ESP8266 läuft 
einfach immer das gleiche alte Programm, das ich als allererstes 
programmiert hatte. Was mache ich falsch?


Grüße
Michael

von Andreas B. (bitverdreher)


Lesenswert?

CH_PD muß auf Vcc und GPIO15 ebenfalls auf GND.

von Michael U. (amiga)


Lesenswert?

Hallo,

da ja die Programmiertools eigentlich alle melden ob sie einen ESP im 
Programmiermode gefunden haben und auch anzigen, daß sie programmieren 
und bei fast allen Modulen die LED dann scön flackert. solltest Du ja 
zumindest wissen, ob er sich programmieren ließ.
Wenn ja und es ist trotzdem nichts neues drauf, vermute ich mal, der ESP 
stürzt ab beim Umkopieren des Flash. Stromversorgung zu instabil ist 
dann ein Anwärter.
GPIO2 muß nur beim Boot auf GND damit er beim Start in den 
Programmiermode geht. Ein Taster an GPIO, den man wenuge hundert ms nach 
Rest schon wieder loslassen kann, reicht also auch. Genauso wie mir ein 
Taster an Reset auch sinnvoller wäre, als dauern Spannung an und aus. 
Obwohl es dem ESP egal sein sollte.

Gruß aus Berlin
Michael

von Michael (Gast)


Lesenswert?

Das Schaltbild des Moduls ist unter 
http://wiki.in-circuit.de/images/e/eb/610000292A_handout.pdf zu finden.

CH_PD dürfte hier als CHIP-EN bezeichnet sein und liegt über 12k an VCC. 
GPIO0 liegt ebenfalls über 12k an VCC und wird durch mich beim 
Programmieren hart auf GND gelegt.

Die Arduino IDE meckert wenn ich nicht im Bootloader bin. Wenn ich im 
Bootloadermodus bin zeigt sie den Fortschritt an und wann sie fertig 
ist. Während des Programmierens flackern auch schön die LEDs am 
USB-Seriell Adapter. Nach dem Programmieren sehe ich an einem UDP-Paket, 
dass an mich geschickt wird direkt, dass die alte Software noch läuft.

Die Spannungsversorgung ist eigentlich auf dem Board gut abgeblockt und 
wird von mir mit Nominal 3,3 V versorgt. Ich werde ihm mal ein paar % 
mehr Spannung gönnen aber ich fürchte, dass es nicht daran liegt.

Das alte Programm, dass sich nicht überschreiben lässt geht nach kurzer 
Zeit in den Deep-Sleep Modus. Könnte mein Problem damit etwas zu tun 
haben? Ich würde aber erwarten, dass er im Bootloadermodus und während 
des Programmierens nie zu dieser Stelle kommt.

Gibt es noch weitere Ideen?


Grüße
Michael

von Michael (Gast)


Lesenswert?

Ich habe jetzt noch zusätzlich wegen meiner Bedenken den Reset dauerhaft 
auf GND gelegt. Weiterhin habe ich die Spannung mal um 5 % erhöht. 
Beides hat leider nicht den gewünschten Erfolg gebracht.

von holger (Gast)


Lesenswert?

>Nach dem Programmieren sehe ich an einem UDP-Paket,
>dass an mich geschickt wird direkt, dass die alte Software noch läuft.

Vieleicht flasht du ja dauernd die alte Software;)

von Michael U. (amiga)


Lesenswert?

Hallo,

Michael schrieb:
> Ich habe jetzt noch zusätzlich wegen meiner Bedenken den Reset dauerhaft
> auf GND gelegt. Weiterhin habe ich die Spannung mal um 5 % erhöht.
> Beides hat leider nicht den gewünschten Erfolg gebracht.

Reset dauerhaft auf GND sollte dafür sorgen, daß der ESP garnichts mehr 
macht. Weder laufen noch programmieren. Wozu das also?

Wenn Du dsagst, er schickt Dir ein UDP-Paket hat er sich also im WLAN 
angemeldet und dann sollte er keine mit Spannung o.ä. haben.

Da würde ich dann auch eher an die Vermutung von holger (Gast) denken...

Ein "ich bin da" über die serielle zu schicken wäre mir jedenfalls als 
Debug lieber als irgendein UDP-Paket.
Hat die Arduino-IDE ja alles parat.

Gruß aus Berlin
Michael

von Michael (Gast)


Lesenswert?

Reset dauerhaft auf GND sorgt ja gerade dafür, das kein Reset 
durchgeführt wird. Mir war unwohl dabei den Pin offen zu lassen. Es hat 
allerdings keinen Unterschied gemacht.

Dass ich die alte Software flashe kann ich eigentlich ausschließen. Die 
Datei, die aus /tmp heraus geflasht wird heisst wie mein Programm. Und 
der neue Programmcode unterscheidet sich merklich vom alten 
Programmcode.

von Jan L. (ranzcopter)


Lesenswert?

evtl. mal ausserhalb der Arduino-IDE "blank.bin" flashen, und das Teil 
so mal komplett löschen?

von Michael (Gast)


Lesenswert?

Es scheint sich um kein Problem der Programmierumgebung zu handeln. Ich 
habe nun ein anderes Modul mit ESP8266 drangehängt (ein komplett anderes 
Modul mit anderem Aufbau). Dieses lässt sich problemlos mit dem neuen 
Programmcode beschreiben.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.