1015 |
mija |
1 |
<html><head><title>Evertool - combined AVR programmer and debugger</title> |
|
|
2 |
|
|
|
3 |
|
|
|
4 |
<link type="text/css" rel="stylesheet" href="index_soubory/andreas_style.css"></head><body> |
|
|
5 |
<h1>Evertool</h1> |
|
|
6 |
|
|
|
7 |
|
|
|
8 |
<p><emph>Evertool is an AVRISP/STK500-protocol <b>and</b> JTAGICE compatible Programmer/JTAG debugger.</emph></p> |
|
|
9 |
<ul> |
|
|
10 |
<li>ISP Programmer compatible with Atmel AVRISP, directly accessable with AVRStudio and avrdude</li> |
|
|
11 |
<li>JTAG debugger compatible with Atmel JTAGICE, directly accessable with AVRStudio and AVaRice</li> |
|
|
12 |
<li>Evertool supports all AVR devices Atmel supports with their AVRISP and JTAGICE.</li> |
|
|
13 |
<li>Easy update of the programmer for new target AVRs via RS232/serial port</li> |
|
|
14 |
<li>Rescue clock generaration to recover from wrong fuse-bit-settings</li> |
|
|
15 |
<li>Simple hardware, standard parts</li> |
|
|
16 |
</ul> |
|
|
17 |
|
|
|
18 |
<h3>Intro</h3> |
|
|
19 |
|
|
|
20 |
<p>The ATMEL AVRISP In-System Programmer is a small device to program ATMEL AVR microcontrollers. |
|
|
21 |
The original ATMEL AVRISP device is described <a href="http://www.atmel.com/dyn/products/tools_card.asp?tool_id=2726">here</a>. |
|
|
22 |
To avoid misunderstandings: ATMEL's AVRISP is a "small STK500". |
|
|
23 |
Evertool which emulates an AVRISP is not a "bit-bang-programmer" or an |
|
|
24 |
AVR910-type-programmer. Evertool "talks" STK500-protocol on the |
|
|
25 |
RS232-port since the STK500-firmware ATMEL delivers with the AVRStudio |
|
|
26 |
is |
|
|
27 |
used. From the programming interface the AVRISP is compatible with the |
|
|
28 |
Atmel STK500 in low-voltage serial programming mode.<br> |
|
|
29 |
The ATMEL JTAGICE is a device to program and debug ATMEL AVR microcontrollers with JTAG-Interface (ATmega16, ATmega32, |
|
|
30 |
ATmega64, ATmega128...) The ATMEL JTAGICE is described <a href="http://www.atmel.com/dyn/products/tools_card.asp?tool_id=2737">here</a>.</p> |
|
|
31 |
|
|
|
32 |
<p>This is a rebuild of <b>both devices on a single board</b>. The main |
|
|
33 |
advantage of such a programmer is the |
|
|
34 |
compatibility with the ATMEL AVRstudio since it uses the original ATMEL |
|
|
35 |
firmware code supplied with AVRStudio on an ATmega16 (JTAG) and |
|
|
36 |
ATmega8535 (ISP). So the front-end software (AVRStudio) and programmer |
|
|
37 |
firmware are supported by the makers of the target-controllers and new |
|
|
38 |
devices should be supported |
|
|
39 |
as soon as a new AVRStudio gets released with the new firmware-files |
|
|
40 |
for STK500/AVRISP or JTAGICE. With the AVRStudio AVRISP/STK500-plug-in |
|
|
41 |
programming of flash, eeprom, fuse- and lockbits is an easy task. The |
|
|
42 |
JTAG part of Evertool is compatible with AVRstudio's JTAGICE plug-in. |
|
|
43 |
And yes, it is possible "to jtag" the AVR Butterfly with Evertool.</p> |
|
|
44 |
|
|
|
45 |
<p>Before you start you may concider this:</p> |
|
|
46 |
|
|
|
47 |
<ul> |
|
|
48 |
|
|
|
49 |
<li>The original ATMEL AVRISP device is cheap (prices May 2004: ca. 40 EUR incl. Tax at www.reichelt.de, |
|
|
50 |
ca. 26 EUR+TAX at de.digi-key.com). So if you don't need the JTAG-part this universal programmer may not be worth the effort.</li> |
|
|
51 |
|
|
|
52 |
<li>The presented device has no ESD-protection IC or level-shifters on board. Refer to the |
|
|
53 |
<a href="http://www.atmel.com/dyn/resources/prod_documents/Avrisp_Sch.pdf">schematic of the original ATMEL AVRISP device</a>. |
|
|
54 |
(Sorry, the schematic of the Atmel JTAGICE is not available here.) But since the AVR IO-pins have a rather good internal |
|
|
55 |
protection this should not be a problem.</li> |
|
|
56 |
|
|
|
57 |
<li>You need a programmer to build this programmer. A simple STK200-type dongle will do. Refer to the <a href="http://www.lancos.com/prog.html"> |
|
|
58 |
lancos.com PonyProg page</a> |
|
|
59 |
which describes a simple programming interface. The dongle is only |
|
|
60 |
needed for 10 minutes so you may borrow one from a friend. Another |
|
|
61 |
AVRISP, an AVR910-type programmer or a STK500 will do too, of cause. |
|
|
62 |
The programmer is just needed to program the special Evertool |
|
|
63 |
bootloader into the ATmega16 once. Updating of Evertool to new |
|
|
64 |
firmware(s) is done with the Evertool-bootloader - no additional |
|
|
65 |
progammer needed.</li> |
|
|
66 |
|
|
|
67 |
<li>If you are just interested in the JTAG-part: Rainer Radow made a |
|
|
68 |
board based on the Evertool JTAG-section. This board only emulates |
|
|
69 |
the JTAGICE. More information on <a href="#etlight">"Evertool-Light"</a> further down on this page.</li> |
|
|
70 |
|
|
|
71 |
<li>If you are just interested in the AVRISP-part (although the original by ATMEL is cheap): see the |
|
|
72 |
<a href="http://www.siwawi.arubi.uni-kl.de/avr_projects/avrispre/index.html">ispRE page</a>.</li> |
|
|
73 |
|
|
|
74 |
|
|
|
75 |
</ul> |
|
|
76 |
|
|
|
77 |
<p>Evertool has some extra functions:</p> |
|
|
78 |
<ul> |
|
|
79 |
<li>Rescue mode, so AVR controllers where the clock fuse bits have been set incorrectly can be reseted and reprogrammed</li> |
|
|
80 |
<li>Power-supply to the target AVR-controller-board either from a |
|
|
81 |
regulated source or from the onboard voltage regulator (3,3V and 5V).</li> |
|
|
82 |
<li>Reset Button for target AVR (connected to the AVRISP-part)</li> |
|
|
83 |
</ul> |
|
|
84 |
|
|
|
85 |
|
|
|
86 |
<hr> |
|
|
87 |
<center> |
|
|
88 |
<script type="text/javascript"><!-- |
|
|
89 |
google_ad_client = "pub-3972068798267869"; |
|
|
90 |
google_ad_width = 728; |
|
|
91 |
google_ad_height = 150; |
|
|
92 |
google_ad_format = "728x90_as"; |
|
|
93 |
google_ad_channel =""; |
|
|
94 |
google_color_border = "336699"; |
|
|
95 |
google_color_bg = "FFFFFF"; |
|
|
96 |
google_color_link = "336699"; |
|
|
97 |
google_color_url = "008000"; |
|
|
98 |
google_color_text = "000000"; |
|
|
99 |
//--></script> |
|
|
100 |
<script type="text/javascript" src="index_soubory/show_ads.js"> |
|
|
101 |
</script><iframe name="google_ads_frame" src="index_soubory/ads.htm" marginwidth="0" marginheight="0" vspace="0" hspace="0" allowtransparency="true" frameborder="0" height="150" scrolling="no" width="728"></iframe> |
|
|
102 |
|
|
|
103 |
</center> |
|
|
104 |
<hr> |
|
|
105 |
|
|
|
106 |
|
|
|
107 |
<h3>Changelog</h3> |
|
|
108 |
<ul> |
|
|
109 |
<li>29. Jun. 2004 - updated schematic, picture gallery.</li> |
|
|
110 |
<li>30. Jun. 2004 - added "Evertool-light"</li> |
|
|
111 |
<li>16. Sept. 2004 - added remark about "L"-type AVRs</li> |
|
|
112 |
<li>20. Sept. 2004 - updated schematic (power-supply), Hardware Version 0.9</li> |
|
|
113 |
<li>14. Jan. 2005 - updated Evertool schematic (JTAG VTG voltage-Divider). Thanks to Martin Kohout for spotting this.</li> |
|
|
114 |
<li>28. Jan. 2005 - Remark about ATmega8535 chip-erase problem with bootloader version 0.2 in section "Software".</li> |
|
|
115 |
<li>11. Feb. 2005 - Updated Bootloader binary (version 0.7)</li> |
|
|
116 |
<li>7. Mar. 2005 - Remark about avrdude and STK500/AVRISP Firmware 2 in section "operation"</li> |
|
|
117 |
<li>19. Apr. 2005 - moved Pull-up from PD4 to PD6. Thanks to Björn B.</li> |
|
|
118 |
<li>17. Dec. 2005 - A current-limiting resistor (around 200 Ohm) should |
|
|
119 |
be placed between the Target-Reset-Button and GND (Schematic will |
|
|
120 |
be updated soon). Thanks to <a href="http://www.myevertool.de/">Dirk Büttner</a></li> |
|
|
121 |
<li>24. Jan. 2006 - Information about how to program the AVR fuses with Ponyprog. Provided by Jeff Havens. Thank you, Jeff. |
|
|
122 |
</li><li>2. Feb. 2006 - Added Step-by-Step guide for softare-installation on Evertool-LIGHT</li> |
|
|
123 |
<li>8. Sept. 2006 - Evertool-based device with USB by Florian Schenk</li> |
|
|
124 |
</ul> |
|
|
125 |
|
|
|
126 |
|
|
|
127 |
<h3>License</h3> |
|
|
128 |
<ul> |
|
|
129 |
<li>The schematic is as free as ATMEL made their schematics freely available.</li> |
|
|
130 |
<li>The layout is copyrighted. Free for non-commercial use. For commercial use please contact me by e-mail.</li> |
|
|
131 |
<li>The bootloader is also copyrighted. Free for non-commercial use. For commercial use please contact me by e-mail.</li> |
|
|
132 |
<li>It's also free to build yourself an Evertool for your work and just <b>use</b> the tool for programming/debugging.</li> |
|
|
133 |
</ul> |
|
|
134 |
<p> |
|
|
135 |
Here commercial use is meant as: building and/or selling devices with the Evertool PCB-Layout with or without |
|
|
136 |
a preinstalled Evertool-Bootloader or selling the Evertool-Bootloader itself without hardware |
|
|
137 |
(as binary, source-code or programmed in a controller). Or just simply: If you earn money with my work, |
|
|
138 |
you owe me a part of your profit. |
|
|
139 |
</p> |
|
|
140 |
|
|
|
141 |
|
|
|
142 |
<h3>Hardware</h3> |
|
|
143 |
|
|
|
144 |
<h4>Schematic</h4> |
|
|
145 |
|
|
|
146 |
<p>Evertool V 0.9 Schematic</p> |
|
|
147 |
|
|
|
148 |
<center> |
|
|
149 |
|
|
|
150 |
<table> |
|
|
151 |
<tbody><tr> |
|
|
152 |
<td> |
|
|
153 |
<a href="http://www.siwawi.arubi.uni-kl.de/avr_projects/evertool/evertool_schem_0_9b.png"> |
|
|
154 |
<img src="index_soubory/evertool_schem_0_9b_small.jpg"> |
|
|
155 |
</a> |
|
|
156 |
<br> |
|
|
157 |
<a href="http://www.siwawi.arubi.uni-kl.de/avr_projects/evertool/evertool_schem_0_9b.png">enlarge (2400*1600 png-Graphics)</a> |
|
|
158 |
</td> |
|
|
159 |
<td> |
|
|
160 |
<script type="text/javascript"><!-- |
|
|
161 |
google_ad_client = "pub-3972068798267869"; |
|
|
162 |
google_ad_width = 120; |
|
|
163 |
google_ad_height = 240; |
|
|
164 |
google_ad_format = "120x240_as_rimg"; |
|
|
165 |
google_cpa_choice = "CAAQo-WbzgEaCPNnEyuh612cKM3B93M"; |
|
|
166 |
//--></script> |
|
|
167 |
<script type="text/javascript" src="index_soubory/show_ads.js"> |
|
|
168 |
</script><iframe name="google_ads_frame" src="index_soubory/ads_002.htm" marginwidth="0" marginheight="0" vspace="0" hspace="0" allowtransparency="true" frameborder="0" height="240" scrolling="no" width="120"></iframe> |
|
|
169 |
</td> |
|
|
170 |
</tr> |
|
|
171 |
</tbody></table> |
|
|
172 |
|
|
|
173 |
</center> |
|
|
174 |
|
|
|
175 |
<!-- |
|
|
176 |
<p>Evertool V 0.3 Layout SMD (<b>preliminary</b>)</p> |
|
|
177 |
<center> |
|
|
178 |
<img src="evertool_layout_0_3_small.png"> |
|
|
179 |
</center> |
|
|
180 |
--> |
|
|
181 |
|
|
|
182 |
<h4>Board</h4> |
|
|
183 |
|
|
|
184 |
<p> |
|
|
185 |
</p><center> |
|
|
186 |
<img src="index_soubory/evertool_0_6_pcb.jpg"><br> |
|
|
187 |
Evertool V 0.6 JMP Board - Thanks to Mark Pepper for makeing the prototype-PCB. @0lmx: first ;-) ) |
|
|
188 |
</center> |
|
|
189 |
<p></p> |
|
|
190 |
|
|
|
191 |
<p>Remarks:</p> |
|
|
192 |
<ul> |
|
|
193 |
<li> In this layout all "thru-hole"-parts are located on the backside. So a one-sided PCB with |
|
|
194 |
some "wire-bridges" will do. Still around 100 holes to drill...</li> |
|
|
195 |
</ul> |
|
|
196 |
|
|
|
197 |
<p>Florian Schenk has created a device based on the Evertool-design with an USB-Interface (FTDI232-IC) and created a layout. See <a href="#etusb">below</a>. |
|
|
198 |
|
|
|
199 |
|
|
|
200 |
</p><p>Main Parts:</p><p> |
|
|
201 |
|
|
|
202 |
</p><ul> |
|
|
203 |
<li>AVRISP-section |
|
|
204 |
<ul> |
|
|
205 |
<li>ATmega8535 or AT90S8535</li> |
|
|
206 |
<li>MAX(3)232 (3,3V Version preferred)</li> |
|
|
207 |
<li>2*5 pin-header</li> |
|
|
208 |
<li>SUBD-9 Socket</li> |
|
|
209 |
</ul> |
|
|
210 |
</li><li>JTAGICE-section</li> |
|
|
211 |
<ul> |
|
|
212 |
<li>ATmega16</li> |
|
|
213 |
<li>2 2*5 pin-headers</li> |
|
|
214 |
</ul> |
|
|
215 |
<li><a href="http://www.siwawi.arubi.uni-kl.de/avr_projects/evertool/partlist_0_5.txt">Complete Part-List the old Version 0.5.</a></li> |
|
|
216 |
</ul> |
|
|
217 |
|
|
|
218 |
|
|
|
219 |
<p>During development:</p> |
|
|
220 |
<ul> |
|
|
221 |
<li>any ISP capable AVR programmer (STK200-dongle, AVRISP, AVR910, STK500)</li> |
|
|
222 |
</ul> |
|
|
223 |
|
|
|
224 |
<p>Since Evertool can be powered by the target-system the MAX<b>3</b>232 (or compatible |
|
|
225 |
3.3V RS-232-interface-IC) is preferred for reliable programming and debugging of 3.3V target systems. |
|
|
226 |
Some "5Volt-MAX232" (or compatible) ICs are known to work at 3.3V. But I do not |
|
|
227 |
have any reliable source of information.</p> |
|
|
228 |
|
|
|
229 |
<p>Two remarks about low-voltage ("L"-type) AVRs:</p> |
|
|
230 |
<ul> |
|
|
231 |
<li><a href="http://www.robotgames.net/atmel/mega8_or_mega8l.htm">Here</a> is an information from |
|
|
232 |
the AVR Technical support.</li> |
|
|
233 |
<li>Another <b>non</b>-offical information: The datasheets state that only L-type AVRs |
|
|
234 |
should be used for voltages below 4.5V. According to the information I've got from some "insiders" |
|
|
235 |
(who do not work for ATMEL) there is no selection for "low-voltage" operation. The selection is done for |
|
|
236 |
controllers which do not work reliably at 16MHz. Those are labeled as "L"-type. So there should be no |
|
|
237 |
problem using "normal" (non-"L") AVRs with Evertool at 3.3V operation voltage. I have tested "normal" |
|
|
238 |
AVRs with my prototypes and had no problems with Vcc=3.3V. Since XTAL-frequencies for both |
|
|
239 |
Evertool-controllers are below 8MHz you may just select the type you can get cheaper.</li> |
|
|
240 |
</ul> |
|
|
241 |
|
|
|
242 |
<!-- Text vom Link: |
|
|
243 |
Is there actually a difference between the chips? |
|
|
244 |
|
|
|
245 |
Someone told me that the Mega8L chips were Mega 8L's that failed the 16MHz speed tests. I asked Atmel about this and this was their engineer's response: |
|
|
246 |
|
|
|
247 |
Dear Customer, |
|
|
248 |
All versions are basically the same device. The only difference is that they are tested with different voltage levels and speed grads. There is no requalification of failing devices from one classification to another. As you can see by the definition of the voltage level and speed grades of the AVR devices, there is a clear relation between these settings. It is therefore very likely that a specific device from one classification will work within the specification limits of another classification. But this can never be guarantied from Atmel, due to the fact that that specific device is in production only tested within its own classification limits. |
|
|
249 |
Best Regards, |
|
|
250 |
Atmel AVR Technical Support |
|
|
251 |
|
|
|
252 |
So failed chips don't get sold off under a different label and it's very likely that a Mega8L will run at 16MHz and a Mega8 will run at 2.7V. Just note that they haven't been tested outside their specs and remember it's unlikely that either will run at 16MHz and 2.7V at the same time. |
|
|
253 |
|
|
|
254 |
Of course if you're buying a chip buy the one tested for the conditions you expect to use it under. For me the decision was easy because on a Robot voltage tolerance can be an issue. You don't want your Bot to coats to a halt in the middle of a bout because the voltage dipped below 4V. I also don't care about the higher speed because I plan on using the internal clock which only goes up to 8MHz anyway |
|
|
255 |
--> |
|
|
256 |
|
|
|
257 |
|
|
|
258 |
<h4>Development-Prototype-Board</h4> |
|
|
259 |
|
|
|
260 |
<center> |
|
|
261 |
<img src="index_soubory/evertool_proto.jpg"> |
|
|
262 |
</center> |
|
|
263 |
|
|
|
264 |
<h4><a href="http://www.siwawi.arubi.uni-kl.de/avr_projects/evertool/gallery/index.html">Picture Gallery</a></h4> |
|
|
265 |
|
|
|
266 |
|
|
|
267 |
<h3>Software</h3> |
|
|
268 |
|
|
|
269 |
<ul> |
|
|
270 |
<li>The special Evertool-firmware (a "bootloader"). This bootloader |
|
|
271 |
gets programmed into the ATmega16. The distribution-archive includes a |
|
|
272 |
Windows batch-file for easier installation (see below). The installer |
|
|
273 |
uses "AVRDUDE W32" which is also included. Make sure the driver |
|
|
274 |
"give-io" is installed when a par-port-programmer (i.e. a |
|
|
275 |
STK200-type-dongle) is used with WinNT/2k/XP. Give-io is also included. |
|
|
276 |
Functions of the Evertool-bootloader: <ul> |
|
|
277 |
<li>UART-Bootloader to upload the ATMEL JTAGICE firmware into |
|
|
278 |
the flash of the ATmega16 on the Evertool-board thru AVRStudio/AVRProg.</li> |
|
|
279 |
<li>AVR910-style |
|
|
280 |
ISP programmer to program the ATMEL AVRISP firmware into the ATmega8535 |
|
|
281 |
on the Evertool-board thru AVRProg. The Evertool ATmega16 acts like the |
|
|
282 |
AVR90S1200 in the original AVR910-design but the hardware UART and |
|
|
283 |
hardware SPI of the ATmega16 are used instead of the "bit-bang" SPI and |
|
|
284 |
software UART in the original design with an AVR90S1200. The Evertool's |
|
|
285 |
bootloader programming support has only been tested with an ATmega8535 |
|
|
286 |
(also in AT90S8535-compatibility-mode) since this is the only Atmel |
|
|
287 |
AVRISP/STK500 compatible controller.</li> |
|
|
288 |
<li>High speed clock generation for rescue clock.</li> |
|
|
289 |
</ul> |
|
|
290 |
|
|
|
291 |
Binary-distributions of the Evertool-bootloader. Only free for <b>non-commercial</b> use! |
|
|
292 |
<ul> |
|
|
293 |
<li><a href="http://www.siwawi.arubi.uni-kl.de/avr_projects/evertool/evertool_SW07_HW09_PB0_20050211.zip">Version 0.7_HW09</a> (Timestamp 20050211). For the Hardware-Versions 0.7->1.1. |
|
|
294 |
</li><li><a href="http://www.siwawi.arubi.uni-kl.de/avr_projects/evertool/evertool_SW07_HW06_PA0_20050211.zip">Version 0.7_HW06</a> (Timestamp 20050211). For the Hardware-Version 0.6 JMP. |
|
|
295 |
</li><li><a href="http://www.siwawi.arubi.uni-kl.de/avr_projects/evertool/evertool_0_2_bin_20040601.zip"><b>Old</b> Version 0.2</a> |
|
|
296 |
(Timestamp 20040601). This version has two issues in the ATmega8535 |
|
|
297 |
programming-module: (a) Sometimes AVRProg looses sync. Just press the |
|
|
298 |
OK-Button if the Sync-Dialog appears on the screen. (b) The ATmega8535 |
|
|
299 |
can't be erased from the Evertool-Bootloader which causes errors during |
|
|
300 |
upgrade of the AVRISP-firmware when there is already some code in the |
|
|
301 |
ATmega8535 flash. Both issues have no influence on the ATmega16 |
|
|
302 |
JTAG-firmware update and have been fixed in version 0.7 and 1.1a.</li> |
|
|
303 |
</ul> |
|
|
304 |
|
|
|
305 |
Licensed users will find the commercial version 1.1a on the web-page mentioned in the Evertool manual. |
|
|
306 |
|
|
|
307 |
</li><li>ISP-Programming software compatible to the programmer you've got from your friend (AVRDUDE, ponyprog, STK500-plungin etc.). |
|
|
308 |
To upload the bootloader into the ATmega16 and set the fuses and lock-bits in the ATmega8535 and ATmega16</li> |
|
|
309 |
<li>AVRStudio 4 - AVRProg (from the tools-menu) is needed to upload the AVRISP-firmware and the JTAGICE-firmware which also |
|
|
310 |
come with AVRStudio.</li> |
|
|
311 |
</ul> |
|
|
312 |
|
|
|
313 |
<hr> |
|
|
314 |
<center> |
|
|
315 |
<script type="text/javascript"><!-- |
|
|
316 |
google_ad_client = "pub-3972068798267869"; |
|
|
317 |
google_ad_width = 728; |
|
|
318 |
google_ad_height = 150; |
|
|
319 |
google_ad_format = "728x90_as"; |
|
|
320 |
google_ad_channel =""; |
|
|
321 |
google_color_border = "336699"; |
|
|
322 |
google_color_bg = "FFFFFF"; |
|
|
323 |
google_color_link = "336699"; |
|
|
324 |
google_color_url = "008000"; |
|
|
325 |
google_color_text = "000000"; |
|
|
326 |
//--></script> |
|
|
327 |
<script type="text/javascript" src="index_soubory/show_ads.js"> |
|
|
328 |
</script><iframe name="google_ads_frame" src="index_soubory/ads_003.htm" marginwidth="0" marginheight="0" vspace="0" hspace="0" allowtransparency="true" frameborder="0" height="150" scrolling="no" width="728"></iframe> |
|
|
329 |
</center> |
|
|
330 |
<hr> |
|
|
331 |
|
|
|
332 |
<!-- |
|
|
333 |
There is a small error in the public bootloader-code (0.2): sometimes AVRProg looses sync. Just press the OK-Button if the Sync-Dialog appears on the |
|
|
334 |
screen. In the commercial version of the bootloader this has been fixed. |
|
|
335 |
<br> |
|
|
336 |
There is another small error in the 0.2-Bootloader: |
|
|
337 |
the ATmega8535 can't be erased from the Evertool-Bootloader which causes errors during upgrade of the AVRISP-firmware when there is already some code |
|
|
338 |
in the ATmega8535 flash. Workaround for Version 0.2: use another programmer (a "ParPort-Dongle" and PonyProg or avrdude will do) and erase the ATmega8535 |
|
|
339 |
(Chip- or Flash-Erase) before uploading a new stk500-firmware (stk500.ebn) via the Evertool bootloader. The problem has been fixed in the commecial version |
|
|
340 |
a while ago and a new non-commercial binary will be available here soon after some testing of the "backport". This is a non-issue for Evertool-light, |
|
|
341 |
the internal ATmega16 "Application-Section-Erase" does work. |
|
|
342 |
</li> |
|
|
343 |
--> |
|
|
344 |
|
|
|
345 |
|
|
|
346 |
<h3>Step-by-Step Guide to Software-Installation</h3> |
|
|
347 |
|
|
|
348 |
<ol> |
|
|
349 |
<li>Build the board and double-check it.</li> |
|
|
350 |
<li>Set the reset-select jumper near the ATMega16 to "ISP ATmega16".</li> |
|
|
351 |
<li>Set the reset-select jumper near the ATMega8535 to "ISP ATmega8535".</li> |
|
|
352 |
<li>Connect your programmer (STK200-dongle or whatever) to the ATmega16 ISP-Port.</li> |
|
|
353 |
<li>Connect an external power supply to the Evertools board if STK200-PPI, AVRISP or AVR910-type programmer is used.</li> |
|
|
354 |
<li>Upload the Evertool bootloader into the ATmega16 flash using |
|
|
355 |
PonyProg or avrdude or whatever software can talk to you programmer.</li> |
|
|
356 |
<li>Program the ATmega16 fuses and lock-bits (external high freq. |
|
|
357 |
crystal, boot-reset, boot-size 1024 words, SPM in boot-section locked).</li> |
|
|
358 |
<li>Connect your programmer (STK200-dongle or whatever) to the ATmega8535 ISP-Port.</li> |
|
|
359 |
<li>Program the ATmega8535 fuses (external high freq. crystal, AT90S8535-compatibility flag (not needed - but can not do any harm)).</li> |
|
|
360 |
<li>Set the reset-select jumper near the ATmega16 to "Normal/ATmega8535 programming".</li> |
|
|
361 |
<li>Power-down the Evertool board.</li> |
|
|
362 |
<li>Connect your PCs serial port to the Evertool board with a serial/RS232 cable.</li> |
|
|
363 |
<li>Select the UART-Jumpers/Switch to connect to the ATmega16.</li> |
|
|
364 |
<li>Close the "enable Bootloader (BL)" Jumper near the ATmega16.</li> |
|
|
365 |
<li>Connect the ATmega16 ISP Pin-Header ("ISP mega16") to the ATmega8535 ISP Pin-Header ("ISP mega8535") with a 10-wire cable (You |
|
|
366 |
will need such a cable to connect Evertool to you target boards - so this is no extra part).</li> |
|
|
367 |
<li>Power-up the board.</li> |
|
|
368 |
<li>Start AVRStudio, start Tools/AVRProg. <b>(2)</b></li> |
|
|
369 |
<li>Select "ATmega16 boot" from the AVRProg device selection.</li> |
|
|
370 |
<li>Select [Browse] and browse to /programs/Atmel/AVR Tools/JTAGICE in |
|
|
371 |
the file-dialog, select the file Upgrade.ebn (set filter to *.*).</li> |
|
|
372 |
<li>Press the [Program] button in the "Flash" frame. Now the JTAGICE |
|
|
373 |
firmware gets uploaded into the ATmega16 via "self-programming" aka |
|
|
374 |
bootloader-programming and verified from the Evertool-bootloader.</li> |
|
|
375 |
<li>Select "ATmega8515 boot" (yes: no typo. It's 8515 not 8535) from the AVRProg device selection.<b>(3)</b></li> |
|
|
376 |
<li>Select [Browse] and browse /programs/Atmel/AVR Tools/STK500, select the file stk500.ebn (set filter to *.*).</li> |
|
|
377 |
<li>Press the [Program]-Flash button. AVRProg will ask to continue |
|
|
378 |
since the Flash "overwrites boot", select "continue". The next message |
|
|
379 |
box will ask if the file should be truncated: say "no". Now the |
|
|
380 |
Evertool-bootloader uploads and verifies the AVRISP firmware into the |
|
|
381 |
ATmega8535 via serial-(in-system-)programming.<b>(4)</b></li> |
|
|
382 |
<li>Power-down the board</li> |
|
|
383 |
<li>Remove the cable between ATmega16 ISP-connector and ATmega8535 ISP-connector.</li> |
|
|
384 |
<li>Open the Bootloader-Enable ("enable BL") Jumper near the ATmega16</li> |
|
|
385 |
<li>Set the reset-select jumper near the ATMega8535 to "normal/AVRISP mode"</li> |
|
|
386 |
<li>Done.</li> |
|
|
387 |
</ol> |
|
|
388 |
|
|
|
389 |
<b>Remarks:</b><br> |
|
|
390 |
(1) n.t.<br> |
|
|
391 |
(2) If the message box "No supported board found" appears on the screen |
|
|
392 |
verify that no user software uses the COM-port, the UART-select |
|
|
393 |
jumpers/switch are/is set to ATmega16/JTAG, the Evertool bootloader is |
|
|
394 |
programmed into the ATmega16, the board is powered and the "enable |
|
|
395 |
Bootloader"-jumper is set. You may also read the <a href="http://www.atmel.com/dyn/resources/prod_documents/DOC1021.PDF">AVRProg user guide</a>.<br> |
|
|
396 |
(3) You may verify that the ISP connection between the ATmega16 and the ATmega8535 is established by pressing the [Advanced] |
|
|
397 |
button while the device "ATmega8515 boot" is selected. The Advanced Screen should show the ATmega8535 device signature (see the |
|
|
398 |
<a href="http://www.atmel.com/dyn/resources/prod_documents/doc2502.pdf">ATmega8535 datasheet</a>).<br> |
|
|
399 |
(4) If you get verify-errors after the ATmega8535 programming first |
|
|
400 |
verify that all connections and jumper settings are correct and |
|
|
401 |
the signature-bytes can be read (Advanced Button). If there are still |
|
|
402 |
problems press the Chip-Erase button in the advance stettings Chip |
|
|
403 |
Erase for the Mega8535 is implemented in bootloader version 0.7 and |
|
|
404 |
above.<br> |
|
|
405 |
|
|
|
406 |
|
|
|
407 |
<p>The steps 1-10 are only needed for the first time to prepare the |
|
|
408 |
"virgin" ATmegas. The binary-distribution of the Evertool bootloader |
|
|
409 |
includes a setup-routine which will partly automate the steps 1-10 |
|
|
410 |
(flash upload and fuse-settings). All other steps are needed every time |
|
|
411 |
the AVRStudio whants to update an AVRISP or JTAGICE to a new firmware. |
|
|
412 |
Avoid letting AVRStudio do the updates automatically (it will not |
|
|
413 |
work). Just cancel the "upgrade-dialogs" and follow the |
|
|
414 |
"AVRProg-procedure" (Steps 11 to end) above.</p> |
|
|
415 |
|
|
|
416 |
<p>A description how to program the ATmega16- and ATmega8535-fuses with PonyProg provided by Jeff Havens can be found on |
|
|
417 |
<a href="http://www.siwawi.arubi.uni-kl.de/avr_projects/evertool/Evertool_fuses_PonyProg.html">this page</a>. |
|
|
418 |
|
|
|
419 |
</p><p>The commercial version of the bootloader comes preprogrammed on |
|
|
420 |
an ATMega16. No additional programmer ist needed for the initial |
|
|
421 |
Evertool setup. There are no "overwrite" and "truncate" dialogs during |
|
|
422 |
ATmega8535 programming when using the commercial version and the |
|
|
423 |
ATmega8535 fuses are set to the correct values by the bootloader.</p> |
|
|
424 |
|
|
|
425 |
<h3>Operation</h3> |
|
|
426 |
|
|
|
427 |
<p>Depending on the UART-Jumpers/switch and the connection to the target the board now acts as an AVRISP or as a JTAGICE.</p> |
|
|
428 |
<ul> |
|
|
429 |
<li>Set the UART-jumpers to ATmega8535 and connect the target to the |
|
|
430 |
ATmega8535 ISP pin-header (either 10pin "Kanda-standard" or 6pin "Atmel |
|
|
431 |
standard") and the board will act as an |
|
|
432 |
AVRISP/STK500-protocol-programmer which can be accessed from |
|
|
433 |
AVRStudio's Tools-menue (or from AVRDUDE as programmer-type STK500). |
|
|
434 |
See the Application-note <a href="http://www.atmel.com/dyn/resources/prod_documents/doc2521.pdf">AVR 042</a> |
|
|
435 |
for pin-assigments. |
|
|
436 |
avrdude 4.3.0 does not support the AVRISP/STK500 firmware version 2.x |
|
|
437 |
which is shipped in the stk500.ebn-file of AVRStudio 4.11. An |
|
|
438 |
experimental avrdude-Version with firmware version 2 support is |
|
|
439 |
available from my <a href="http://www.siwawi.arubi.uni-kl.de/avr_projects/index.html#avrdudew32">AVR-projects-page</a>.</li> |
|
|
440 |
<li>Set the UART-jumpers/switch to ATmega16 and connect the target to the JTAG-header and the board will act |
|
|
441 |
as a JTAGICE which can be accessed from the AVRStudio Tools-menu.</li> |
|
|
442 |
<li><b>Special "Rescue"-Mode</b>: When the Bootloader-Enable jumper is |
|
|
443 |
set during power-up a clock-signal (0,73MHz) is available at the |
|
|
444 |
"Rescue-Clock" pin-header. With this clock-signal connected to the |
|
|
445 |
XTAL1-pin of an AVR a misconfigured controller can be accessed and |
|
|
446 |
reprogrammed. (helps with fuses: external clock-signal instead of |
|
|
447 |
external crystal/quarz et.). Use the AVRISP part of Evertool to |
|
|
448 |
reprogram the fuses with the AVRStudio STK500/AVRISP plug-in (the |
|
|
449 |
JTAGICE part is not available if the ATmega16 is in |
|
|
450 |
bootloader/rescue-mode).</li> |
|
|
451 |
</ul> |
|
|
452 |
|
|
|
453 |
The operation is described in the AVRStudio online-help. The AVRISP parts acts exactly as the original. The only extension is |
|
|
454 |
the "Target Reset" button.<br> |
|
|
455 |
The JTAGICE-Part <!-- may not show the target-voltage correctly but other functions (programming/debugging) work as expected and --> works as |
|
|
456 |
described in the AVRStudio online-help. You may also use the JTAG-section with the <a href="http://avarice.sourceforge.net/">AVaRICE</a> |
|
|
457 |
interface-software to the gnu-debugger (gdb) on non-MS-Windows machines. |
|
|
458 |
|
|
|
459 |
|
|
|
460 |
<h3>Questions and Answers</h3> |
|
|
461 |
|
|
|
462 |
|
|
|
463 |
<!-- |
|
|
464 |
<p><cite>Are printed circuit boards available?</cite><br> |
|
|
465 |
Coming soon! A bundle of a PCB (Version 1.1) and an ATmega16 preprogrammed with an improved version of the Evertool bootloader will |
|
|
466 |
be available soon. All needed parts are "thru-hole" (see picture below) and easily available. No additional programming-hardware |
|
|
467 |
needed which means only the steps 12-end in the "step-by-step guide" above have to be done for firmware-installation. No additional |
|
|
468 |
programming hardware needed. Kits with all needed parts and fully assembled and tested Evertools will follow. |
|
|
469 |
Please "stay tuned" for further information.</p> |
|
|
470 |
<center><img src="et_pdip.jpg"><br>Layout and Picture (c) 2004 <a href="http://www.ispf.de">www.ispf.de</a></center> |
|
|
471 |
--> |
|
|
472 |
|
|
|
473 |
<p><cite>Are ready-made Evertools available?</cite><br> |
|
|
474 |
Yes, see the <a href="http://www.myevertool.de/">Myevertool-Page</a>. The page is in German but you can contact |
|
|
475 |
Mr. Büttner by e-mail in English. Myevertool is a sligthly modified version of the Evertool-design and has |
|
|
476 |
a licensed version of the "commercial" Evertool-Bootloader preinstalled.</p> |
|
|
477 |
|
|
|
478 |
<p><cite>Are printed circuit-boards available?</cite><br> |
|
|
479 |
Yes, see the <a href="http://www.myevertool.de/">Myevertool-Page</a>. |
|
|
480 |
The page is in German but you can contact Mr. Büttner by e-mail in English (info (AT) myevertool [D O T] de).</p> |
|
|
481 |
|
|
|
482 |
<p><cite>Can I have the Eagle-files?</cite><br> |
|
|
483 |
No, I do not offer Eagle-Files neither schematic nor layout.</p> |
|
|
484 |
|
|
|
485 |
<p><cite>Why two controllers?</cite><br> |
|
|
486 |
Since the original Atmel firmwares are used, there have to be two |
|
|
487 |
controllers. One for each task. It may be possible to extend the Evertool-bootloader |
|
|
488 |
to emulate an STK500/AVRISP or AVR910-type programmer but I do not have enough |
|
|
489 |
time and knowledge to keep this software up-to-date with every new AVR-device.</p> |
|
|
490 |
|
|
|
491 |
<p><cite>Why no USB interface?</cite><br> |
|
|
492 |
An USB to serial (RS232) converter has been tested succesfully with the Evertool prototyp-board. This |
|
|
493 |
converter is avaialable for only 13EUR inlcuding cable at www.reichelt.de. A FT232/245 with USB-socket |
|
|
494 |
and cable is not cheaper in small amounts. For a device similar to the Evertool but with USB-Interace see <a href="#etusb">below</a>.</p> |
|
|
495 |
|
|
|
496 |
<p><cite>Why SMD?</cite><br> |
|
|
497 |
Well, no reason. It's my first SMD-project. Thought Evertool might be "nicer" in SMD.</p> |
|
|
498 |
|
|
|
499 |
<p><cite>Does Evertool support Debugwire?</cite><br> |
|
|
500 |
No. So far no MKII schematic is available for "inspiration" and the MKII Firmware coming |
|
|
501 |
with AVRStudio seems to have another format than the ebn-files.</p> |
|
|
502 |
|
|
|
503 |
<p><cite>AVRProg shows "No supported board found" - what's wrong?</cite><br> |
|
|
504 |
Please double check your board and double check that all configuration-steps |
|
|
505 |
have been done as described above before sending me an e-mail. You can test |
|
|
506 |
if the Bootloader is installed, the fuses are set correctly and the bootloader |
|
|
507 |
is active by using a terminal software (Hyperterm, Bray Terminal...). Set the terminal |
|
|
508 |
to: 19200, 8N1, no flowcontrol, mount the "enable Bootloader (BL)"-Jumper, |
|
|
509 |
apply power to the board, make sure the RS232-level-shifter is connected to |
|
|
510 |
the ATmega16 and send a S (capital S) to the Evertool. |
|
|
511 |
If everything is o.k. the bootloader will answer with the characters: |
|
|
512 |
AVRBOOT. If not: double check...</p> |
|
|
513 |
|
|
|
514 |
|
|
|
515 |
<hr> |
|
|
516 |
<a name="etlight"></a> |
|
|
517 |
<h2>"Evertool-Light"</h2> |
|
|
518 |
<p>"Evertool-Light" is a stripped down version of Evertool which emulates the JTAGICE only. |
|
|
519 |
The design has been done by Rainer Rakow. The schematic is based on my Evertool design. |
|
|
520 |
Basicly this is an extended version of the "BOOTICE"-design which can be found somewhere else. </p> |
|
|
521 |
|
|
|
522 |
<center> |
|
|
523 |
<a href="http://www.siwawi.arubi.uni-kl.de/avr_projects/evertool/light/etl_schem.jpg"><img src="index_soubory/etl_schem_t.jpg"></a> |
|
|
524 |
<a href="http://www.siwawi.arubi.uni-kl.de/avr_projects/evertool/light/smd_side.jpg"><img src="index_soubory/smd_side_t.jpg"></a> |
|
|
525 |
<a href="http://www.siwawi.arubi.uni-kl.de/avr_projects/evertool/light/connector_side.jpg"><img src="index_soubory/connector_side_t.jpg"></a> |
|
|
526 |
<br>Click on the images for higher resolution pictures. |
|
|
527 |
</center> |
|
|
528 |
|
|
|
529 |
<p> |
|
|
530 |
<a href="http://www.siwawi.arubi.uni-kl.de/avr_projects/evertool/light/evertool_light_rr.zip">zip-Archive including schematic and PCB-layout (Postscript-files) of Evertool-Light</a> (ca. 180kB) |
|
|
531 |
<br>(9.Jul.2004: Message from Rainer: the free end of resistor R2 should be connected to GND in his layout.) |
|
|
532 |
</p> |
|
|
533 |
|
|
|
534 |
|
|
|
535 |
<h3>Software-Installation on Evertool LIGHT</h3> |
|
|
536 |
|
|
|
537 |
<ol> |
|
|
538 |
<li>Build the board and double-check it.</li> |
|
|
539 |
<li>Connect your programmer (STK200-dongle or whatever) to the ISP-Port.</li> |
|
|
540 |
<li>Connect an external power supply to the Evertool-Light board if STK200-PPI, AVRISP or AVR910-type programmer is used.</li> |
|
|
541 |
<li>Upload the Evertool bootloader (which can also be used for |
|
|
542 |
Evertool-Light) into the ATmega16 flash using PonyProg or avrdude or |
|
|
543 |
whatever software can talk to you programmer.</li> |
|
|
544 |
<li>Program the ATmega16 fuses and lock-bits (external high freq. |
|
|
545 |
crystal, boot-reset, boot-size 1024 words, SPM in boot-section locked - |
|
|
546 |
lfuse: 0xff hfuse: 0xd8:m lock: 0x2f).</li> |
|
|
547 |
<li>Power-down the Evertool-Light board.</li> |
|
|
548 |
<li>Connect your PCs serial port to the board with a serial/RS232 cable.</li> |
|
|
549 |
<li>Close the "enable Bootloader (BL)" (JP3) Jumper</li> |
|
|
550 |
<li>Power-up the board.</li> |
|
|
551 |
<li>Start AVRStudio, start Tools/AVRProg. <b>(1)</b></li> |
|
|
552 |
<li>Select "ATmega16 boot" from the AVRProg device selection.</li> |
|
|
553 |
<li>Select [Browse] and browse to /programs/Atmel/AVR Tools/JTAGICE in |
|
|
554 |
the file-dialog, select the file Upgrade.ebn (set filter to *.*).</li> |
|
|
555 |
<li>Press the [Program] button in the "Flash" frame. Now the JTAGICE |
|
|
556 |
firmware gets uploaded into the ATmega16 via "self-programming" aka |
|
|
557 |
bootloader-programming and verified from the Evertool-bootloader.</li> |
|
|
558 |
<li>Power-down the board</li> |
|
|
559 |
<li>Open the Bootloader-Enable ("enable BL"/JP3) Jumper</li> |
|
|
560 |
<li>Done.</li> |
|
|
561 |
</ol> |
|
|
562 |
|
|
|
563 |
<b>Remarks:</b><br> |
|
|
564 |
(1) If the message box "No supported board found" appears on the screen |
|
|
565 |
verify that no user software uses the COM-port, the UART-select |
|
|
566 |
jumpers/switch are/is set to ATmega16/JTAG, the Evertool bootloader is |
|
|
567 |
programmed into the ATmega16, the board is powered and the "enable |
|
|
568 |
Bootloader"-jumper is set. You may also read the <a href="http://www.atmel.com/dyn/resources/prod_documents/DOC1021.PDF">AVRProg user guide</a>.<br> |
|
|
569 |
|
|
|
570 |
<p>The steps 1-5 are only needed for the first time to prepare the new |
|
|
571 |
ATmega16. The binary-distribution of the Evertool bootloader includes a |
|
|
572 |
setup-routine which will partly automate the steps 1-5 (flash upload |
|
|
573 |
and fuse-settings). All other steps are needed every time the AVRStudio |
|
|
574 |
whants to update the JTAGICE to a new firmware. Avoid letting AVRStudio |
|
|
575 |
do the updates automatically (it will not work). Just cancel the |
|
|
576 |
"upgrade-dialogs" and follow the "AVRProg-procedure" (Steps 6 to end) |
|
|
577 |
above.</p> |
|
|
578 |
|
|
|
579 |
|
|
|
580 |
<center> |
|
|
581 |
<script type="text/javascript"><!-- |
|
|
582 |
google_ad_client = "pub-3972068798267869"; |
|
|
583 |
google_ad_width = 728; |
|
|
584 |
google_ad_height = 150; |
|
|
585 |
google_ad_format = "728x90_as"; |
|
|
586 |
google_ad_channel =""; |
|
|
587 |
google_color_border = "336699"; |
|
|
588 |
google_color_bg = "FFFFFF"; |
|
|
589 |
google_color_link = "336699"; |
|
|
590 |
google_color_url = "008000"; |
|
|
591 |
google_color_text = "000000"; |
|
|
592 |
//--></script> |
|
|
593 |
<script type="text/javascript" src="index_soubory/show_ads.js"> |
|
|
594 |
</script><iframe name="google_ads_frame" src="index_soubory/ads_004.htm" marginwidth="0" marginheight="0" vspace="0" hspace="0" allowtransparency="true" frameborder="0" height="150" scrolling="no" width="728"></iframe> |
|
|
595 |
</center> |
|
|
596 |
|
|
|
597 |
|
|
|
598 |
<hr> |
|
|
599 |
<a name="etusb"></a> |
|
|
600 |
<h2>"Evertool-USB"</h2> |
|
|
601 |
|
|
|
602 |
<p>Florian Schenk has extended the Evertool with an USB-Interface (FTDI232-USB-to-serial IC). He has also created a layout. |
|
|
603 |
The schematic and the Eagle-files (.brd and .sch) can be downloaded from <a href="http://www.siwawi.arubi.uni-kl.de/avr_projects/evertool/evertool_usb_v1.zip">[here]</a> (timestamp 20060908). |
|
|
604 |
If you have questions you may ask Florian Schenk directly by e-mail (schenk (At) schema2000 (Dot) de).</p> |
|
|
605 |
|
|
|
606 |
<p>I (M.Thomas) do not offer any support for this ET-USB-design. I have |
|
|
607 |
not reviewed the layout and I do not own such a device. Anyway, at |
|
|
608 |
least a remark from my side: Take care about the voltage-supply. When |
|
|
609 |
the jumper near the USB-connector of "ET-USB" is closed VCC for the |
|
|
610 |
complete device is 5V and |
|
|
611 |
the levels at the ISP- and JTAG-connectors are also near 5V. This is a |
|
|
612 |
"no-no" when connecting to a 3,3V target. If in doubt leave the |
|
|
613 |
supply-jumper near the USB-connector open and supply the ET-USB from |
|
|
614 |
the target-board.</p> |
|
|
615 |
|
|
|
616 |
|
|
|
617 |
|
|
|
618 |
<hr> |
|
|
619 |
|
|
|
620 |
<p><a href="http://www.siwawi.arubi.uni-kl.de/avr_projects/index.html"> back to my AVR projects page</a></p> |
|
|
621 |
|
|
|
622 |
<hr> |
|
|
623 |
Martin Thomas<br> |
|
|
624 |
<img src="index_soubory/mtmailadr2.jpg" alt="e-mail: mthomas (AT) rhrk (D O T) uni-kl (DOT) de"><hr> |
|
|
625 |
<p align="right"> |
|
|
626 |
<small> |
|
|
627 |
<font color="#aaaaaa"> |
|
|
628 |
<br>21436 hits since |
|
|
629 |
<br>Last mod.: Wednesday, 29-Aug-2007 03:27:24 CEST |
|
|
630 |
<br><!-- # echo var="REMOTE_HOST" --> |
|
|
631 |
</font> |
|
|
632 |
</small> |
|
|
633 |
</p> |
|
|
634 |
|
|
|
635 |
</body></html> |