Previously we spoke about our efforts to optimise the boot time of our Snapper 9260 module, getting it down to ~5s. Having done a bit more work on the hardware, software, and moving to the AT91SAM9G20 module, we now have this down to ~3s from initial power applied. This is a full boot, with peripherals initialised, reading from NAND Flash for its root filesystem etc. Having used a lot of embedded systems over the years, we are very pleased with this result, as it certainly out performs all the similar devices we have seen in its class.

ARM's new Cortex brand name encompasses a range which splits into three parts: A, R and M. The A is the high performance application range and R is for deeply embedded, deterministic performance (internal SRAM rather than cache is the rule) but still very fast. The M is out on its own. Standing for 'microcontroller' it is ARM's foray into the $1 micro space. The initial product, Cortex-M3, has spawned devices from Luninary Micro, NXP, STM, Toshiba among others. A more recent edition, the Cortex-M1 is aimed at embedding in an FPGA. A few months ago ARM announced Cortex-M0. That number must have been chosen carefully as there is nowhere to go beyond it. A Cortex-M(-2) is unlikely to appear. Last week, NXP announced that it has working silicon, the first semiconductor partner to reach this stage. NXP expects products based around this core to ship in early 2010 about 9 months from now. ARM claims 12 uW per MHz for this core. This compares to about 250 uA per MIPS quoted by TI for their MSP430. This is the chip that everyone talks about when low power is desired. Of course, the Cortex-M0 is just a core and it remains to be seen what NXP and others will put around it in terms of power consuming peripherals. Also NXP seems to be using the 0.18um process which uses about 86 uW per MHz. But it is hard to see Cortex-M0 having anything less than a large advantage in terms of power consumption when running. It also has various sleep modes as with the MSP430. With the 0.18um process NXP can clock the chips at up to 50MHz. An internal oscillator and PLL reduce the need for high speed external crystals. The range is called LPC1100. Best of all, ARM claims software compatibility with the Cortex-M3, so a relatively seamless transition should be possible for those who want to take advantage of the low power options. In other words, ARM's engineers have apparently reduced power consumption by clever design, and throwing away features without breaking the instruction set compatibility. That said, surely no one programs the Cortex-M3 in assembler as one of its selling points is that you never need to.

The Cortex-M3 has been quite successful in its market, and ARM no doubt sees a market even below that. Quoted applications include lighting, gaming controllers, and Zigbee. Some might baulk at putting a 32-bit micro in a light switch, but if the cost is right, why not? ARM is trying to help by describing it more in 16-bit terms than 32-bit. Apparently putting a 16-bit micro in a light switch is OK these days.

to be continued