Richard Ottosen is hard at work doing the PC layout for one variant of the DIY5 calculator, which we plan to show at HHC 2012. I've been working on the firmware for quite a while, using the DIY4X hardware, and will have some exciting new stuff to demo. I'm keeping mum about most of the details until the conference, but I'll post about it here after that.
One bit of progress that I thought I'd report is that I've now got my firmware build system working cleanly on both Linux and Windows. I do all my development on Linux, and Windows is of almost no interest to me, but I plan to open-source the firmware for one variant of the calculator. I expect that at lest some of the people that might want to hack on the firmware will want to use Windows, so I spent most of yesterday and today making that work. Now I can build bit-for-bit identical firmware on both host platforms.
The development environment uses these tools, all of which can be downloaded at no charge:
- SCons 2.2.0, a software construction tool conceptually similar to the more well-known "make"
- Python 2.7.3, needed for SCons
- Mentor Sourcery Codebench Lite Edition ARM EABI cross-development toolchain (GCC, linker, GDB, etc.) 2012-03 release (no charge, but registration required)
- Energy Micro libraries and tools, which for Windows can be conveniently downloaded and installed using Simplicity Studio
In principle it is possible to use the Eclipse IDE to develop with these tools, and Energy Micro even has an application note about that ("AN0023 Eclipse Toolchain"), but I find Eclipse, and even commercial IDEs such as IAR Embedded Workbench, to be slower than molasses flowing uphill in the middle of winter. I used to use IAR Kickstart on Windows until my code hit the 32KB limit, but every time I'd ask it to do a build it would take quite a few seconds before it would even launch the compiler. From the command line I just type "scons" and it starts compiling in less than a second, even though it does a complete and correct dependency analysis!
I need to write up some instructions on how to get everything set up, but it isn't terribly complicated.