I came across this presentation from Embedded World today that gives a brief summary of the various ARM Cortex chips (and there are a lot of them in the Cortex M, R and A families!), but specifically the ARM Cortex M series. One of the biggest advantages of using ARM is that everything tends to be forward compatible, meaning that every instruction in the teeny-tiny Cortex-M0 core is supported in the larger Cortex-M3, and all the M3 instructions are included in the even larger M4 (which adds single-precision floating point acceleration, and some basic DSP-type commands), and so on. If ARM has really taken off in recent years, this easy migration and transfer of knowledge is a big part of it, combined with the huge number of chips available from a half-dozen manufacturers (TI, NXP, Atmel, ST, Freescale, Energy Micro, etc., etc.).
I’m kind of curious how much interest there really is in low-end ARM chips though — essentially the Cortex M family, since the A-series is far more complicated to work with and isn’t aimed at solving the kinds of problems most hobbyists are working on. I learned embedded development on ARM and it’s what I’ve always used, so I always have a hard time judging how accessible people find it, and what they’re looking to learn to get started with ARM. I’m convinced the low-end ARM chips are the best value on the market right now — just look at the specs for dirt-cheap chips like the Cortex-M0 LPC1114 at $1 (50MHz, 32kB flash, 8kB SRAM) or the Cortex-M3 LPC1343 (72MHz, USB, faster code execution thanks to three pipeline architecture versus single-pipeline on the M0).
Let me know in the comments below what you’d like to see with ARM, or if you’d rather see things focused in a different direction (like focusing EE Bookshelf more on PCB and HW design, or general embedded SW development best-practices). I’m all out of favorite datasheets and books, and wondering what people want to see more of moving forward!Related