When you write
framework = stm32cube
Then, PlatformIO will already download and include the STM32HAL and compile it automatically into the project.
It seems that you have also copied src/Drivers
into your project, which is again the HAL. Therefore, the HAL will be in there twice, leading to double definitions.
Either:
- Delete
src/Drivers
Or
- Delete
framework = stm32cube
. (This will require you to also include the startup.S
file and setting the linker script usingboard_build.ldscript = STM32F103C8_FLASH.ld
(or similiar), so it’s more compilcated)