Ich sehe viele Informationen zum automatischen Hochladen (d. h. ohne eine Taste gedrückt zu halten/zu drücken). Der ESP32-Entwickler tut dies mit der folgenden Schaltung:
In meinem Fall habe ich jedoch keinen USB-zu-TTL-IC. Ich habe derzeit zwei Tasten (RST und PROG), um mein ESP32 zu programmieren.
Ich programmiere auch meine SMD-ESP32-Version mit dem ESP32-Dev-Board, verbinde aber RX (ESP32 Dev) mit TX (ESP32 SMD) und TX (ESP32 Dev) mit RX (ESP32 SMD) und erde dann die beiden zusammen. Derzeit funktioniert dies, aber das Gedrückthalten der Tasten zum Flashen des ESP32 SMD wird lästig. Gibt es eine Möglichkeit, wie ich automatisch hochladen kann, wie sie es im ersten Bild tun?
Ich hatte dieselbe Situation. Wenn Ihr Board zugängliche Pins auf dem Reset hat und Boot-Strapping-Netze herunterlädt, könnten Sie einen Raspberry Pi / Bus Pirate / Favorite SBC/Micro mit Open-Drain-Ausgängen aufrüsten, um diese Pins zum richtigen Zeitpunkt herunterzuziehen.
Aber die Lösung, die für mich viel besser funktionierte, war, Over-the-Air-Updates (OTA) so früh wie möglich im Entwicklungsprozess zu implementieren. Es erfordert ein wenig zusätzliche Arbeit, aber dann benötigen Sie den UART überhaupt nicht zum Programmieren (nach dem ersten anfänglichen Laden natürlich).
Ohne Bezug: Warum kreuzen Sie RX und TX? Sind Sie sicher, dass Sie das tun? Wenn Sie ein externes ESP32 auf ein Entwicklungsboard huckepack nehmen, kreuzen sich RX und TX nicht (d. h. DevBoard.ESP32.TX <-> OffBoard.ESP32.TX). Vielleicht meintest du aus Sicht des CP2102 (true: CP2102.RX <-> ESP32.TX).
Juraj
RemyHx