1.3 KiB
ESP8266 Postmortem linker workaround
The ESP8266 Arduino framework pin used by the DeviceFramework, WiFiManager, and DFTE test projects 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.
Keep this exact framework snapshot in ESP8266 environments that need the maintained test contract. 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.
The corresponding ESP32 Core 3 pin and shared PlatformIO-cache recovery steps are documented in DeviceFramework's toolchain guide.
Back to the documentation map.