Ever since microcontrollers were developed, many companies ended up creating their own architecture, usually optimized for a specific application. Today the list of architectures you can still find is staggering, with some of the most popular ones:
- Motorola 68k
- TI MSP430
- Microchip PIC
- Freescale ColdFire
- Atmel AVR
The list goes on and on. But, the industry has been changing significantly for the last few years. ARM’s Cortex-M CPU cores have been making their way into most every vendor. Freescale, ST, TI, SiLabs, Atmel and many others use the Cortex-M0,M0+, M3 and M4 cores while adding some differentiating peripherals. This is driving most proprietary architectures into extinction.
One vendor that has seems to be transitioning away from their proprietary processors is Freescale. Their ColdFire processors are based on the legacy Motorola 68k architecture that has been popular for many years. In their latest Freescale Tech Day, they did not announce anything new related to ColdFire, focusing on their Kinetis line of devices in most of their training. This would seem to indicate that Freescale customers may be transitioning or have transitioned already. This trend will continue with other vendors. As long as the Cortex-M3/M4 meet the specs of the customer’s application, most will choose ARM.
Unifying the CPU architecture has tremendous benefits:
- Programming tools are kept the same as long as they are not vendor specific
- Investment in training persists despite a change in vendors
- Moving to another vendor requires minor changes, typically related to the peripherals. The performance of algorithms and other middleware remains mostly unchanged.
- Development of code by the community for this processor can be reused by many others, making the device more and more accessible and shortening development cycles
- Development tools are better because more options exist and more people work to provide it
Most engineers tend to stick to what they know and pick a microcontroller they used in the past (as long as it meets the requirements). This usually is done to ensure that development time is kept to a minimum. As ARM gains a foothold and young engineers become familiar with the devices, more and more designs will be ARM.
So what happens to the other architectures? ARM Cortex-M is great for many of the applications, but there are always applications that have specific requirements where a certain architecture will hold an advantage. For example, the Microchip PIC is still one of the most popular processors for small applications. Microchip has done a great job of creating parts that have peripherals for wide number of applications, and the price is very low, even compared to
A big issue for vendors is differentiation. If all devices use the same core, the differentiating factors become the peripheral mix, packaging and prices. In a way vendors are racing each other to provide cheaper and better devices. This is great for engineers and developers, but I would imagine some vendors will not fare well in the next few years.
If you’re trying to decide on a microcontroller, using the ARM Cortex-M can be a good choice, but you need to consider whether a small device can be better. If you need help understanding how to select a processor for your product or application get in touch, we’ll be happy to advise.