System Workshop for STM32 or ac6wb or SW4STM32 is an Eclipse based, free IDE supported by ST. I started using this a while ago and the great thing about this is that CubeMX generate start-up code, project and everything for this. It makes it ideal for doing initial testing and to get off ground fast.
One word about CubeMX is that you can download different versions of their library and some simply do not contain all files as Project are generated. So the projects don’t compile. You just have to find a version that works for you. Except for that it is great.
As for SW4STM32 the best I can say is that it works – it is ok. A decent editor, debugger is decent and it’s a all-in-one that allow you to write code, compile, debug, download it etc. It is all you need and it’s free and supported from CubeMX and ST.
Sometimes as I download SW4STM32 lock up and I basically have to stop it and start again. It is annoying, but I can live with that. Using SW4STM32 is an option and as CubeMX integrate middleware including FreeRTOS you really get off ground with your projects fast with a standard CMSIS based project.
Another annoying issue is that messages as you can’t connect to SWD can be confusing. I can often have a it of connection issues before I get started, while CoIDE always was straight up. But, this is mostly me being more used to CoIDE than SW4STM32.
As an embedded C/C++ developer I usually have 1 comment – where is the C++ support? SW4STM32 have a button that change your project to C++. And this is GCC toolchain, so it will support C++, but CubeMX generate C so you need to convert that manually. I have not bothered digging into that because my usage have been electronics testing so far.
The example above is for MC3X60 running the motor Trapzoidal. What I did was to grab a FreeRTOS task and just run in a loop with a delay between the steps. Took me around 5 minutes to have the motor running.
The main limitation in SW4STM32 is STM32 – it only support STM32 out of the Box.
The project organization is a bit dictated from CubeMX. I live with that for now, but I would recommend that you organize your own projects and even support multiple IDE’s or build tools. Don’t let an IDE rule your life.