I’m a little bit confused on what are the differences between the 4 boards in my topic subject…
In older versions of PlatformIO core, I remember that the boards definition named “Blue Pill xxxxxx”, did use, by default,the Maple core; now (PlatformIO core 4.3.1), instead, it seems they use the stm core, while the ones named genericSTM32F103xx now use of the Maple core…Am I wrong?
Intuitively, would not have been better for the naming to be the exact opposite? I mean, when “Blue Pill” name was born, only Maple core was available… moreover associating an OFFICIAL part number naming (genericSTM32F103Cx) to the OFFICIAL arduino core
Arduino_Core_STM32 , by Frederic Pillon,
would have been, in my humble opinion, more intuitive and natural…
Moreover, the name Blue Pill F103C8 (128K) is “technically” wrong, because STMicroelectronics does not produce an mcu having such characteristics: the correct part number for this mcu family, having 128K of flash memory, is STM32F103CB, not STM32F103C8 !
Beyond the comments on the nomenclature, it seems something is wrong with the board definition named “genericSTM32F103CB”: using that board definition and then setting in the platformio.ini the following options
board_build.core = stm
upload_protocol = dfu
allows a correct program upload on an STM32F103CB having the maple bootloader loaded on it but leads to a strange problem: such a programmed board works ONLY until you reset it! Resetting the board, in fact, it comes back again in dfu mode, losing the program previously loaded! This does not happen using the other 3 boards definition, genericSTM32F103C8, Blue Pill F103C8, Blue Pill F103C8(128K), and using the same identical aforementioned options in the platformio.ini file.