mirror of
https://github.com/alexhopeoconnor/arduino-home-assistant.git
synced 2026-10-04 02:48:13 +10:00
33 lines
1.6 KiB
Markdown
33 lines
1.6 KiB
Markdown
# ESP8266 Postmortem linker workaround
|
|
|
|
The ESP8266 Arduino framework pin used by the DeviceFramework, WiFiManager,
|
|
DFTE, and ArduinoHA maintained builds is intentional:
|
|
|
|
```ini
|
|
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`](https://github.com/esp8266/Arduino/commit/521ae60a89e64bb0d1eb7a0b7addf620ced5cad3).
|
|
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](https://github.com/alexhopeoconnor/DeviceFramework/blob/main/docs/TOOLCHAINS.md).
|
|
|
|
Back to the [documentation map](README.md).
|