1.6 KiB
ESP8266 Postmortem linker workaround
The ESP8266 Arduino framework pin used by the DeviceFramework, WiFiManager, DFTE, and ArduinoHA maintained builds is intentional:
platform_packages =
platformio/framework-arduinoespressif8266 @ https://github.com/esp8266/Arduino.git#521ae60a89e64bb0d1eb7a0b7addf620ced5cad3
That upstream commit fixes Postmortem's large-jump failure,
dangerous relocation: j: cannot encode.
It changes the restart wrapper to use a relaxed jump and adds an EPC1 address
check. The failure is a framework linker/runtime-support issue, not an ArduinoHA
or application-source error.
ArduinoHA's root pio test -e esp8266 environment and every guided ESP8266
PlatformIO example now use this same snapshot. There is no root-test exception
that can hide a linker regression from the example test harness.
Keep this exact framework snapshot in ESP8266 environments that need the maintained test harness. It is unrelated to ESP32, whose pioarduino platform selects its framework and compiler as a unit. Do not replace the SHA with a version range: remove or advance the pin only after an upstream release includes the fix and the affected large firmware has compiled successfully. In particular, changing the ESP32 validation lane does not justify changing this ESP8266 pin.
The corresponding ESP32 Core 3.3.11 pin is documented in DeviceFramework's toolchain guide.
Back to the documentation map.