Competing with "Free" Software

Tough Survivors

As I said in the last blog entry, independent embedded C/C++ compiler companies are becoming rare birds. Of the independent companies that support multiple platforms, besides us ImageCraft, there are Green Hills (US), IAR (SE), Cosmic (FR), Rowley (UK), and… um, I think that’s it. Since being bought up, Hiware/Metrowerks primarily target Freescale chips; Hi-Tech clearly will concentrate only on Microchip’s PIC; Keil, despite being an “ARM company,” still sell tools for the 8051, C166 etc. probably because the money is good, but who knows how long that will last?… Most  if not all compiler companies were started by compiler gearheads (who else would be crazy enough to start a compiler company?) a while ago. In fact Cosmic and ImageCraft are tangentially related through our lineage with Whitsemiths. With the different product pricing and the vast number of embedded devices, most of us in fact do not compete directly with each other per se. However, there is …

The GCC Equation 

(dun dun duuuuunnnn…..)

Different embedded compiler companies “die” for different reasons, most likely financially related, and in 2009, the GCC equation must be a factor directly or indirectly. (Click on …more… to continue)


And Then There is One Less….

Embedded compiler and tool companies are endangered species. When I first joined Whitesemiths, the whole C compiler market was still new. Since then, there must have been at least a dozen DOS/Windows C compiler companies that have come and gone, and probably even more embedded C compiler companies have disappeared in the same period.

A popular trend is for silicon vendors to buy up compiler companies, nominally to ensure that they have full support for their chips. Motorola bought Hiware a few years back, and now Microchip just purchased Hi-Tech software.

Among embedded compiler companies that support multiple platforms, we are among a small handful of survivors. We understand the difficulties facing us.  We have been in business since 1994 and expect to be around for quite a bit longer. The economic situation made us re-examine our business model and development strategiesand we think that we can remain independent and continue to be successful.

Development Plan

One of the clear demands from the comments to our prior posts is that we should concentrate on delivering great compilers. I thought I’d lay out our primary development plan for the next 6 months, in increasing order of priority:

Expand Our Offerings – microcontroller dominance comes and goes. 8051, HC11, PIC16, AVR are some of the most popular 8 bits controllers in their times. To remain competitive, we need to monitor the next greatest hit. With 32 bits controllers coming down in prices and gaining in features, it’s natural that we move into that segment of the market, as we have done so by adding support to the ARM/Thumb architecture a couple years ago.

An even stronger alternative is now coming down the pipeline, in the form of the ARM Cortex-M3 core, implementing the Thumb2 instructions. The instruction set combines the speed of the 32 bits ARM instructions and the compactness of the 16 bits Thumb instructions, and the M3 core is designed with embedded systems in mind. And now Atmel has licensed the core, with NXP rumored to be doing so soon (and it would make sense for them to do), joining the rank of existing vendors STM and Luminary Micros, so working on a Cortex compiler is a no-brainer.

Make Our Tools Visually Appealing – our last two blog posts already touched on our thoughts on the “nextgen” IDE. If nothing else, a good looking IDE will sell more tools. More than that, leveraging a world class IDE will free up resources in the long run so we can continue to work on better compilers.

Go Deep – as many comments indicate, customers are always looking for more optimal code. Toward this goal, we have initiated the MIO (Machine Independent Optimizer) project a few years ago. This introduces many of the classical function level global optimizations to our compilers, coupled with our Code Compression ™ whole program compression technology, our compilers are already very competitive. However, we can always do better.

This project will take advantage of the code compressor framework, and applies many of the optimizations post code generation, thus gaining even further code size reduction and faster execution. Our code compressor framework has been rock solid for years and most of the optimizations are well known (albeit applying to a machine specific level), thus maximizing the robustness of the first release of the technology.

We will offer this technology initially with the AVR tools, and add it to the other products as situations warrant. Our goal is to further improve our code size and speed by 5-15%, making it as competitive as any compilers out there, bar none, in all cases.


We expect all three projects should produce results during the first quarter of 2009. We will also doing maintenance work on existing compilers, to support the latest devices etc. As you can see, further improving our compiler efficiency is our number one goal.

// richard

Posted in new product. Tags: , . No Comments »