Atmel AVR Presentation, Part 3
Atmel AVR Presentation 5/17/09
Today I am going to talk about programmers and some debuggers. To start, when I am talking about a programmer I am talking about a way to download your code into the microcontroller while it is still in the circuit. Production programmers are the units that pre-program the chip before it is ever assembled into a circuit board. Debuggers on the other hand are designed with the idea that the chip is in circuit. As it's name implies, it is used to help debug issues with your microcontroller. In some cases you might find out your micro is working fine and your external circuit is having "issues".
With Atmel you have several choices of programmers and debuggers. At the low end is the AVRISP mkII. This is a simple programmer that plugs into a 6 pin header (2x3) located somewhere on your board. This unit plugs into your USB port, no serial or paralle port required!
Next up is the AVR Dragon. Now this unit is a programmer and a debugger all in one. What is nice is that it acts like a scaled down version of the STK500, also from Atmel. Limitations - you will have to solder on your own headers and make/buy your own programming cables. Another limitation is that it will only program up to 32K. I have heard of some people hacking the unit to allow larger files, but I have not researched it any farther. As a debugger it has JTAG and OneWire debug capabilities. One cool feature of this board is that you can program the second AVR for whatever you want. All of it's I/O pins are brought out to solder pads so you can wire in your own circuit.
How about the old STK500. This is more an evaluation board then a programmer/debugger. This board allows you to plug in an AVR and start programming it from your computer. It has many I/O pins, LEDs, and buttons for simulating your application. It does provide headers and cables for programming AVR's that are on other circuit boards. Plus it has JTAG debug capabilities. Because the STK500 is so extensive, I'll leave it up to you to take a look at it on Atmel's web site.
The AVR JTAGICE mkII. This is a programmer, debugger, in-circuit emulator. What does that all mean? First it is a programmer and works the same as the AVRISP mkII programmer. The debugger/ice portion works like the rest of the debuggers, as the circuit runs, you can read the registers and set breakpoints. One of the nice things is you can toggle output bits to exercise your external circuits. Again I will refere you to the Atmel web site.
The new kid on the block from Atmel is the AVR One!. Currently it only supports the AVR32 and the Xmega devices, but they plan to support the mega and tiny devices in the future. This unit also falls into the catagory of programmer and debugger. Since this unit is new, I did not spend much time learning about it. What I did find out is that it cost $499. This is out of the price range of hobbyists, but present it just to be complete.
Since the Atmel portion of this article is so large, I am going to break up this section. What that means is Part 4 will continue on with other vendors programmers and debuggers. Part 5 will finish up with software and programming environments. Till next, do some reading on the Atmel web site and check out AVR Freaks!