After spending some time dealing with PlatformIO, I really would like to get more acquaintance with it. It’s indeed a tool to stick with, if you’re into embedded development.
I have a little experience with old age 8-bit MCUs, but haven’t been into real development of any kind for quite some time now.
So, after I worked my way in using Arduino for a project, I decided I should give all those ARMs a try. I have a STM32F0308-DISCO development board which I’ll use to aid development in another project.
Incredibly enough I was able to compile a blinking led example for this board with PlatformIO (letting it choose everything for me).
But now I’m face with an odd situation: it seems the only framework available for my board is mbed, which is a C++ project. I don’t have any knowledge in C++, and even the blink led example was a bit scary to me.
Trying to ‘retarget’ it to C, I realized PlatformIO does what it promises really well: I’m totally abstracted to the assembly initialization code for my processor, to the MCU configuration, and many other aspects that I was expecting to deal with when trying to compile my “own” code.
How do I deal with all that while still using PlatformIO? How do I debug code (if that’s possible)? How do I set it up for my ‘own board’, while using the manufacturer’s development board as tool in early stages of development?
I’m sorry if all my questions are too obvious our don’t make much sense, but making the switch from oldschool proprietary IDEs to an open source abstracted all-in-one IDE is a bit hard, and the learning curve is already steep with all the other tools of the ‘ecosystem needed’ to get it running.
You don’t need to sorry, this is our aim to create unique embedded ecosystem that should be easy for using or switching to it. So, we would be thankful for the feedback and propositions/recommendation how to improve it.
Thanks for your kind answer regarding to this. I realized my board is not quite disco_f051r8, it is actually a STM32F0308-DISCOVERY, which I believe should translate to disco_f030r8 in PlatformIO ‘lingo’, since it uses a STM32F030R8T6 microcontroller.
I was browsing PlatformIO repositorie to look for the JSON files describing the ‘builtin’ boards, after reading @ivankravets post on how to add your own board, and I believe it is quite straightforward to add those files for the boards I own.
I wonder how would I go about contributing these little two cents with you guys.