Forum: Mikrocontroller und Digitale Elektronik Flash-Routine ESP8266; 2xFet RTS/DTR


von Peter (Gast)


Lesenswert?

Hi Ihr.

Ich habe eine eigene Platine mit einem ESP Wroom02 (ESP8266) darauf.
Für diese habe ich einen Programmer mit einem FTDI gebaut, welcher über 
zwei N-Fets an Boot und Reset angehangen ist.

Als upload_resetmethod habe ich mir nodemcu und ck angeschaut.
NodeMCU ist mir mit dessen Beschaltung suspekt ;)

CK möchte ich nicht, da dann die FTDI-Pins direkt an dem ESP hängen 
müssen und ein Mikrocontroller auch noch mit OpenDrain hier etwas machen 
"könnte" -> Kurzschluss. Mit meinem beiden FETs funktioniert das Ganze 
aber natürlich invertiert; Inverter habe ich auf dem Programmer nicht 
drauf.

Gibt es denn keine einfache Möglichkeit diese upload_resetmethod selbst 
zu schreiben? Es muss doch einfach nur RESET und BOOT low, dann RESET 
high. Das ist doch überhaupt kein Problem und muss doch einzustellen 
sein!?

Ich verstehe nicht, warum ich darüber nichts brauchbares finde.

Hat jemand einen Tip für mich?
Oder soll ich die CK nutzen und zwei Inverter drauf friemeln?

Grüße, Peter

von Paul (Gast)


Lesenswert?

Peter schrieb:
> Gibt es denn keine einfache Möglichkeit diese upload_resetmethod selbst
> zu schreiben?

Na sicher.
Nimm den Quellcode Deiner ungenannten Programmiersoftware, ergänz die 
Funktion und compilier die neu.
Oder sieh Die mal an, wie andere das machen. Die Schaltung vom Wemos D1 
mini z.B. findest Du über Google und da wird die Umschaltung über zwei 
NPN gemacht, nicht invertiert.

Peter schrieb:
> Ich verstehe nicht, warum ich darüber nichts brauchbares finde.

Gibt es eigenlich schon Tutorials auf Utube 'wie google ich richtig'?

von Peter (Gast)


Lesenswert?

Hallo Paul.

Paul schrieb:
> Na sicher. Nimm den Quellcode Deiner ungenannten Programmiersoftware, ergänz die
> Funktion und compilier die neu.
Ich nutze Platformio.
Und welche "Funktion" soll ich nun ändern können?

> Oder sieh Die mal an, wie andere das machen. Die Schaltung vom Wemos D1
> mini z.B. findest Du über Google und da wird die Umschaltung über zwei
> NPN gemacht, nicht invertiert.
Stimmt, die sieht anders aus.
Aber warum werden die Signale immer so miteinander genutzt?
Ich verstehe den Sinn dahinter nicht.

> Peter schrieb:
> Gibt es eigenlich schon Tutorials auf Utube 'wie google ich richtig'?
Ja, gibt es auch "Y"outube.
Das hättest Du aber auch im Offtopic fragen können:
https://www.youtube.com/results?search_query=wie+google+ich+richtig

von Peter (Gast)


Lesenswert?

Peter schrieb:
> Stimmt, die sieht anders aus.
Edit:
Ist die selbe wie beim NodeMCU - Nur anders gezeichnet!

von Paul (Gast)


Lesenswert?

Peter schrieb:
> Und welche "Funktion" soll ich nun ändern können?

Du wolltest doch die upload_resetmethod umschreiben, nach dem Motto 'Das 
ist doch überhaupt kein Problem und muss doch einzustellen sein!?'
Hier ist der Quellcode: 
https://github.com/platformio/platformio-core/tree/develop/platformio
Ist sogar Python, mußt Du nichtmal compilieren.

Wird auch richtig gut funktionieren, im Leerlauf hängt Dein ESP dann mit 
RST=0 und GPIO0=0.

Peter schrieb:
> Ist die selbe wie beim NodeMCU - Nur anders gezeichnet!

Und was stört Dich daran? Daß sie besser ist? Da ist nur eine 
'gegenseitige Verriegelung' mit eingebaut, RST und GPIO0 können nicht 
gleichzeitig 0 werden auch wenn DTR und RTS beide gesetzt werden.

von Peter (Gast)


Lesenswert?

Kann es sein dass Du leicht gereizt bist?
Ich habe ganz normal gefragt und Du versuchst nur herum zu sticheln.

Paul schrieb:
> Du wolltest doch die upload_resetmethod umschreiben, nach dem Motto 'Das
> ist doch überhaupt kein Problem und muss doch einzustellen sein!?'
> Hier ist der Quellcode:
> https://github.com/platformio/platformio-core/tree/develop/platformio
> Ist sogar Python, mußt Du nichtmal compilieren.
Genau, von dem PlatformIO-Addon.
Aber nicht vom Flash-Part. Das wird nur ein Teil davon sein.

> Wird auch richtig gut funktionieren, im Leerlauf hängt Dein ESP dann mit
> RST=0 und GPIO0=0.
Unsinn, beide Pins sind auf high.
-> Pullups

> Peter schrieb:
> Und was stört Dich daran? Daß sie besser ist?
Was soll da besser sein? Es sind zwei Pins die hoch und runter müssen.

> Da ist nur eine 'gegenseitige Verriegelung' mit eingebaut, RST und GPIO0 können 
nicht
> gleichzeitig 0 werden auch wenn DTR und RTS beide gesetzt werden.
Und was soll die Verriegelung bringen?
Durch die Beschaltung bekommt der GPIO0 nach dem Boot nur einen Teil des 
Pegels.
Andere Elektronik, die diesen Zustand überwacht geht also von einem High 
aus und meint der Controller läuft gerade aus dem Flash.

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.