Configuration.h
and Configuration_adv.h
, the ones correct for your printer or released on GitHub - MarlinFirmware/Configurations: Configurations for Marlin Firmware. I’ll assume you took this which is specifically tagged for 2.0.5.3 release (but different from the general bugfix-2.x branch).
PlatformIO commit Update framework-arduino package to v1.9.0 · platformio/platform-ststm32@ae1f450 · GitHub broke the Marlin build by changing the core type to stm32
instead of the previous maple
core. This Marlin environment needs however Maple and not the STM32Duino Arduino core. This is a breaking change introduced by the latest release.
Marlin just specifies platform = ststm32
, aka the newest platform version, so that happened.
To fix it, either specify an older version of the platform by using
platform = ststm32@6.1.1
or keep the newest platform and add board_build.core = maple
in the environment, e.g.
[env:STM32F103RC_btt_512K]
platform = ststm32
board = genericSTM32F103RC
board_build.core = maple
..
I also had to apply a library fix described in [BUG] Adafruit_MAX31865 @ 1.2.0 on stm32 is not compatible with marlin · Issue #18081 · MarlinFirmware/Marlin · GitHub
Compilation then works for me (Marlin at 2.0.5.3, configs from Configurations-2.0.5.3.zip\Configurations-2.0.5.3\config\examples\BigTreeTech\SKR Mini E3 1.2\
, maple core fix and library version fix).
Building .pio\build\STM32F103RC_btt_512K\firmware.bin
Advanced Memory Usage is available via "PlatformIO Home > Project Inspect"
RAM: [==== ] 43.8% (used 21512 bytes from 49152 bytes)
Flash: [==== ] 42.4% (used 222420 bytes from 524288 bytes)
====== [SUCCESS] Took 65.91 seconds ========
CC @valeros, breaking change for Marlin users, maybe this is interesting.