ESP8266 startet nicht nach Firmware-Flash, serielle Ausgabe Schwerwiegende Ausnahme (28)

1167
sijok_00

Ich habe mit ESP8266 angefangen, das von AI-Thinker gekauft wurde. Das Wiki ist hier, ESP8266 und ein weiteres für NodeMCU .

Ich bin bereits mit der Lua-Firmware vertraut, habe also die Firmware des Lua-Knotens geflasht und bin damit in der Lage, erfolgreich zu sein. Ich habe jedoch Probleme mit der Lua-Firmware . Dann habe ich daran gedacht, in C anstelle von Lua zu programmieren. Meine Entwicklungsumgebung ist Ubuntu 14.0. Die Schritte, die ich von hier aus befolgt habe: https://github.com/SuperHouse/esp-open-rtos .

Ich war erfolgreich, die Firmware mit bauen gen_misc.shin examples/project_templateOrdnern mit unter Erzeugung von Bins erwähnt mit Standard - Build - Optionen:

eagle.flash.bin eagle.irom0text.bin 

blitzte dann mit esptool.pydem folgenden Befehl auf:

./esptool.py write_flash 0x00000 ESPWorkspace/esp-open-sdk/ESP8266_RTOS_SDK/esp8266_bin/eagle.flash.bin 0x20000 ESPWorkspace/esp-open-sdk/ESP8266_RTOS_SDK/esp8266_bin/eagle.irom0text.bin 

Und die Ausgabe nach dem Blinken von der Platine ist:

 Fatal exception (28): epc1=0x40001800, epc2=0x00000000, epc3=0x00000000, excvaddr=0x00007ff0, depc=0x00000000 

Es wurde nur wiederholt auf dem Bildschirm gedruckt, ich habe minicom unter Ubuntu /dev/ttyUSB0mit einer Baudrate von 115200 zum Anschließen des verwendeten USB-Kabels verwendet. und der seltsame Teil ist nach dem Aus- / Einschaltzyklus. Ich bekomme Junk-Daten zu Minicom.

Einige Artikel im Netz mit Debug mit eagle.dumpDatei und eagle.s. Ich habe das Problem damit auch nicht gelöst.

Kann mich jemand anweisen, das Problem zu lösen?

1

2 Antworten auf die Frage

0
sijok_00

Ich habe den Weg gefunden, esp-8266 mit esp-free-rtos zu blinken. Wenn jemand von meiner Antwort profitiert hat, bin ich froh. Ich habe NodeMcu WiFi Development Board - ESP8266 (ESP-12E) verwendet. Das Problem, mit dem ich konfrontiert war, betraf eine schwerwiegende Ausnahme (28), da der zugehörige Speicherplatz nicht verfügbar war (möglicherweise nicht, ich bin gerade erst Anfänger).

Ich habe zwei verschiedene Projekte falsch verstanden, sind sich aber identisch wie ESP8266_RTOS_SDK und esp-open-rtos.

Nach einiger Suche habe ich mit esp-open-RTOS wählte fortzusetzen, dann der Fehler aufgetreten, es wurde auf Flash - Größe bezogen, von hier: https://nodemcu.readthedocs.io/en/master/en/flash/ Ich habe die Antwort .

Im esp-open-rtos-Stammverzeichnis wurde die Parameterdatei in FLASH_SIZE? = 8 geändert, FLASH_MODE? = Dout, obwohl die Baudrate auf ESPBAUD? = 1500000 erhöht wurde.

Ich habe mit der Firmware geflasht und mein C-Programm in esp8266 gespeichert.

Nachfolgend habe ich eine Schritt-für-Schritt-Anleitung aufgelistet, um Ihr C-Programm in esp8266 zu flashen. Mein Dev-System ist Ubuntu 14.04 LTS.

1. Laden Sie esp-open-sdk herunter und bauen Sie es

Stellen Sie sicher, dass alle Anforderungen und Abhängigkeiten, die für Ihr Entwicklungssystem verfügbar sind, auf der GitHub-Seite aufgeführt sind.

$ git clone --recursive https://github.com/pfalcon/esp-open-sdk.git  $ make STANDALONE=n  

Legen Sie den Exportpfad fest:

$ export PATH=/path_to_Workspace/esp-open-sdk/xtensa-lx106-elf/bin:$PATH 

2. Laden Sie esp-open-rtos herunter und machen Sie Flash

$ git clone --recursive https://github.com/Superhouse/esp-open-rtos.git  $ cd esp-open-rtos  $ make flash -j4 -C examples/http_get ESPPORT=/dev/ttyUSB0  
0
user2108373

@Glorfindel hat die richtige Antwort aber nur zur Klarstellung.

Bestimmen Sie die Flashgröße Ihres Boards:

von https://stackoverflow.com/questions/39631011/how-to-determine-flash-size-of-nodemcu

(Ich hatte ein HiLetGo nodemcu - 32Mb)

Bearbeiten Sie die Datei: esp-open-rtos / parameters.mk

  • FLASH_SIZE ?= <N> (wobei N die Megabits Ihres Blitzes ist)
  • FLASH_MODE ?= dio

(Hinweis: Ich habe auch einen Verweis auf dio hier gefunden: https://groups.google.com/forum/#!topic/esp-open-rtos/-MNCe1NyVKA )

Diese beiden Änderungen haben das Problem für mich behoben.