Nucleo_f411re doesn't support any framework?

Hello PlatformIO Community!

I’m not a complete noob, did some development for ATmegas in Code::Blocks, so I think I do know the basics.
Because the ATmegas started to show their age and ran out of the power required for my project (interrupts got starved), I’m now trying to get started with a Nucleo F411RE using PlatformIO. So far I love everything I’ve seen, but
Obviously my first step is to get the blink example working, but PlatformIO keeps telling me that my board doesn’t support the framework I’m trying.
Maybe I’m just missing something obvious, but I just cant’ figure it out.
Could anybody please help me, I just don’t want to leave before even getting something to blink! :wink:

To give you some context, this is what I’ve done so far:

  • Installed PlatformIO IDE (obviously).
  • Installed the udev rules (this is on ubuntu 16.04).
  • Verified with dmesg -w that the nucleo is recognized when plugged in. There are no errors or signs of unknown device signatures, mass storage and serial device do show up.
  • Upgraded the firmware of my nucleo’s stlink with the current version just downloaded today.
  • Opened the project example stm32-cmsis-blink, shaking with excitement.
  • Modified platformio.ini:

[env:nucleo_f411re]
platform = ststm32
framework = cmsis
board = nucleo_f411re
upload_protocol = stlink

  • Adding or removing “upload_protocol = stlink” made no difference, btw.
  • Typed “platformio run -v” and… got disappointed:

me@mybox:/tmp/stm32-cmsis-blink-117116-3444-nfnaj7.wqy1p58kt9$ platformio run -v
Processing nucleo_f411re (upload_protocol: stlink, platform: ststm32, board: nucleo_f411re, framework: cmsis)
Error: This board doesn’t support cmsis framework!
[ERROR] Took 0.28 seconds

  • The same happened for stm32-spl-blink and stm32-libopencm3-blink, although as far as I can tell all three of them should work.
  • Searched the community and tried some messing around with the json-definition for that board, but to no avail. As I didn’t really understand what I was doing, I reverted all the changes for fear of messing up even more.

Thanks in advance for any pointers to what I should do.

This board supports only ARM mbed framework. See Embedded Board Explorer.

The boards that support CMSIS.

I already knew this list, but that’s actually what platformio supports, not so much what the boards or frameworks support. I’m pretty sure the board and cmsis could work fine, if platformio would let me use them together.
I do know for sure that this board works with libopencm3, although platformio says otherwise! I actually set up a toolchain the oldfashioned way and got the blink example of libopencm3 to run with it.

Anyway, I think I’ll just go with a custom gcc-based toolchain, openocd and Code::Blocks. That way I know what’s going on behind the scenes and will learn a lot more. The user interface surely won’t be as nice and polished as with platformio, but it’s going to work at least…

So, Good Bye PlatformIO and Good Luck!

@ivankravets I thought that CMSIS was a completely vendor independent standard produced by ARM. So shouldn’t it work for all ARM-based micros that platformIO supports?

They have different CMSIS for different MCUs family. See STM32 Standard Peripheral Libraries - STMicroelectronics

Need to add support for other boards.

@kjuh please file a feature request here Issues · platformio/platform-ststm32 · GitHub