■ FIGURE 6. Programmer Main Tab.
■ FIGURE 7. Fuses Tab.
■ FIGURE 8. Program Tab.
even further headroom. There may be even more ways to
save space, but we are already down 170 bytes, so why
bother? If you really want to get it smaller, check out the
assembly language bootloaders mentioned earlier.
EduBootAVR Source Code
The source code for this month’s article is located in
Workshop27.zip as usual, and – not so usual – it is also
located on Google Code Project Hosting: https://code.
google.com/p/edubootavr/source/browse/#svn/trunk.
This is my first attempt to provide a Collaborative
Open Project — a concept that we’ll dive into next month.
the STK-500 and read about it. You’ll see that there are
many things that the STK-500 can do, but we’ll just use it
to do ISP programming on an ATmega644 chip in a socket
on the board. In Workshop 22, we saw how to use the
Dragon to program an ATmega644 on a breadboard
(BeAVR40 design) using a hardware setup that would make
Medusa look cute. If you got that working, then you can just
follow the directions there and forget about the STK-500.
However, if you have access to an STK-500, you may
have an easier time since you can plug the ATmega644
into a socket and then use a 12-pin cable that comes with
the STK-500 to program the chip (thus saving Medusa for
the Kraken). It is much simpler to set up and therefore less
problem-prone than the other way.
In AVRStudio, click the Connect Dialog as shown in
Figure 4. In the Select AVR Programmer window shown in
Figure 5, highlight STK-500 and Auto, and click Connect.
(If it complains that it can’t find the STK-500, make sure
that you are using a COM port in the acceptable range.)
■ FIGURE 10. Command Prompt.
Using the STK-500 to
Program the ATmega644
We will use the STK-500 to program our ATmega644
chip. The setup is shown in Figure 1. I strongly suggest that
you read AVRStudio Help\AVR Tools User Guide; click on
■ FIGURE 11. avrdude Verifying.
■ FIGURE 9. BeAVR40.
64
October 2010