For the modular datalogger I'm developing I've chosen the STM32F103RxT6 chip. I like it because ST sells that chip in ROM sizes ranging from 16 Kbytes up to 1024 Kbytes. This way I can develop in the largest size and drop down to a cheaper size for production.
The worst part about getting started with ARM is that there are too many choices and no obvious winner. I spent a week evaluating the various options based on the following requirements.
- Open source toolchain, so I can distribute a configured virtual machine
- Can be compiled using Make (i.e. no IDE required)
- IDE supports hardware debugging
- IDE runs on Linux, Mac, and Windows
Here is a list of toochains I looked at.
I looked at most of the items on that list, but don't have notes on why each one was not a good choice for me. I'll edit the list if I try more. Maybe this would be a good wiki page. In the end I determined the least terrible solution is Eclipse.
I suggest you make a new virtual machine for development. Make a snapshot at each step after being successful. When going through this process I crapped up a working system and couldn't recover. Reinstalling sucks! Just roll back to a working snapshot.
I'll make a walkthrough at some point when I have an ARM device in the store. For now, here are the instructions that I followed.
Set up Eclipse debugging:
Extra registers plugin:
FreeRTOS Eclipse plugin: