[sdiy] Microcontrollers for eurorack use... What to use?

Eric Brombaugh ebrombaugh1 at cox.net
Sun Jan 4 18:20:14 CET 2015

Like Olivier I prefer to use a simple editor/gcc/make/gdb flow running 
in Linux for my ARM embedded development, but for those who want a 
tightly integrated IDE with syntax highlighting, source debugging and 
other advanced features, or those who don't care to work in a Linux 
environment there are a number of free dev tools that work with the 
STM32 in Windows:

http://www.emblocks.org/web/  - Em::Blocks is a free and featureful IDE 
that is easy to install and supports the STM32 Discovery boards out of 
the box. I've done a few test projects with this tool and found it 
fairly easy to use. Em::Blocks supports "semihosting" which allows you 
to redirect C stdio (printf, etc) to the host machine over the SWD/USB 
connection and also allows realtime probing of variables in a running 
process without halting.

http://www.coocox.org/ - CoIDE is free IDE based on reskinned Eclipse 
that supports a wide variety of ARM processors including some (but not 
all) of the STM32 line. I've used this for a few projects where the 
client needed to build under Windows. CoIDE also supports the STM32 
STLink V2 download/debug protocol without extra effort.

http://www.keil.com/arm/mdk.asp - Keil MDK is an expensive but well 
maintained IDE that "pro" shops use. There is a code-size limited free 
version for evaluation purposes that will generate up to 32kB binaries. 
I've used this for several small projects. The downside I've found is 
that it doesn't support STLink V2, so a more mainstream download/debug 
pod like a Segger J-Link is needed. Keil has excellent code optimization 
- typically binaries are 1/2 to 1/3 the size of those generated by GCC 
for the same input source. Unfortunately the 32kB code size limit is 
applied *prior* to the optimization step.

There are others out there but these are the ones I have direct 
experience with.


On 01/03/2015 11:51 PM, rsdio at audiobanshee.com wrote:
> Olivier's advice is great. I'm a little torn about the advice to restrict yourself to text editor and command line tools for cross-platform development, though. On the one hand, it's incredibly useful to have all of these skills. Learning how to write C code that will compile and run on multiple platforms is a great way to really understand the language, and knowing how to use a text editor from the command line will probably get you out of trouble some where along the way.

More information about the Synth-diy mailing list