I am looking forward to learn the ARM7 family of microcontrollers. When I searched on the internet, I found there are two versions: slightly older ARM7TDMI (LPC21xx etc) and newer Cortex M3 (LPC 17xx etc). I am a bit confused between these two. I want to choose one which can help me to get placed in a firm in future. Please help me to choose one and also please tell me the major difference between the both versions.
Electronic – Which family of ARM processors should I learn: ARM7TDMI or Cortex M3
armlpcxpressomicrocontroller
Related Solutions
Cavium Networks ECONA family has several ARM922-based processors with MMUs that run at 200-250 MHz. They have a PQFP 128-pin package. I think they're the most powerful non-BGA ARMs you can get (so far as I know).
PQFP packages are still pretty hairy to solder, so you might also look at the NXP 17xx series of Cortex M3 chips, which run at 100 MHz. Unfortunately, the M3 core does not have an MMU. I don't know all the packages used, but at least the LPC1758 comes in a LQFP 80-pin package with 0.5 mm pitch. You could also check the LPC2xxx series, but I'm not familiar with them.
If that's still too tricky, NXP has announced an ARM Cortex M0 chip, the LPC1114, that will be available in a 44-pin PLCC package in Q4 of 2010 (that is, you can't buy it for a few months yet). It only runs at 50 MHz and it has no MMU, but PLCCs can use through-hole sockets that can be soldered by hand pretty easily.
update (2011-07-28, by stevenvh)
We're now 2011Q3, and there's no sign of a PLCC LPC1114; it's only available as LQFP48 and leadless HVQFN33. Frankly, it would have surprised me to see it in PLCC; it's an archaic and big package (height: 5mm!), which these days won't get many customers.
I think @markt is certainly in the right place: Toolchain, peripherals, packages, devkits.
I'll add a few, and maybe take off a few. Toolchain is certainly important, but FREE may or may not be. Sometimes, working without real support can be more expensive than you think it is, and using a reasonable commercial package may well be worth it for a given situation. Sometimes, being able to pass a thorough license audit is important as well, and using a free tool with a restrictive license can bite you later.
A good CMSIS library to support the microcontroller is a must for me. CMSIS -- Cortex Microcontroller Software Interface Standard -- arm.com/products/processors/cortex-m/… -- is a hardware abstraction layer for Cortex-M series microcontrollers. In theory, if a library is CMSIS compliant, it's vendor-independent, and its easier to swap different families, and you don't have to relearn an environment from the ground up to be able to use the library. One of the attractive aspects of the ARM Cortex environment is the ability to change platforms without a whole bunch of sweat. If you pick a platform that doesn't buy into the CMSIS structure, you may not be able to move around as conveniently.
For me, cheap and convenient dev boards is a must, but this may or may not be as important as some other things (I think the STM32 series has amazing devboards). If the family has very convenient and cheap dev boards, then you're more likely to find help from a larger userbase if you need it. Also, these chips tend to be in SMT packages. When you inevitably blow up a chip, or a port on a chip, or a bit on a port on a chip, replacing the chip is a PITA involving SMD rework. If you can purchase two or three boards at $10-$15 each, and replace them as you bust them, you won't even THINK about doing that SMD rework!
Think "Extras". You may need something above and beyond what is considered a "peripheral". For example, maybe you have heavy bluetooth needs, and you might choose to go with Nordic Semiconductor for that kind of support. You might consider some other things, like how easy is bootloading, etc.
Think Documentation. I've been a bit less than impressed with how hard it can be to wade through some of the STM documentation.
Best Answer
You partly answered the question yourself: Cortex is a newer, more advanced core. It's more powerful than the ARM7TDMI and at the same time uses less power: about double the DMIPS/mW.
The following table gives a nice overview of the differences (from this white paper):
(Apart from performance and power consumption) the up to 240(!) interrupts and the much improved interrupt latency make the Cortex a far better choice for real-time systems.