Error compiling Marlin 2.0.7.x for SKR Pro (STM32)

Hi there,

since days, i try to compile a firmware for the BigTreeTech SKR Pro 1.3 Board.
I tried both stock versions of Marlin (relase and bugfix, both 2.x) with the same result.
The only changes in Marlin are:

platformio.ini:
default_envs = BIGTREE_SKR_PRO

configuration.h:
#define SERIAL_PORT -1
#define SERIAL_PORT_2 4
#define BAUDRATE 115200
define MOTHERBOARD BOARD_BTT_SKR_PRO_V1_2

I already deleted .cache in .platformio folder; checked several versions of ST STM32 platform (8.0.0, 11.0.0), ending up with these errors:

> Executing task in folder Marlin2072_P: C:\Users\xxx\.platformio\penv\Scripts\pio.exe run <

Processing BIGTREE_SKR_PRO (platform: ststm32@~11.0.0; board: BigTree_SKR_Pro; framework: arduino)
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/ststm32/BigTree_SKR_Pro.html
PLATFORM: ST STM32 (11.0.0) > STM32F407ZG (192k RAM. 1024k Flash)
HARDWARE: STM32F407ZGT6 168MHz, 192KB RAM, 1MB Flash
DEBUG: Current (stlink) External (jlink, stlink)
PACKAGES:
 - framework-arduinoststm32 4.10900.200819 (1.9.0)
 - framework-cmsis 2.50501.200527 (5.5.1)
 - toolchain-gccarmnoneeabi 1.90201.191206 (9.2.1)
Converting Marlin.ino
LDF: Library Dependency Finder -> http://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 31 compatible libraries
Scanning dependencies...
Dependency Graph
|-- <TMCStepper> 0.7.1
|   |-- <EspSoftwareSerial> 6.11.3
|   |-- <SPI> 1.0
|-- <SPI> 1.0
|-- <Servo> 1.1.2
|-- <EspSoftwareSerial> 6.11.3
|-- <IWatchdog> 1.0.0
|-- <Wire> 1.0
|-- <EEPROM> 2.0.1
Building in release mode
Compiling .pio\build\BIGTREE_SKR_PRO\FrameworkArduinoVariant\PeripheralPins.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\FrameworkArduinoVariant\variant.cpp.o
Compiling .pio\build\BIGTREE_SKR_PRO\FrameworkArduino\HardwareSerial.cpp.o
Compiling .pio\build\BIGTREE_SKR_PRO\FrameworkArduino\HardwareTimer.cpp.o
Compiling .pio\build\BIGTREE_SKR_PRO\FrameworkArduino\IPAddress.cpp.o
Compiling .pio\build\BIGTREE_SKR_PRO\FrameworkArduino\Print.cpp.o
Compiling .pio\build\BIGTREE_SKR_PRO\FrameworkArduino\RingBuffer.cpp.o
Compiling .pio\build\BIGTREE_SKR_PRO\FrameworkArduino\Stream.cpp.o
Compiling .pio\build\BIGTREE_SKR_PRO\FrameworkArduino\Tone.cpp.o
Compiling .pio\build\BIGTREE_SKR_PRO\FrameworkArduino\USBSerial.cpp.o
Compiling .pio\build\BIGTREE_SKR_PRO\FrameworkArduino\VirtIOSerial.cpp.o
Compiling .pio\build\BIGTREE_SKR_PRO\FrameworkArduino\WInterrupts.cpp.o
Compiling .pio\build\BIGTREE_SKR_PRO\FrameworkArduino\WMath.cpp.o
Compiling .pio\build\BIGTREE_SKR_PRO\FrameworkArduino\WSerial.cpp.o
Compiling .pio\build\BIGTREE_SKR_PRO\FrameworkArduino\WString.cpp.o
Compiling .pio\build\BIGTREE_SKR_PRO\FrameworkArduino\abi.cpp.o
Compiling .pio\build\BIGTREE_SKR_PRO\FrameworkArduino\avr\dtostrf.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\FrameworkArduino\board.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\FrameworkArduino\hooks.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\FrameworkArduino\itoa.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\FrameworkArduino\main.cpp.o
Compiling .pio\build\BIGTREE_SKR_PRO\FrameworkArduino\new.cpp.o
Compiling .pio\build\BIGTREE_SKR_PRO\FrameworkArduino\pins_arduino.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\FrameworkArduino\stm32\OpenAMP\libmetal\device.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\FrameworkArduino\stm32\OpenAMP\libmetal\generic\condition.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\FrameworkArduino\stm32\OpenAMP\libmetal\generic\cortexm\sys.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\FrameworkArduino\stm32\OpenAMP\libmetal\generic\generic_device.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\FrameworkArduino\stm32\OpenAMP\libmetal\generic\generic_init.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\FrameworkArduino\stm32\OpenAMP\libmetal\generic\generic_io.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\FrameworkArduino\stm32\OpenAMP\libmetal\generic\generic_shmem.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\FrameworkArduino\stm32\OpenAMP\libmetal\generic\time.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\FrameworkArduino\stm32\OpenAMP\libmetal\init.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\FrameworkArduino\stm32\OpenAMP\libmetal\io.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\FrameworkArduino\stm32\OpenAMP\libmetal\log.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\FrameworkArduino\stm32\OpenAMP\libmetal\shmem.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\FrameworkArduino\stm32\OpenAMP\mbox_ipcc.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\FrameworkArduino\stm32\OpenAMP\open-amp\remoteproc\remoteproc_virtio.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\FrameworkArduino\stm32\OpenAMP\open-amp\rpmsg\rpmsg.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\FrameworkArduino\stm32\OpenAMP\open-amp\rpmsg\rpmsg_virtio.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\FrameworkArduino\stm32\OpenAMP\openamp.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\FrameworkArduino\stm32\OpenAMP\rsc_table.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\FrameworkArduino\stm32\OpenAMP\virt_uart.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\FrameworkArduino\stm32\OpenAMP\virtio\virtio.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\FrameworkArduino\stm32\OpenAMP\virtio\virtqueue.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\FrameworkArduino\stm32\OpenAMP\virtio_buffer.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\FrameworkArduino\stm32\OpenAMP\virtio_log.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\FrameworkArduino\stm32\startup_stm32yyxx.S.o
Compiling .pio\build\BIGTREE_SKR_PRO\FrameworkArduino\stm32\usb\cdc\cdc_queue.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\FrameworkArduino\stm32\usb\cdc\usbd_cdc.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\FrameworkArduino\stm32\usb\cdc\usbd_cdc_if.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\FrameworkArduino\stm32\usb\hid\usbd_hid_composite.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\FrameworkArduino\stm32\usb\hid\usbd_hid_composite_if.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\FrameworkArduino\stm32\usb\usb_device_core.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\FrameworkArduino\stm32\usb\usb_device_ctlreq.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\FrameworkArduino\stm32\usb\usb_device_ioreq.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\FrameworkArduino\stm32\usb\usbd_conf.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\FrameworkArduino\stm32\usb\usbd_desc.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\FrameworkArduino\stm32\usb\usbd_ep_conf.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\FrameworkArduino\stm32\usb\usbd_if.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\FrameworkArduino\wiring_analog.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\FrameworkArduino\wiring_digital.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\FrameworkArduino\wiring_pulse.cpp.o
Compiling .pio\build\BIGTREE_SKR_PRO\FrameworkArduino\wiring_shift.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\FrameworkArduino\wiring_time.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\HAL\stm32yyxx_hal.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\HAL\stm32yyxx_hal_adc.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\HAL\stm32yyxx_hal_adc_ex.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\HAL\stm32yyxx_hal_can.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\HAL\stm32yyxx_hal_cec.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\HAL\stm32yyxx_hal_comp.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\HAL\stm32yyxx_hal_comp_ex.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\HAL\stm32yyxx_hal_cordic.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\HAL\stm32yyxx_hal_cortex.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\HAL\stm32yyxx_hal_crc.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\HAL\stm32yyxx_hal_crc_ex.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\HAL\stm32yyxx_hal_cryp.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\HAL\stm32yyxx_hal_cryp_ex.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\HAL\stm32yyxx_hal_dac.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\HAL\stm32yyxx_hal_dac_ex.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\HAL\stm32yyxx_hal_dcmi.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\HAL\stm32yyxx_hal_dcmi_ex.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\HAL\stm32yyxx_hal_dfsdm.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\HAL\stm32yyxx_hal_dfsdm_ex.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\HAL\stm32yyxx_hal_dma.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\HAL\stm32yyxx_hal_dma2d.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\HAL\stm32yyxx_hal_dma_ex.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\HAL\stm32yyxx_hal_dsi.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\HAL\stm32yyxx_hal_dts.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\HAL\stm32yyxx_hal_eth.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\HAL\stm32yyxx_hal_eth_ex.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\HAL\stm32yyxx_hal_exti.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\HAL\stm32yyxx_hal_fdcan.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\HAL\stm32yyxx_hal_firewall.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\HAL\stm32yyxx_hal_flash.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\HAL\stm32yyxx_hal_flash_ex.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\HAL\stm32yyxx_hal_flash_ramfunc.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\HAL\stm32yyxx_hal_fmac.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\HAL\stm32yyxx_hal_fmpi2c.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\HAL\stm32yyxx_hal_fmpi2c_ex.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\HAL\stm32yyxx_hal_gfxmmu.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\HAL\stm32yyxx_hal_gpio.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\HAL\stm32yyxx_hal_gpio_ex.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\HAL\stm32yyxx_hal_hash.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\HAL\stm32yyxx_hal_hash_ex.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\HAL\stm32yyxx_hal_hcd.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\HAL\stm32yyxx_hal_hrtim.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\HAL\stm32yyxx_hal_hsem.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\HAL\stm32yyxx_hal_i2c.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\HAL\stm32yyxx_hal_i2c_ex.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\HAL\stm32yyxx_hal_i2s.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\HAL\stm32yyxx_hal_i2s_ex.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\HAL\stm32yyxx_hal_ipcc.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\HAL\stm32yyxx_hal_irda.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\HAL\stm32yyxx_hal_iwdg.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\HAL\stm32yyxx_hal_jpeg.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\HAL\stm32yyxx_hal_lcd.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\HAL\stm32yyxx_hal_lptim.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\HAL\stm32yyxx_hal_ltdc.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\HAL\stm32yyxx_hal_ltdc_ex.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\HAL\stm32yyxx_hal_mdios.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\HAL\stm32yyxx_hal_mdma.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\HAL\stm32yyxx_hal_mmc.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\HAL\stm32yyxx_hal_mmc_ex.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\HAL\stm32yyxx_hal_nand.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\HAL\stm32yyxx_hal_nor.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\HAL\stm32yyxx_hal_opamp.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\HAL\stm32yyxx_hal_opamp_ex.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\HAL\stm32yyxx_hal_ospi.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\HAL\stm32yyxx_hal_otfdec.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\HAL\stm32yyxx_hal_pccard.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\HAL\stm32yyxx_hal_pcd.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\HAL\stm32yyxx_hal_pcd_ex.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\HAL\stm32yyxx_hal_pka.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\HAL\stm32yyxx_hal_pssi.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\HAL\stm32yyxx_hal_pwr.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\HAL\stm32yyxx_hal_pwr_ex.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\HAL\stm32yyxx_hal_qspi.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\HAL\stm32yyxx_hal_ramecc.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\HAL\stm32yyxx_hal_rcc.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\HAL\stm32yyxx_hal_rcc_ex.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\HAL\stm32yyxx_hal_rng.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\HAL\stm32yyxx_hal_rng_ex.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\HAL\stm32yyxx_hal_rtc.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\HAL\stm32yyxx_hal_rtc_ex.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\HAL\stm32yyxx_hal_sai.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\HAL\stm32yyxx_hal_sai_ex.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\HAL\stm32yyxx_hal_sd.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\HAL\stm32yyxx_hal_sd_ex.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\HAL\stm32yyxx_hal_sdadc.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\HAL\stm32yyxx_hal_sdram.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\HAL\stm32yyxx_hal_smartcard.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\HAL\stm32yyxx_hal_smartcard_ex.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\HAL\stm32yyxx_hal_smbus.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\HAL\stm32yyxx_hal_spdifrx.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\HAL\stm32yyxx_hal_spi.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\HAL\stm32yyxx_hal_spi_ex.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\HAL\stm32yyxx_hal_sram.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\HAL\stm32yyxx_hal_swpmi.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\HAL\stm32yyxx_hal_tim.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\HAL\stm32yyxx_hal_tim_ex.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\HAL\stm32yyxx_hal_tsc.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\HAL\stm32yyxx_hal_uart.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\HAL\stm32yyxx_hal_uart_ex.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\HAL\stm32yyxx_hal_usart.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\HAL\stm32yyxx_hal_usart_ex.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\HAL\stm32yyxx_hal_wwdg.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\LL\stm32yyxx_ll_adc.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\LL\stm32yyxx_ll_bdma.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\LL\stm32yyxx_ll_comp.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\LL\stm32yyxx_ll_cordic.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\LL\stm32yyxx_ll_crc.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\LL\stm32yyxx_ll_crs.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\LL\stm32yyxx_ll_dac.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\LL\stm32yyxx_ll_delayblock.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\LL\stm32yyxx_ll_dma.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\LL\stm32yyxx_ll_dma2d.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\LL\stm32yyxx_ll_exti.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\LL\stm32yyxx_ll_fmac.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\LL\stm32yyxx_ll_fmc.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\LL\stm32yyxx_ll_fsmc.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\LL\stm32yyxx_ll_gpio.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\LL\stm32yyxx_ll_hrtim.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\LL\stm32yyxx_ll_i2c.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\LL\stm32yyxx_ll_lptim.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\LL\stm32yyxx_ll_lpuart.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\LL\stm32yyxx_ll_mdma.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\LL\stm32yyxx_ll_opamp.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\LL\stm32yyxx_ll_pka.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\LL\stm32yyxx_ll_pwr.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\LL\stm32yyxx_ll_rcc.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\LL\stm32yyxx_ll_rng.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\LL\stm32yyxx_ll_rtc.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\LL\stm32yyxx_ll_sdmmc.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\LL\stm32yyxx_ll_spi.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\LL\stm32yyxx_ll_swpmi.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\LL\stm32yyxx_ll_tim.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\LL\stm32yyxx_ll_ucpd.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\LL\stm32yyxx_ll_usart.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\LL\stm32yyxx_ll_usb.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\LL\stm32yyxx_ll_utils.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\stm32\PortNames.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\stm32\analog.cpp.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\stm32\bootloader.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\stm32\clock.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\stm32\core_callback.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\stm32\dwt.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\stm32\hw_config.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\stm32\interrupt.cpp.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\stm32\lock_resource.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\stm32\low_power.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\stm32\pinmap.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\stm32\rtc.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\stm32\stm32_def.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\stm32\stm32_eeprom.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\stm32\system_stm32yyxx.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\stm32\timer.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\stm32\uart.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\SrcWrapper\src\syscalls.c.o
Compiling .pio\build\BIGTREE_SKR_PRO\src\src\HAL\STM32\HAL.cpp.o
Compiling .pio\build\BIGTREE_SKR_PRO\src\src\HAL\STM32\HAL_SPI.cpp.o
Compiling .pio\build\BIGTREE_SKR_PRO\src\src\HAL\STM32\MarlinSPI.cpp.o
Compiling .pio\build\BIGTREE_SKR_PRO\src\src\HAL\STM32\MarlinSerial.cpp.o
Compiling .pio\build\BIGTREE_SKR_PRO\src\src\HAL\STM32\Sd2Card_sdio_stm32duino.cpp.o
Compiling .pio\build\BIGTREE_SKR_PRO\src\src\HAL\STM32\Servo.cpp.o
Compiling .pio\build\BIGTREE_SKR_PRO\src\src\HAL\STM32\eeprom_flash.cpp.o
Compiling .pio\build\BIGTREE_SKR_PRO\src\src\HAL\STM32\eeprom_sdcard.cpp.o
Compiling .pio\build\BIGTREE_SKR_PRO\src\src\HAL\STM32\eeprom_sram.cpp.o
Compiling .pio\build\BIGTREE_SKR_PRO\src\src\HAL\STM32\eeprom_wired.cpp.o
Compiling .pio\build\BIGTREE_SKR_PRO\src\src\HAL\STM32\fast_pwm.cpp.o
Compiling .pio\build\BIGTREE_SKR_PRO\src\src\HAL\STM32\fastio.cpp.o
Compiling .pio\build\BIGTREE_SKR_PRO\src\src\HAL\STM32\tft\tft_fsmc.cpp.o
Compiling .pio\build\BIGTREE_SKR_PRO\src\src\HAL\STM32\tft\tft_spi.cpp.o
Compiling .pio\build\BIGTREE_SKR_PRO\src\src\HAL\STM32\tft\xpt2046.cpp.o
Compiling .pio\build\BIGTREE_SKR_PRO\src\src\HAL\STM32\timers.cpp.o
Compiling .pio\build\BIGTREE_SKR_PRO\src\src\HAL\STM32\usb_host.cpp.o
In file included from c:\users\xxx\.platformio\packages\toolchain-gccarmnoneeabi\arm-none-eabi\include\c++\9.2.1\tuple:39,
                 from c:\users\xxx\.platformio\packages\toolchain-gccarmnoneeabi\arm-none-eabi\include\c++\9.2.1\functional:54,
                 from C:\users\xxx\.platformio\packages\framework-arduinoststm32\cores\arduino/WInterrupts.h:25,
                 from C:\users\xxx\.platformio\packages\framework-arduinoststm32\cores\arduino/wiring.h:39,
                 from C:\users\xxx\.platformio\packages\framework-arduinoststm32\cores\arduino/Arduino.h:36,
                 from Marlin\src\HAL\STM32\../../inc/../HAL/./STM32/../shared/Marduino.h:36,
                 from Marlin\src\HAL\STM32\../../inc/../HAL/./STM32/HAL.h:28,
                 from Marlin\src\HAL\STM32\../../inc/../HAL/HAL.h:30,
                 from Marlin\src\HAL\STM32\../../inc/MarlinConfig.h:31,
                 from Marlin\src\HAL\STM32\timers.cpp:24:
c:\users\xxx\.platformio\packages\toolchain-gccarmnoneeabi\arm-none-eabi\include\c++\9.2.1\array:93:38: error: template parameter 'unsigned int _Nm'
   93 |   template<typename _Tp, std::size_t _Nm>
      |                                      ^~~
In file included from C:\users\xxx\.platformio\lib\EspSoftwareSerial\src/circular_queue/circular_queue.h:34,
                 from C:\users\xxx\.platformio\lib\EspSoftwareSerial\src/SoftwareSerial.h:27,
                 from Marlin\src\HAL\STM32\timers.cpp:46:
C:\users\xxx\.platformio\lib\EspSoftwareSerial\src/circular_queue/ghostl.h:53:50: error: redeclared here as 'long int N'
   53 |     template< typename T, size_t long N > struct array
      |                                                  ^~~~~
C:\users\xxx\.platformio\lib\EspSoftwareSerial\src/circular_queue/ghostl.h:79:34: error: conflicting declaration of template 'template<class T> using function = T*'
   79 |     template< typename T > using function = T*;
      |                                  ^~~~~~~~
In file included from c:\users\xxx\.platformio\packages\toolchain-gccarmnoneeabi\arm-none-eabi\include\c++\9.2.1\functional:59,
                 from C:\users\xxx\.platformio\packages\framework-arduinoststm32\cores\arduino/WInterrupts.h:25,
                 from C:\users\xxx\.platformio\packages\framework-arduinoststm32\cores\arduino/wiring.h:39,
                 from C:\users\xxx\.platformio\packages\framework-arduinoststm32\cores\arduino/Arduino.h:36,
                 from Marlin\src\HAL\STM32\../../inc/../HAL/./STM32/../shared/Marduino.h:36,
                 from Marlin\src\HAL\STM32\../../inc/../HAL/./STM32/HAL.h:28,
                 from Marlin\src\HAL\STM32\../../inc/../HAL/HAL.h:30,
                 from Marlin\src\HAL\STM32\../../inc/MarlinConfig.h:31,
                 from Marlin\src\HAL\STM32\timers.cpp:24:
c:\users\xxx\.platformio\packages\toolchain-gccarmnoneeabi\arm-none-eabi\include\c++\9.2.1\bits\std_function.h:128:11: note: previous declaration 'template<class _Signature> class std::function'
  128 |     class function;
      |           ^~~~~~~~
In file included from C:\users\xxx\.platformio\lib\EspSoftwareSerial\src/SoftwareSerial.h:27,
                 from Marlin\src\HAL\STM32\timers.cpp:46:
C:\users\xxx\.platformio\lib\EspSoftwareSerial\src/circular_queue/circular_queue.h:211:19: error: 'Delegate' has not been declared
  211 |     void for_each(Delegate<void(T&&), ForEachArg> fun);
      |                   ^~~~~~~~
C:\users\xxx\.platformio\lib\EspSoftwareSerial\src/circular_queue/circular_queue.h:211:27: error: expected ',' or '...' before '<' token
  211 |     void for_each(Delegate<void(T&&), ForEachArg> fun);
      |                           ^
compilation terminated due to -fmax-errors=5.
*** [.pio\build\BIGTREE_SKR_PRO\src\src\HAL\STM32\timers.cpp.o] Error 1

Any help would be appreciated!

Regards,

This is also a dead giveaway that something is wrong. EspSoftwareSerial for an STM32 project?

Remove this global library from your system by removing the C:\users\xxx\.platformio\lib\EspSoftwareSerial\ folder. Since you’ve decided to install EspSoftwareSerial as a global library, it is included in every build, and is redefining some critical data classes here with a templated struct array thing → Marlin compilation is bonked.

Always prefer to use local per-project library management with lib_deps in your projects.

Huh, that was pretty easy. Didn’t notice that ESPSoftwareSerial was globally installed; seems to be a relict from other projects.
The above mentioned errors are not appearing anymore; but there’s now another error; I guess due to some misconfiguration:

Processing BIGTREE_SKR_PRO (platform: ststm32@~11.0.0; board: BigTree_SKR_Pro; framework: arduino)
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/ststm32/BigTree_SKR_Pro.html
PLATFORM: ST STM32 (11.0.0) > STM32F407ZG (192k RAM. 1024k Flash)
HARDWARE: STM32F407ZGT6 168MHz, 192KB RAM, 1MB Flash
DEBUG: Current (stlink) External (jlink, stlink)
PACKAGES:
 - framework-arduinoststm32 4.10900.200819 (1.9.0)
 - framework-cmsis 2.50501.200527 (5.5.1)
 - toolchain-gccarmnoneeabi 1.90201.191206 (9.2.1)
Converting Marlin.ino
LDF: Library Dependency Finder -> http://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 12 compatible libraries
Scanning dependencies...
Dependency Graph
|-- <TMCStepper> 0.7.1
|   |-- <SoftwareSerial> 1.0
|   |-- <SPI> 1.0
|-- <SPI> 1.0
|-- <Servo> 1.1.2
|-- <SoftwareSerial> 1.0
|-- <IWatchdog> 1.0.0
|-- <Wire> 1.0
|-- <EEPROM> 2.0.1
Building in release mode
.....

Linking .pio\build\BIGTREE_SKR_PRO\firmware.elf
c:/users/xxx/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld.exe: .pio/build/BIGTREE_SKR_PRO/src/src/lcd/ultralcd.cpp.o: in function `MarlinUI::set_status(char const*, bool)':
S:\platformIO\Projects\Marlin2072_P/Marlin\src\lcd/ultralcd.cpp:1584: multiple definition of `MarlinUI::set_status(char const*, bool)'; .pio/build/BIGTREE_SKR_PRO/src/src/lcd/marlinui.cpp.o:S:\platformIO\Projects\Marlin2072_P/Marlin\src\lcd/marlinui.cpp:1589: first defined here
c:/users/xxx/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld.exe: .pio/build/BIGTREE_SKR_PRO/src/src/lcd/ultralcd.cpp.o: in function `MarlinUI::set_status_P(char const*, signed char)':
S:\platformIO\Projects\Marlin2072_P/Marlin\src\lcd/ultralcd.cpp:1587: multiple definition of `MarlinUI::set_status_P(char const*, signed char)'; .pio/build/BIGTREE_SKR_PRO/src/src/lcd/marlinui.cpp.o:S:\platformIO\Projects\Marlin2072_P/Marlin\src\lcd/marlinui.cpp:1592: first defined here
c:/users/xxx/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld.exe: .pio/build/BIGTREE_SKR_PRO/src/src/lcd/ultralcd.cpp.o: in function `MarlinUI::status_printf_P(unsigned char, char const*, ...)':
S:\platformIO\Projects\Marlin2072_P/Marlin\src\lcd/ultralcd.cpp:1588: multiple definition of `MarlinUI::status_printf_P(unsigned char, char const*, ...)'; .pio/build/BIGTREE_SKR_PRO/src/src/lcd/marlinui.cpp.o:S:\platformIO\Projects\Marlin2072_P/Marlin\src\lcd/marlinui.cpp:1593: first defined here
c:/users/xxx/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld.exe: .pio/build/BIGTREE_SKR_PRO/src/src/lcd/ultralcd.cpp.o:(.bss.ui+0x0): multiple definition 
of `ui'; .pio/build/BIGTREE_SKR_PRO/src/src/lcd/marlinui.cpp.o:(.bss.ui+0x0): first defined here
collect2.exe: error: ld returned 1 exit status
*** [.pio\build\BIGTREE_SKR_PRO\firmware.elf] Error 1

Didn’t havs this error from collect2 before; deleting .platformio folder wasn’t succesful.
I assume, this has to do with the SPI.h library included twice at the beginning?
Any hints for this?

Both of these files want to implement the same functions MarlinUI::set_status_P, MarlinUI::set_status, MarlinUI::status_printf_P and the ui global variable.

This seems like a Marlin configuration issue, with that ultralcd and marlinui module turned on simultaneously and conflicting with each other.

From where did you download Marlin and how did you configure it additionally (Configuration.h files etc.)? Did you activate those modules yourself or change some configs?

Otherwise as a general countermeasure you should do a project tasks → Clean and then Build again.

This is what I also assumed - now I know. Linking fails because collect2 does not know which one to choose.
I downloaded directly from marlinfw.org, Version 020008.
There were no changes made in configuration.h or configuration_adv.h except the above mentioned. I’m currently checking the whole file for any LCD options to deactivate them. I don’t have a LCD attached…
I do a clean every time before starting a new buld - just to be sure

Works for me

Applied all modifications as you have done above and get a SUCCESS.

When I go to that website I don’t see “Version 020008”, the current one is 2.0.7.2

I left the default 8.0.0. and it works nicely

Processing BIGTREE_SKR_PRO (platform: ststm32@~8.0; board: BigTree_SKR_Pro; framework: arduino)
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/ststm32/BigTree_SKR_Pro.html
PLATFORM: ST STM32 (8.0.0) > STM32F407ZG (192k RAM. 1024k Flash)
HARDWARE: STM32F407ZGT6 168MHz, 192KB RAM, 1MB Flash
DEBUG: Current (stlink) External (jlink, stlink)
PACKAGES:
 - framework-arduinoststm32 4.10900.200819 (1.9.0)
 - framework-cmsis 2.50501.200527 (5.5.1)
 - toolchain-gccarmnoneeabi 1.90201.191206 (9.2.1)
Converting Marlin.ino
LDF: Library Dependency Finder -> http://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 13 compatible libraries
Scanning dependencies...
Dependency Graph
|-- <SPI> 1.0
|-- <Servo> 1.1.2
|-- <SoftwareSerial> 1.0
|-- <IWatchdog> 1.0.0
|-- <Wire> 1.0
|-- <EEPROM> 2.0.1
Building in release mode
Compiling .pio\build\BIGTREE_SKR_PRO\src\src\HAL\STM32\HAL.cpp.o
..
Building .pio\build\BIGTREE_SKR_PRO\firmware.bin
Advanced Memory Usage is available via "PlatformIO Home > Project Inspect"
RAM:   [          ]   3.9% (used 7740 bytes from 196608 bytes)
Flash: [=         ]   8.5% (used 89052 bytes from 1048576 bytes)
================================================================================================== [SUCCESS] Took 24.07 seconds ==================================================================================================
Environment      Status    Duration
---------------  --------  ------------
BIGTREE_SKR_PRO  SUCCESS   00:00:24.069
==================================================================================================

I have the same problem when compiling Marlin for SKR_PRO v1.2 with TMC2209. Do you mean changing the platform to the default 8.0.0 (ST STM32(8.0.0)) solved the compilation issue? How do you modify the code in the platformio.ini to select this default version? Thanks.

Which version of Marlin are you using exactly? This thread is half a year old and should be considered outdated, latest release is Marlin 2.0.9.1.