Thanks @maxgerhardt for the info/help. I tried the PlatformIO instance that you shared, and it worked perfectly out of the box.
Only issue is that the Arduino framework ends up consuming basically half of the FLASH just to blink the LEDs and say “hello world.” By the time I’d ported my application code to the project, I was at 91% FLASH utilization–which isn’t going to work, especially if utilizing the “EEPROM” functionality!
Switching to the “stm32cube” framework to get rid of all of the clutter obviously needed a bit of work. However, when checking forks of the https://github.com/STMicroelectronics/STM32CubeC0 repository, I found that someone had made the necessary fixes to not one but both repositories for compilation with “stm32cube”.
Yesterday, too ![]()
The following “platformio.ini” compiles an empty “main.c” without any warnings/errors or issues. A check of the output binary appears to show the vector table where it should be.
[env]
platform = ststm32@19.4.0
framework = stm32cube
extra_scripts = surpress_register_warnings.py
; PlatformIO's OpenOCD package is too outdated to support STM32C0x series
; Downloaded Windows version from https://github.com/xpack-dev-tools/openocd-xpack/releases
; Put package.json inside it, and reference it
platform_packages =
tool-openocd@symlink://packages/xpack-openocd-0.12.0-3-win32-x64
tool-ldscripts-ststm32@https://github.com/zuyih/tool-ldscripts-ststm32
framework-stm32cubec0@https://github.com/zuyih/STM32CubeC0
[env:genericSTM32C011F6]
board = genericSTM32C011F6
[env:genericSTM32C011J6]
board = genericSTM32C011J6
Oh, and only 0.8% FLASH utilization.
Enjoy!