INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Variablen NodeMCU ESP8266-E Speicher Sparen
11.12.2020, 01:38
Beitrag #1
Variablen NodeMCU ESP8266-E Speicher Sparen
Grüß Euch!

Da es sich um die Programmierung eines ESP8266/Node handelt hab ich dieses Thema da gepostet. Grundsätzlich geht es um Einsparung von Speicherplatz/für Variablen (Global/Statisch Verfügbar), und ich noch einen Bedarf an Speicher haben werde und jetzt bereits folgende Info bekomme:

Zitat: #pragma message "CONNECT NEXTION ON SERIAL !!!"
^
Executable segment sizes:
IROM : 304336 - code in flash (default or ICACHE_FLASH_ATTR)
IRAM : 31008 / 32768 - code in IRAM (ICACHE_RAM_ATTR, ISRs...)
DATA : 1448 ) - initialized variables (global, static) in RAM/HEAP
RODATA : 4228 ) / 81920 - constants (global, static) in RAM/HEAP
BSS : 28032 ) - zeroed variables (global, static) in RAM/HEAP
Der Sketch verwendet 341020 Bytes (32%) des Programmspeicherplatzes. Das Maximum sind 1044464 Bytes.
Globale Variablen verwenden 33708 Bytes (41%) des dynamischen Speichers, 48212 Bytes für lokale Variablen verbleiben. Das Maximum sind 81920 Bytes.

Es geht mir einfach nur darum wo kann man noch kürzen, die Suchmaschine meines Vertrauens hat mir Informationen geliefert. Jedoch hab ich alle Variablen, egal ob Global/Statisch, auf den Speicherplatz beschränkt der erforderlich ist, und alles andere läuft nur über Funktionen, die eben den angeforderten Wert retour liefern.

Ich benötige nur einfach ein paar Tipps - keine fertige Lösung. DANKE!

Sollte ich unverständlich formuliert haben, bitte einfach Nachfragen. Wink

Sollte ich trotz allem an die 65/70% des Speicherbedarfes des dynamischen Speichers kommen, wird es da möglicherweise Probleme im Ablauf des Sketches kommen?

Und nebenbei ist wieder der RAM (4MB) trotz der richtigen Einstellung im IDE wieder FALSCH -> "Maximum sind 1044464 Bytes" das Thema hatte ich schon mal, aber ich versteh es einfach nicht warum das regelmäßig aufpoppt Sad

Gruß aus Wiener Neustadt
Toni

=================================================================
Seit die Mathematiker über die Relativitätstheorie hergefallen sind, verstehe ich sie selbst nicht mehr.

Wer Rechtschreibfehler findet darf sie behalten Big Grin
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
11.12.2020, 10:54
Beitrag #2
RE: Variablen NodeMCU ESP8266-E Speicher Sparen
Als const deklarieren, was const ist.
Feste Texte mit dem F-Macro in den Flash auslagern.
Soweit möglich lokale Variablen verwenden.

Deine einstellbaren 4 MB sind Flash, da kommt es auf die SPIFFS/OTA-Auswahl an. Der RAM ist fix und kann deshalb nicht eingestellt werden. Speicher Map.

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
11.12.2020, 11:16
Beitrag #3
RE: Variablen NodeMCU ESP8266-E Speicher Sparen
So wie ich es sehe (hab vor einiger Zeit mal getestet), ist Programmspeicher (im Flash) immer auf 1.044464 MByte festgelegt.
Egal was ich in FlashSize in der IDE einstelle.

Oder irre ich da?

Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
11.12.2020, 11:50
Beitrag #4
RE: Variablen NodeMCU ESP8266-E Speicher Sparen
Da hast Du Recht, zumindest wenn man die Module mit genügend Flash betrachtet. Da ist der Programmspeicher immer 1.044464 Bytes.

Das hatte ich missverständlich ausgedrückt. Es wird eigentlich nur die Aufteilung des Rests in OTA/SPIFFS eingestellt.

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
11.12.2020, 11:52
Beitrag #5
RE: Variablen NodeMCU ESP8266-E Speicher Sparen
Ok und danke.

Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
11.12.2020, 16:59
Beitrag #6
RE: Variablen NodeMCU ESP8266-E Speicher Sparen
@Toni: Hat es Ersparnisse gebracht?
Für genauere Hinweise sollten wir den Sketch kennen.

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
11.12.2020, 18:26
Beitrag #7
RE: Variablen NodeMCU ESP8266-E Speicher Sparen
(11.12.2020 16:59)Tommy56 schrieb:  @Toni: Hat es Ersparnisse gebracht?
Für genauere Hinweise sollten wir den Sketch kennen.

Gruß Tommy

Servus Tommy!

Bin gerade am "Umbau" der erste Test hat gezeigt, dass sich die Speicherbelegung (wie erwartet) verschiebt.

Den ProtoSketch kann ich gerne Posten, man bedenke jedoch, dass ich ein "Frischling" bin, und der eine Megabaustelle ist - mangels Erfahrung. Laufen tut er wie gewünscht ...

Kritik gerne willkommen, wenn im positivem sinne Dodgy

Problem, wie kann ich den Posten, da einige TAB's und relativ lang Angel

Wegen dem 1MB freien Speicher des NodeMCU find ich auch sehr Seltsam, da beim Hochladen angezeigt wird das er 4MB hat?

Gruß aus Wiener Neustadt
Toni

=================================================================
Seit die Mathematiker über die Relativitätstheorie hergefallen sind, verstehe ich sie selbst nicht mehr.

Wer Rechtschreibfehler findet darf sie behalten Big Grin
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
11.12.2020, 18:41
Beitrag #8
RE: Variablen NodeMCU ESP8266-E Speicher Sparen
Die 4 MB sind der gesamte Flash-Speicher. (Beim D1 mini pro sind es 16 MB - Auto-detected Flash size: 16MB) davon sind aber immer nur 1.044464 Bytes als Programmspeicher verfügbar.

RAM habe ich 81920 Bytes insgesamt verfügbar.

Wieviele Tabs sind es denn? Bei bis zu 4 würde ich sagen, als einzelne Codeblöcke in Codetags, den Rest als Anhänge.

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  ESP8266 NodeMCU aus verbundenem WLan löschen Faultier_1982 17 586 09.05.2021 17:23
Letzter Beitrag: Faultier_1982
  Kommunikationsprobleme zwischen Pi4 und ESP8266 gideon111 0 77 08.05.2021 14:18
Letzter Beitrag: gideon111
  ESP8266 --> attachInterrupt basementmedia 3 95 08.05.2021 02:03
Letzter Beitrag: Fips
  gedrückten Taster bei Einschalten des ESP8266 erkennen basementmedia 7 243 06.05.2021 23:03
Letzter Beitrag: basementmedia
  ESP8266 und Telegram Übermittlung Tiger 6 215 06.05.2021 09:45
Letzter Beitrag: Tommy56
  Verlängerung Feuchtesensor mit esp8266 John 24 1.083 05.05.2021 10:52
Letzter Beitrag: nbk83
  ESP8266, Frage zu Void Loop Bobo83600 3 165 04.05.2021 17:50
Letzter Beitrag: Tommy56
  ESP8266 mit Batterieversorgung wonk 8 343 04.05.2021 17:19
Letzter Beitrag: wonk
  ESP32 access point: Browser Variablen einlesen FoxFactoy 1 150 03.05.2021 11:44
Letzter Beitrag: Tommy56
  ESP8266 --> Wann / wie oft yield() verwenden? basementmedia 19 1.321 28.04.2021 20:02
Letzter Beitrag: basementmedia

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste