Fighting with computers

Computers are not always friendly.

Wednesday, April 05, 2017

STM32 or the pain I have been avoiding for quite a while

If you follow the blog you know I use Arduino IDE for quite a while and I am quite fond of the eco-
system as it usually makes things simple. With some effort, same environment works for other beefier processors like ESP8266 or even STM32.

But what usually kept me away from the various ARM offerings, with the exception of mbed on-line compiler for Nucleo boards has been the commitment level manufacturers seem to ask from engineers before they can start to think using their wonderful hardware. So far my point has been that life is to short to go through so many manuals and datasheets.

Recently, an American maker told me he was about to build a piece of hardware using a STM23F103C8T6 core to mimic my dcservo project I built around Arduino and other processors (even around a Maple Mini with a similar STM32 processor in fact). He would welcome any help on the software side of things so I had to have a look at how I could help and ventured into the wild west of development tools for these parts.

So far I have had only moderate success of loading some sample code onto a $3 board using an ST-Link USB dongle with ChibiOS's ChibiStudio IDE, but unfortunately the OpenOCD binary bundled did not work with my Windows7-32bit OS.

Yes, one of the reasons I was not keen of venturing into this world was because many of the tools are Windows-only, though many IDEs are Eclipse-based and therefore multiplatform by nature. Not so much the different debugging tools. But again, I have just stated to scratch the surface and I am trying, so far, to test only freely available tools, even if they are for Windows.

While I could compile code with ChibiStudio, I learned that CooCox IDE use a code-upload tool called CoFlash that worked for my setup and allowed me to upload code that actually worked. It was refreshing to the the USB_CDC demo working finally.

While I thought CooCox IDE was complete development solution I soon found out it was missing the compiler. I later downloaded GNU ARM compiler and I was able to build and upload (all from the IDE) a version of GRBL for STM32.  It still feels a bit of black magic and it is quite clear how many of these annoyances can prevent many users into this families of processors. Apparently you have to go the Teensy way if you are looking for a user-friendly way into the ARM world or just stay into the Arduino territory but in both cases you are a bit more limitted to the choices (and prices) of the processors available.

Now that I have a couple of IDEs working in Windows I will try to move my way to Linux to see if the same work can be done in a plaftorm of my choice. I am sure there are plenty of choices but I do not know how long it would take to test them all so any recommendation for STM32 development away from Windows is more than welcome.


Post a Comment

<< Home