ICACHE_RAM_ATTR erzeugt Fehlermeldung beim ESP8266

Hallo,

ich habe Probleme mit dem externen Interrupt beim WEMOS D1 Mini Board: total zufällig gibt es Exception (0) wenn ich den Pin antriggere. Nun habe ich gelesen, dass man den Interrupt-Code mit ICACHE_RAM_ATTR in den Cache legen soll. Das wollte ich gerade ausprobieren, jetzt kompiliert der Code nicht mehr mit der Fehlermeldung

.elf section .text' will not fit in region iram1_0_seg'

collect2.exe: error: ld returned 1 exit status

Hierzu habe ich nichts gefunden, was mir weiter hilft. Habt ihr eine Idee was ich machen kann?

Lieben Dank.

also ich habe jetzt nochmal ordentlich Zeit verbraten, um hier weiter zu kommen.
Erkenntnisse sind:

1.) wenn ich den Orginalsketch (ziemlich groß) laufen lasse, läuft er stabil, bis externe Interrupts durchgeführt werden - dann stürzt er ziemlich schnell ab (Exception 0) - vieleicht nach ca. 20 Interrupts

2.) wenn ich für die Interruptroutine ICACHE_RAM_ATTR verwende gibt es keine Abstürze mehr!

3.) Ich habe 2 externe Interrupts: wenn ich ICACHE_RAM_ATTR für beide Routinen verwenden möchte, dann kriege ich eine Fehlermeldung:
.elf section .text' will not fit in region iram1_0_seg'
collect2.exe: error: ld returned 1 exit status
Speicher vom ESP8266 ist aber nur zu 22% bzw. 50% ausgelastet.

4.) wenn ich Flashen over the air rausnehme (WIFIMANAGER), dann kriege ich die Fehlermeldung bei 3.) nicht mehr und alles läuft wie gewünscht - ohne Abstürze.

Was ist das für ein Problem mit diesem ICACHE_RAM_ATTR??? Wer weiß darüber was? Wieso kriege ich den Fehler unter 3.) - was kann ich da machen?

Warum machst du im parallel-Forum nicht weiter ?
Da hast du doch schon Antworten erhalten.
Dein Verhalten ist jedenfalls nicht ok, das wird in den Foren nicht gern gesehen.

Ich habe Dir bereits im anderen Forum geantwortet, nachdem Du dich gnädigst zum Posten Deiner ISR herab gelassen hast. Gefallen Dir unsere Antworten nicht?

Crosspost gilt als unhöflich gegenüber den Forenteilnehmern, von denen Du Hilfe willst.

Gruß Tommy