I want to use Mbed with STM32F103CB. I have followed every instruction I found on the internet. If I use
stm32f103c8 as my board in platformio.ini, then I will get this error, no matter how much I config every file:
.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld.exe: .pio/build/bare_metal_release/firmware.elf section '.text' will not fit in 'FLASH' .platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld.exe: region 'FLASH' overflowed by 7852 bytes
If I set my board to
stm32f103cb, then it’s not supported by Mbed, and no matter how much I config files, I still get this error of
board not supported,
cannot find config or
cannot find info unless I change the
variants_remap.json file to
BLUEPILL_F103C8, which causes the first error mentioned above. I’m stuck and tired. Any would be much appreciated!
Just dynamically change the maximum upload size in the
platformio.ini and fixup the linker template.
If I create a project with the
platform = ststm32
board = genericSTM32F103C8
framework = mbed
; set 128K flash
board_upload.maximum_size = 131072
mbed_app.json from platform-ststm32/examples/mbed-rtos-blink-baremetal at develop · platformio/platform-ststm32 · GitHub, then modify in
64K value to
128K, it all works nicely.
Checking size .pio\build\genericSTM32F103C8\firmware.elf
Advanced Memory Usage is available via "PlatformIO Home > Project Inspect"
RAM: [== ] 16.2% (used 3312 bytes from 20480 bytes)
Flash: [==== ] 36.7% (used 48064 bytes from 131072 bytes)
==========[SUCCESS] Took 11.18 seconds ==========
The root of the problem is that mbed-os in the used version only has
TARGET_BLUEPILL_F103C8, not the
CB version, but the linker script change above basically creates that.
Thanks! You saved me!
I had done this before, but I have edited the wrong
ld file (I have edited the one in the