Fighting with computers

Computers are not always friendly.

Wednesday, April 12, 2017

More on STM32

After testing different choices, I have come to test a package called Platformio that runs over Atom editor. Atom is a multiplatform code editor that looks a bit like Sublime but it is open source and they claim highly hackable.

The nice thing about PlatformIO is that it looks like a nice IDE that can handle a good portion of embedded processors from Arduino variants, to ESP8266 and ESP-32 to many ARM variants from NXP, ST, Atmel, etc.

For the f103c8t6 board I am using I can use the config details above in platformio.ini file in the project folder and it all works nicely on one of my Macs, the one using El Capitan. Unfortunately, my laptop is still running Mavericks and for that it seems there is not a libusb available that plays nicely with ST-Link programmer/debugger dongle.

Now I am going to target my dcservo code for this Cortex M3 processor.

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.