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?
-
3\$\begingroup\$ Of interest: The SAM3U is expected to be the microcontroller used in the Arduino Due, scheduled to be released this year (although they said the same thing last year!). \$\endgroup\$– boardbiteCommented Aug 25, 2012 at 16:24
-
\$\begingroup\$ @boardbite - A year overdue, for a simple SBC? :-( I hope the SAM3U won't prove to be a bad choice. For an ARM7TDMI we once evaluated an Atmel against an NXP, and the NXP easily outperformed the Atmel despite the latter running at a 20% faster clock. \$\endgroup\$– stevenvhCommented Aug 25, 2012 at 17:44
-
\$\begingroup\$ For those who want to play with the 84-Mhz capable SAM3X8E in Arduino setting, here is one "secret": Google recently released ADK 2012, (Accessory Development Kit). Their open-sourced file repository provides Eagle sch and brd files for an Android-connectable Arduino-board with SAM3X8E, as well as the makefile for Arduino bootloader that you can burn onto the SAM3X8E. As follows naturally, a special Arduino IDE is provided in the repo too, incl. sketch-uploading support for SAM3X8E. \$\endgroup\$– boardbiteCommented Aug 25, 2012 at 19:41
-
2\$\begingroup\$ BTW, the SAM ICE is a Segger J-Link. If I remember correctly it has some special identification data so that the Segger software can restrict its use to the AT91 processor family. (I bought a similar AT91SAM7S-EK in 2006.) \$\endgroup\$– starblueCommented Aug 26, 2012 at 10:41
1 Answer
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.
-
\$\begingroup\$ I downvoted because of the irrelevance to the question I asked. I'm not going to be running linux on the board. And I most probably won't be using linux when I initially start programming the board most likely windows using the Atmel Studio until I get my head around everything that is going on. I also am definitely not at the stage of looking at RTOSs. \$\endgroup\$– DeanCommented Aug 25, 2012 at 21:32
-
\$\begingroup\$ I think the Answerer provided some information of value for the general future reader (including me), and his/her suggestion is indeed a valid alternative implementation using an ARM Cortex architecture... which is pretty much what you seem to have originally asked for (if this isn't the case, you might want to clarify your Question). \$\endgroup\$ Commented Aug 26, 2012 at 3:13