FreeRTOS, __inline now supported in our Cortex compiler

Our Cortex compiler now supports __inline keyword, CMSIS V3 and now includes a port of FreeRTOS for the STM32. Check out our fully functional 45 day demo.

Posted in Uncategorized. No Comments »

Earliest C Compiler now on Github

The very first C compiler available “in the wild” written by Dennis Ritchie (“dmr”) is now on Github. Could be interesting to port it to compile under a modern compiler.

Posted in Uncategorized. No Comments »

Silicon Labs Acquires Energy Micro

Energy Micro is a fairly major ARM Cortex MCU player in Europe, and its line has just been acquired by Silicon Labs.

The Ancient History o C

C was developed at Bell Labs on a PDP-11 by Dennis Ritchie. As soon as it was running on multiple (i.e. more than one) machines, then the nascent “document processing” OS named Unix was rewritten in C by Ken Thompson in a matter of months. Bell Lab released Version 6 Unix outside of Bell Lab and along with it, the influence of C grew.

ICCAVR gets 64-bit double support in printf

(We are going to blog more often, catch us at and Twitter @imagecraftinc)

One common concession to C Standard on typical 8-bit embedded compilers is that double data type is 32 bits and not 64 bits as required by the standard. Since 8-bit CPU microcontrollers are usually limited by both memory size and clock speed, this is an acceptable tradeoff. However, some of these 8-bit micros are growing in size and speed, driven by the complexity of the firmware.

We added 64-bit double support a couple years back, and now we are adding full printf (e.g. %f, %g, %e”) support on the AVR compiler as well. As usual, this is optional and we even have different versions of the underlying conversion to string function depending on whether you want full range/precision support or faster execution.

Posted in Uncategorized. Tags: . No Comments »

2012 Year End Message

Dear customers of ImageCraft,

After starting to regain ground in 2010-2011, the Semiconductor sector seems to have stalled again in 2012. Nevertheless, some of our customers are now telling us that their clients are asking them to resume work on products that have not been touched in the last 5 years, so I do see that as a sign that recovery is happening. Lets hope 2013 is a more positive year for all.

ImageCraft’s big news is the release of our ARM Cortex-M and the integrated debugger. Our V8 IDE now has all the major features you would expect from a modern IDE. This puts us in a good position for 2013.

In 2013, our focus will be on increased ease of use, and broadening our middleware offerings.

In terms of ease of use and new features for the AVR compiler, we will be releasing CRC, production elf file generation for the AVR compiler in Jan 2013, and in H1 2013 we plan to release function inlining, and revamped 64-bit double support, plus 64-bit long long.

The Cortex compiler will be getting function inlining and 64-bit double support.

There is still potential in the CPU12 market. Unfortunately, due to lack of resources and the low Return of Investment on the XGATE improvements we made to the CPU12 compilers, until we see that potential grow, it’s unlikely that we will work on the CPU12 compiler in the immediate future.

As for middleware, the key market is clearly the Cortex-M. We have some ideas that we will be working on in H1 2013 that could potentially open up the market for us.

Lastly, we decided to change the AVR compiler editions and pricing to match those of the Cortex-M compiler: the compiler now comes in STD ($249) and PRO ($499). Most of the new features will only be made for the PRO edition. Existing ADV users are still supported as before with no change, but of course upgrading to PRO edition is encouraged.

As always, we wish you the best new year, and if you have comments and suggestions, please feel free to email us.

Happy 2013.

Posted in Uncategorized. No Comments »

ICCV8 for Cortex Released

ICCv8 for Cortex (V8.00.00) has now been officially released. You can download it from our website.

From the readme

- M0 Instruction Set not supported
- M4 Instruction Set not supported
- PRO optimizations not enabled
- Cortex-M Bitfield instructions not used
- Bitband memory alias
- Debugger

8.00.00 August 24th, 2012
- Open c:\iccv8cortex\examples.

cortex\examples.workspace for some sample projects

- ARM CMSIS header files under c:\iccv8cortex\include\CMSIS, the compiler
driver automatically includes this directory (along with
c:\iccv8cortex\include\) in the search list.

- NXP header files under c:\iccv8cortex\include\<vendor name>\
You will have to explicitly add them to the Include Path, e.g.

- No vendor CMSIS source files are included as they are rather large.
Please download them from the vendors’ sites.

- Please refer to the documentation, “Programming for Cortex-M” on what
steps to take to get a working project.

Posted in Uncategorized. No Comments »

2011 Year End Message

Whoosh! — That’s the sound of 2011 flying by. :-) Here at ImageCraft, we would like to wish you all Happy Holidays and hopefully a very Prosperous New Year. May your code run correctly the first time, and your hardware designs perform without any faults.

AVR Compilers

In 2011, we released a new USB licensing dongle for the V8 AVR compiler. “Eating our own dog food”;  it contains an AVR board utilizing our own firmware. It does not require additional USB drivers, and is also much more flexible than the older V6/V7 dongles.

We have enhanced the AVR compiler code compression to work with M256x or larger devices. For those who are pushing the limits of 256K-bytes flash, this should generally give you another 10-15% more code space!

We added a subset of MISRA, as well as lint checking: both of which have proven to be quite useful to uncover latent bugs.

Internally, we have created a new version of the PRO compiler that more aggressively accomplishes 8-bit optimizations. We expect to release that in Feb 2012 or so. This should decrease code size requirements by a few percentage points.

Additionally, the V8 CodeBlocks IDE continues to acquire new features. In the next few months, we expect to have a new release based on the current CodeBlocks 10.5 codebase, and also to add direct support spaces in file paths without resorting to using the Windows ‘short file name’ mechanism. This will also make it easier for us to eventually port our compilers to Linux and Mac when we are ready.

Cypress PSoC1 Compilers

We continue to provide support for the STD compiler for the Cypress PSoC Designer environment. The PRO compiler, which you may purchase from our website, also received updates this year. We have a number of new optimizations that we expect to roll out in 2012.

ARM Cortex Compilers

ARM Cortex compiler development is proceeding nicely. We have a prototype IDE based on the 10.5 CodeBlocks code. We have now completed the basic compiler toolchain to the point where we can run some significant tests. By leveraging our own compiler instead of relying on GCC, we will have better control for providing the features that embedded engineers need.
Other big news: ImageCraft has decided to write our own Cortex debugger as well. Written from the ground up for embedded users, it will be fully integrated with the CodeBlocks IDE. Our main objective is to provide a hassle-free out of-the-box user experience for users of popular JTAG pods and Cortex M0/M3 devices, so having our own debugger is integral to the success of this plan.

In Closing

As the global economy emerges from the recession, and with the rise of Cortex dominance in the embedded market space, 2012 looks to be an exciting and productive year at ImageCraft.
Thank you all very much for your support!! :-)

// richard

Posted in Uncategorized. No Comments »

2010 Is Drawing To A Close…

The last few years have certainly been “exciting” times for the embedded industry. With the industry’s rush to adopt 32-bit architecture (by that I meant ARM, so the noun is singular on purpose), perhaps paradoxically it is clear that there will continue to be a market for 8-bit tools, at least for the next 5 years and longer. It’s the economy of scale and ease of use – when a 32-bit MCU is under a buck, so is an 8-bit AVR or PSoC and they have fewer pins to connect.

So ImageCraft will continue to concentrate on the 8-bit end such as the Atmel AVR and Cypress PSoC1. The Freescale CPU12 is still a darkhorse – over the years, it is consistently our second best seller after the AVR compiler. We just added assembler support for the XGATE (a coprocessor on some CPU12 devices) so hopefully customers will be using it to do interesting things. While the CPU12 devices are not in the lowest cost segment, it’s a solid high performance line that should have some years left in them.

We are currently finishing up the MISRA / lint checking code in the AVR compiler, to be released in Jan 2011. We see features like MISRA checks to be defining differentiators for us – features that allow our users to write more robust code faster. We look forward to continue augmenting our tools with these features.

And of course we are working on a Cortex M compiler. The ARM Cortex will take over the World, with some suitable definition for “the World.” The key there is ease of use.  We are spending a lot of time to make sure that our debug solution is plug and play, and not plug and pray. We hope to release the Cortex compiler in H1 of 2011.

2009/2010 were sort of rebuilding years for us. The new CodeBlocks IDE is well received and now allow us to concentrate on our core competence of compiler building. The future is certainly brighter at the end of 2010 than the beginning of 2009. Lets hope for an even better 2011.

All The Best from all of us at ImageCraft.

Posted in Uncategorized. 3 Comments »

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.