Writing peripheral initialization code is probably the most tedious work in embedded development. It always successfully stops me from starting a new project. I believe engineers at STMicroelectronics share the same pain. Therefore they created STM32Cube firmware and STM32CubeMX graphical configuration tool, which turns numerous key strokes and page flips into just a few mouse clicks. STM32CubeMX is free software, but the initialization code it generates require compiler tools carrying hefty price tags, IARARM, Keil ARM-MDK, and Atollic TrueSTUDIO, to name the few. Fair enough these compilers do offer free editions with limited functionality. But I still prefer unrestricted, free tool that is easily scale-able for my current and future projects. Just like the GNU Make and ARM GCC toolchain I described in Opensource STM32 development.

This entry was posted
on Monday, February 23rd, 2015 at 2:00 pm and is filed under software.
You can follow any responses to this entry through the RSS 2.0 feed.
You can skip to the end and leave a response. Pinging is currently not allowed.

3 Responses to “STM32CubeMX GCC Makefile project”

“Writing peripheral initialization code is probably the most tedious work in embedded development. It always successfully stops me from starting a new project”: Amen, brother! I’ve been switching between IDEs and microcontrollers, trying to find one that bootstraps a project well. I looked at CooCox and Rowley (not free, but only $150) and they are possibilities for ARM chips. Currently, I use Microchip PIC16s and PIC32s: the IDE is free and there are Code Configurators that get a project up and running.

I’ve just started playing with Cypress PSoCs, and their free IDE seems to do a great job of configuring peripherals for you. My main concern about PSoC is there are very few DIP/SOIC/large pitch QFP packages (i.e. packages I can solder by hand) for their ARM products.

The big problem with the PSOC is that you are completely bound to their toolchain. Although to some extent you can integrate with other toolchains under Windows, you are pretty much screwed if you want to develop under Linux or OSX.

The PSoC chips are qualitatively different from all the other microcontrollers on the market. When I worked for a company that developed Windows software, I used the Windows system they gave me. When I worked for a company that developed for the Web, I used the Linux system they gave me. I’m a mercenary – I don’t care whose side I’m fighting on.

If (and I realize it’s a big ‘if’) PSoC’s technology is important to you, use Windows. It’s not that bad – it can just be a virtual machine on your Linux system.

Having said that, I’m not yet convinced that I will switch to PSoC – mainly because very few of their chips are in hobbyist-friendly packages. Microchip is definitely the leader in that regard.