I decided to use ARM Cortex only in all my products from now on.
M serires for MCU, A for application processor.
This decision comes quickly after I finished a RFID consulting job on a iPhone/iPod pedal product using a STM32F101RB MCU from ST.
The learning curve is low, in fact I knew how to program the processor using ST’s FWLib from day 2, but I still learned more about the ARM Cortex M3 architecture and assembly programming to have a solid overview to this totally new architecture to me (I’m familiar with ARM9 in the past).
Though I know the full grasp of the ARM Cortex is a long way down, but I’m confident enough to begin my own coding from day 5 using the existing CMSIS compliant ST FWLib, I just used 2 days to port our old ARM7 code to ARM Cortex M3 and made it basically worked, and after 3 days digital circuit debug, we have verified the code and the digital circuit to be quite reliable, our RF/antenna designer begin to do his analog job then.
Quite impressive with both the feature and performance of ARM Cortex M3, and the easiness to begin a new project in it, and the price is just fantastic, the chip is just a little above US$2 here.
I don’t find any reason why I should use other MCUs from now on.
Maybe there’s some exceptional cases, such as extreme low power, extreme weather conditions, etc, but I guess my products will never have these extreme conditions.
ARM is the king.
As to x86, I worked as a PC BIOS engineer in a Taiwanese company for 3 years in the past, from my knowledge of CPU architecture, I don’t know if x86 can ever catch up with ARM in performance/power ratio, which is the most important in current economy.