I'm considering buying a AT91SAM3U-EK to learn the ARM Cortex-M3 architecture. I am considering this model because Atmel produce their own jtag device - AT91SAM ICE. The only disadvantage is that this is quite expensive. So what other alternatives are there with a similar spec?
If you are using Linux then your first debug will be gdb (gnu debugger) over an ethernet port. Most inexpensive JTAG debuggers become pretty useless once you start using a heavyweight RTOS like Linux. The expensive ones ($10K+) are amazing.
Almost any ARM will suffice for learning but I would suggest looking at a processor with an MMU. The cortex-M devices are low power, but can only run uCLinux (not a full Linux distro). One major disadvantage of non-MMU devices is that they cannot fork processes. Look at the difference with the Cortex-A8/A9 family. Also, don't forget to check out TI and Freescale as they have comparable ICs.
The IC cores are the same and the choice of peripherals are all almost identical (and much less important on a learning platform). Look at the vendor support for your desired OS to guide your purchasing decisions. The Linux port may be free, but getting the tools setup correctly is not as straightforward as with conventional microcontrollers.