Saturday, March 22, 2014

ARM going the Google way

ARM to dominate them all, including the brand image.

I just did some first programming exercises with the ST Nucleo STM32L0 board, using mbed. From developer point of view, the user experience  was pretty equal to my earlier experiments with Freescale KL25Z board. And that's the point!

There are many similarities in how Google and ARM are building the ecosystem around them, only the timescale is different. Google created Android OS and licensed it to phone manufacturers. Each one of them were allowed to customize it and to highlight their own brand image. Eventually people are purchasing Samsung Android or HTC Android,  not Google Android devices.

Soon Google understood they have lost the control over brand image. To fight back, Google introduced ChromeOS, which is kept tightly in Google's own control. Manufacturers are not allowed to tailor it, and Google has full control over software updates, no matter who is the manufacturer of the hardware. This way consumers are purchasing Google ChromeOS devices, manufactured by company X, Y, or Z.

ARM did the same. First they created the IP, which was then licensed to silicon vendors. It took long time, but little by little ARM managed to get the dominant position in CPU architectures. Even if silicon vendors are promoting ARM architecture, the company itself, ARM Holdings does not benefit much from that. People are talking about TI ARM processors, or Freescale ARM processors, or any other vendor name.

As every manufacturer constructed a different set of peripherals with different APIs around the ARM core,  they are more or less incompatible from software point of view, even if they can in theory run the same code due to the same instruction set. Each vendor provides it's own software library for peripheral access, and developers think micros from different vendors as totally different products, not as members of the one mighty ARM family.

To fight back, ARM has done several manouevre. Already in 2005, ARM acquired Keil, a compiler IDE supplier. That was a clever move, as an IDE can more or less hide the difference in silicon designs. However, Keil is not dominant at the market, there are IAR, Atollic, and many more. Thus ARM didn't got the Google position by that.

Later on, ARM introduced the mbed concept;  one unified programming environment for all the micros, running in ARM cloud. "One IDE to rule them all". Well, mbed is perhaps not targeted to immediately replace all the existing commercial IDEs in use, but it is a way to teach developers that after all, the name of the ARM-based silicon vendor actually doesn't matter, it's all about the software.

Once new generation of developers have adopted the approach, the game is changed. With mbed, we're not talking about an Arduino competitor, but a mind changer.

No comments:

Post a Comment