Hi
Ich versuche gerade mir eine Entwicklungsumgebung für den ESP8266
zusammen zu basteln. In diesem Rahmen möchte ich den Uploadprozess in
den Griff kriegen. Als Übung dazu, versuche ich mit Espressifs Download
Tool
(https://espressif.com/sites/default/files/tools/flash_download_tools_v3.3.4_win.zip)
eine neue Firmware esp8266_nonos_sdk_v1.5.4
(https://espressif.com/sites/default/files/sdks/esp8266_nonos_sdk_v1.5.4_16_05_20.zip)auf
meinen ESP 12F aufzuspielen. Daran scheitere ich noch.
Mein Aufbau auf dem Steckbrett ist wie folgt:
Am ESP 12F
VCC: 3,3V
GND: GND
RST: Pullup gen Hi, zusätzlich Taster gen Low zwecks Reset
EN: Pullup
GPIO0: normal Pullup, für Download Mode aber zum Pulldown umgstöpselt
GPIO2: Pullup
GPIO15: Pulldown
TXD: an RX vom USB-Seriell-Adapter
RXD: an TX vom USB-Seriell-Adapter
Stelle ich mein Terminal auf 74880 Baud, kann ich nach Reset die
Bootmeldung empfangen:
1
ets Jan 8 2013,rst cause:2, boot mode:(3,6)
2
3
load 0x40100000, len 1856, room 16
4
tail 0
5
chksum 0x63
6
load 0x3ffe8000, len 776, room 8
7
tail 0
8
chksum 0x02
9
load 0x3ffe8310, len 552, room 8
10
tail 0
11
chksum 0x79
12
csum 0x79
13
14
2nd boot version : 1.5
15
SPI Speed : 40MHz
16
SPI Mode : DIO
17
SPI Flash Size & Map: 8Mbit(512KB+512KB)
18
jump to run user1 @ 1000
Nach Empfang der Bootmeldung schaltet der ESP wohl für TXD0 die Baudrate
auf 115200 um, was CoolTerm für einen "Framing Error" hält und sich vom
Comport trennt.
Manchmal erhalte ich auch "boot mode:(3,7)", kann aber kein System
erkennen, woran das liegt.
Schalte ich den Download Mode ein, indem ich GPIO0 zum Pulldown
umstöpsle, dann erhalte ich nur die kurze Meldung
1
ets Jan 8 2013,rst cause:2, boot mode:(1,6)
Verwende ich nach dem Booten des ESP bei der Kommunikation die Baudrate
115200, dann kann ich auch prima AT Kommandos absenden und bekomme
erwartungsgemäße Antworten. Beispielsweise bekomme ich auf das Kommando
"AT" (+ <crlf>) die Antwort "OK".
Das nehme ich als Beweis, dass die Kommunikation zum ESP 12F
grundsätzlich durchaus funktioniert.
Nun also zum "ESP8266 UPLOAD TOOL".
Ich habe dort die *.bin Dateien eingestellt, die ich
esp8266_nonos_sdk_v1.5.4 (link s.o.) entnommen habe:
bin\esp_init_data_default.bin
bin\boot_v1.5.bin
bin\blank.bin
bin\at\512+512\user1.1024.new.2.bin
Einstellungen der Kommunikationsschnittstelle siehe Screenshot.
Egal welche Reihenfolte ich versuche
1.) GPIO0 = low (Downloadmodus), Reset
2.) "Start" Button im Download Tool
oder umgekehrt, das Ergebnis sieht auf den ersten Blick gleich aus. Die
grüne "Idle" Anzeige im "Dowload Panel1" wird kurz zur grünen "Sync"
Anzeige um dann zur roten "ERROR" Meldung zu werden. Im Log generiert
das folgende Ausgabe (nur der Ausschnitt, der aufgrund der Aktionen
erzeugt wird):
test fpath: C:\ESP8266\espressif\esp8266_nonos_sdk_v1.5.4_16_05_20\ESP8266_NONOS_SDK\bin\_temp_by_dltool/downloadPanel1
20
test fname: C:\ESP8266\espressif\esp8266_nonos_sdk_v1.5.4_16_05_20\ESP8266_NONOS_SDK\bin\_temp_by_dltool/downloadPanel1\boot_v1.5.bin_rep
21
mode : speed:
22
write bin : C:\ESP8266\espressif\esp8266_nonos_sdk_v1.5.4_16_05_20\ESP8266_NONOS_SDK\bin\_temp_by_dltool/downloadPanel1\boot_v1.5.bin_rep
23
test fpath: C:\ESP8266\espressif\esp8266_nonos_sdk_v1.5.4_16_05_20\ESP8266_NONOS_SDK\bin\_temp_by_dltool/downloadPanel1
24
test fname: C:\ESP8266\espressif\esp8266_nonos_sdk_v1.5.4_16_05_20\ESP8266_NONOS_SDK\bin\_temp_by_dltool/downloadPanel1\esp_init_data_default.bin_rep
25
mode : speed:
26
write bin : C:\ESP8266\espressif\esp8266_nonos_sdk_v1.5.4_16_05_20\ESP8266_NONOS_SDK\bin\_temp_by_dltool/downloadPanel1\esp_init_data_default.bin_rep
27
TEST!!!!
28
SELF.COMSTR: COM6
29
test running : False
30
BAUD 0 : 115200
31
test COM: COM6 <type 'unicode'>
32
test self._COM: COM6
33
test baud: 115200
34
======
35
CONNECT BAUD: 115200
36
============
37
test type : <type 'unicode'>
38
COM type: string
39
is open: False
40
serial port opened
41
-----------
42
baud: 115200
43
root baud: 115200
44
-------------
45
===============
46
BAUD : 115200
47
===============
48
Connecting...
49
*********************
50
pic path: ./RESOURCE/SYNC_S.bmp
51
***********************
52
chip sync ok!
53
set fast baud
54
chip baud div: 457
55
chip baud : 113785
56
baud_prev: 115200
57
chip baud div: 457
58
chip baud : 113785
59
rd_baud: 1155555
60
('set rd_baud:', 1155555)
61
change baud error, set prev baud: 115200
62
COM PORT SET BAUD: 1152000
63
*********************
64
pic path: ./RESOURCE/ERROR_S.bmp
65
***********************
66
com closed
Ich habe natürlich keine Ahnung, wie dieses Log aussehen sollte, wenn
erfolgreich geflashed wurde. Aber insbesondere die merwürdigen Baudraten
am Ende des Logs
irritieren mich, z.B. "1152000", das 10-fache von 115200.
Wenn ich mir beispielsweise
http://www.allaboutcircuits.com/projects/update-the-firmware-in-your-esp8266-wi-fi-module
durchlese, dann scheint zumindest in der älteren Version des Download
Tools wohl schon direkt beim Resetten des ESP dessen "Detected Info"
angezeigt worden zu sein. Bei der V3.3.4 hingegen wird der Port wohl
erst auf Knopfdruck angesprochen.
Nun stehe ich auf dem Schlauch. Hat wer einen Tip, wie ich den dieses
Tool dazu bewegen kann meinen ESP zu flashen?
hmm, das heist gravierende Kommunikationsprobleme; sonst müßte er autom.
Quarzfrequenz, flashtype, spi- speed und mode erkennen.
versuch mal diese alternative:
https://github.com/nodemcu/nodemcu-flasher
Hihi, mit dem Nodemcu Flasher habe ich bereits einen meiner 5 ESPs zu
einer Lua Maschine geflasht. Der funktioniert also. Irgendwie auch
witzig auf so einem kleinen Ding interaktiv per Konsole print("Hello
World") machen zu können.
Aber noch habe ich mich nicht weiter damit auseinandergesetzt, ob und
wie ich mit dem Nodemcu Flasher in C geschriebene Programme flashen
könnte. Denn ich ahne, dass ich die Ressourcen, die der Lua Interpreter
frisst, lieber anderweitig verwenden möchte. :)
Update: Juhu es klappt mit dem Nodemcu Flasher einwandfrei. Ich kann
damit auch die Firmware binaries aus esp8266_nonos_sdk_v1.5.4 flashen.
Hatte einfach übersehen, dass der eigentlich genau so funktioniert, wie
es das Tool von Espressif tun sollte.
SOLVED!
Danke!
Hallo,
das Problem, daß das ESP-Tool plötzlich nicht mehr wollte hatte ich auch
schon. Ich war mir keiner Änderungen an meinem System bewußt.
Irgendwann ging es dann wieder, warum auch immer.
Der NodeMCU-Flasher lief bisher immer, die Arduino-IDE auch.
Gruß aus Berlin
Michael
Hallo,
@Franz Wie hast du das jetzt gelöst?
Ich habe das gleiche Problem.
Egal was ich mache, bekomme ich keine Verbindung zum Modul.
Es ist ein ESP 8266 12F.
Das Modul startet mit 74880 baud und wechselt auf 115200.
Ich kann es auch nicht Flashen.
Mittlerweise kommt nur das hier:
ets Jan 8 2013,rst cause:2, boot mode:(1,7)
Das NodeMCU bekommt auch keine Verbindung zum Modul.
Angebunden habe es über einen (original) FTDI Chip.
Stromversorgung läuft extern 3,3V mit 350mA (Eingestellt).
Zur zeit verbraucht das Modul ca 53mA.
Freundliche Grüße,
Richard