Difference between revisions of "Quick Start Guide/Flashing"

From Ethersex_Wiki
Jump to: navigation, search
(Created page with "{{i18n|Flashing}} = AVR Net-IO mit dem ATMEL Evaluations-Board von Pollin flashen= Als Einsteiger hat man es immer wieder schwer alle Information zu finden. Ich habe lange gesu…")
 
(AVR Fuses)
 
(30 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{i18n|Flashing}}
+
{{i18n|Quick Start Guide/Flashing}}
  
= AVR Net-IO mit dem ATMEL Evaluations-Board von Pollin flashen=
+
= Flashing =
  
Als Einsteiger hat man es immer wieder schwer alle Information zu finden.
+
After compiling the ''ethersex.hex'' you can flash it with avrdude. You can either use avrdude on the command line or call the target ''program'' from the [[Ethersex]] Makefile.
Ich habe lange gesucht bis ich das mit dem Flashen kapiert habe.
 
  
== Benötigt wird: ==
+
== Prerequisites ==
* AVR Net-IO
 
* ATMEL Evaluations-Board
 
* ein 1:1 Kabel für den [[ISP]]-Port (10-poliger Pfostenstecker).
 
  
=== Andere ISP-Programmer ===
+
* the previously selected board, e.g. AVR NET-IO, ready built and (hopefully) tested
Wer über einen ISP-Programmer mit 6-poligem Ausgang verfügt, kann sich ein Adapterkabel bauen. Zu den Pinbelegungen siehe Figure 4-1 auf Seite 5 von [http://www.atmel.com/dyn/resources/prod_documents/doc2521.pdf AVR042: AVR Hardware Design Considerations].
+
* an ISP-Programmer of your choice supported by [http://www.nongnu.org/avrdude avrdude]
 +
* an ISP connector cable that fits to your programmer and your board (either 6 or 10-pin)
 +
* an ethersex.hex compiled in the [[Quick_Start_Guide/Configuration | previous step]]  
  
Achtung, Pin 4 des 10-poligen Steckers ist auf dem AVR Net-IO nicht belegt! GND muss daher an einen der anderen Pins (6, 8 oder 10) angeschlossen werden.
+
If you have an ISP-Programmer with a 6-pin port and a board with a 10-pin header - like the AVR NET-IO - you can create an adapter. You can see the pin configuration in figure 4-1 at page 5 [http://www.atmel.com/dyn/resources/prod_documents/doc2521.pdf AVR042: AVR Hardware Design Considerations]. Note that Pin 4 of the 10-pin connector is not used on the AVR NET-IO. GND has to be connected to one of the other Pins (6, 8 or 10).
  
== Flashen unter Linux ==
+
== Flashing the image with avrdude ==
Das 10-polige Kabel in die ISP-Buchse stecken.
 
Nun das AVR Net-IO Board mit Strom versorgen.
 
Wenn das ISP-Kabel richtig gesteckt ist, leuchtet auf dem Evalutions-Board die (gelbe) LED
 
  
Nach dem Erzeugen der [[:Kategorie:StepByStep#Firmware_kompilieren|ethersex.hex]] kann man mit avrdude das Ganze flashen. Das nachfolgende Kommando ist bei einigen Parametern vom ISP-Programmer abhängig. Das nachfolgende Beispiel gilt für einen ISP-Programmer der über die serielle Schnittstelle arbeitet:
+
The following commands are just examples, the actual command line depends on your ISP-Programmer and hardware.
 +
 
 +
This example is for a serial connection (e.g. the ATMEL Evaluation-Board):
  
 
   avrdude -v -p m32 -c ponyser -P /dev/ttyS0 -U flash:w:ethersex.hex  
 
   avrdude -v -p m32 -c ponyser -P /dev/ttyS0 -U flash:w:ethersex.hex  
  
Für eine USB-ISP-Programmer wäre statt dessen der folgende Befehl zu verwenden:
+
This example for a real USB ISP-Programmer:
 +
 
 +
  avrdude -p m1284p -c avrispmkII -P usb -U flash:w:ethersex.hex
 +
 
 +
For a serial programmer connected via an USB-serial-adapter this may be used:
  
 
   avrdude -v -p m32 -c stk500v2 -P /dev/ttyACM0 -U flash:w:ethersex.hex
 
   avrdude -v -p m32 -c stk500v2 -P /dev/ttyACM0 -U flash:w:ethersex.hex
  
Für ein paralleles ISP-Kabel:
+
And this one for a parallel ISP-Cable:
  
 
   avrdude -p m32 -e -c stk200 -U flash:w:ethersex.hex
 
   avrdude -p m32 -e -c stk200 -U flash:w:ethersex.hex
  
Nach dem Flashen das ISP-Kabel entfernen und kurz die Stromversorgung unterbrechen um das Board zu rebooten.
+
After flashing remove the ISP-Cable and interrupt the power connection for a short time to reboot the board.
 
 
  * -p m32 steht für den ATMega32; -p m644 wäre der ATMega644
 
  * -v erweiterte Ausgaben
 
  * -c ponyser ist das Verfahren wie das Evalutions-Board die Daten flasht
 
  * -P ist die Serielle Schnittstelle an dem das Evalutions-Board angeschlossen ist (bei USB /dev/ttyUSB0)
 
  * -U was man machen möchte. In unserem Fall wollen wir das File ethersex.hex flashen (-U flash:w:ethersex.hex)
 
 
 
Es kann sein das man für den ATMega32 die FUSE Bits setzen muss.
 
 
 
  avrdude -p m32 -c ponyser -P /dev/ttyS0 -U lfuse:w:0xCF:m -U hfuse:w:0xDC:m
 
 
 
Um die korrekte Fuse-Einstellung rauszufinden, ist es sinnvoll http://www.engbedded.com/fusecalc/ zu benutzen.
 
 
 
Die Parameter für MyAVR mySmartusb light (Insbesondere das -e war nötig):
 
  avrdude -p m32 -e -c stk500v2  -P /dev/ttyUSB0 -U flash:w:ethersex.hex
 
 
 
== Umbau von einem ATMega32 auf den ATMega644 / ATMega644p ==
 
 
 
Der Vorteil von ATMega644 und ATMega644p ist vor allem der doppelt so große Speicher gegenüber dem serienmäßigen ATMega32.
 
 
 
=== Mikrocontroller tauschen ===
 
* Stromversorgung abschalten und ISP-Stecker abziehen.
 
* Den ATMega32 aus seinem Sockel auf dem AVR Net-IO ziehen.
 
* Den ATMega644 oder ATMega644p einbauen. (ACHTUNG: Kerbe im Sockel muss mit Kerbe in der CPU übereinstimmen)
 
 
 
=== Fuse-Bits setzen ===
 
* ISP wieder einstecken und Stromversorgung einschalten.
 
* Fuse-Bits setzen
 
* '''Wichtig:''' im Auslieferungszustand ist der ATMega644 programmiert auf 8MHz interner RC-Oszillator '''und''' der Takt wird durch 8 geteilt; also 1MHz Takt. Wenn ein externer Quarz verwendet wir, muss das Bit CKDIV8 (Takt geteilt durch 8) auf null gesetzt werden.
 
  
* (Übernommen von dinus) Der ATMega wird dabei mit 1Mhz getaktet, kein JTAG.
+
  * -p m32: ATMega32; -p m644: ATMega644; -p ? to list the valid parts
  avrdude -p m644 -c ponyser -P /dev/ttyS0 -U lfuse:w:0xE7:m -U hfuse:w:0xDC:m -U efuse:w:0xFF:m
+
  * -v: display debug messages
* bzw.
+
   * -c ponyser: traditional serial programmer; -c stkk500v2 for the Atmel board
   avrdude -p m644p -c ponyser -P /dev/ttyS0 -U lfuse:w:0xE7:m -U hfuse:w:0xDC:m -U efuse:w:0xFF:m
+
  * -P /dev/tty.serial the serial port your programmer is connected to; -P COM1 for windows machines; -P usb for USB
 +
  * -U the command you want to execute. In our case we want to flash: -U flash:w:ethersex.hex
  
Fuse-Bits wie sie "DiDi" einsetzt. Der JTAG ist eingeschaltet.
+
== Using avrdude from the makefile ==
  
  * -U lfuse:w:0xf7:m -U hfuse:w:0x99:m -U efuse:w:0xfc:m
+
Since [https://github.com/ethersex/ethersex/commit/16c2a388ec775b51c049db1eeff3a8171c6ad71b 16c2a388ec] the [[Ethersex]] makefile supports two new targets, ''program'' and ''fuses'', to invoke avrdude. The target ''program'' calls avrdude with the options to flash the previously compiled ''ethersex.hex'' to the MCU. The ''fuses'' target may be used to program the MCUs fuse registers.
  
Fuse-Bits wie "loddel" sie einsetzt. Der JTAG ist ausgeschaltet.
+
AVRDUDE options and MCU fuse register settings may be configured via a menuconfig dialog. All settings will be saved to the current profile ''.config''.
  
  * -U lfuse:w:0xf7:m -U hfuse:w:0xd9:m -U efuse:w:0xff:m
+
Available settings and choices on the AVRDUDE configuration page depend on the MCU and clock frequency configured on the General Setup dialog. Please go back to the [[Quick_Start_Guide/Configuration | previous step]] if you haven't done that yet.
  * -U lfuse:w:0xe7:m -U hfuse:w:0xd9:m -U efuse:w:0xff:m
 
  
Fuse-Bits wie "gregor" sie einsetzt. "Damit läuft der 644 auf 16MHz Quarz und der Takt wird nicht durch 8 geteilt." Der JTAG ist eingeschaltet.
+
=== AVRDUDE Configuration ===
  
  * -U lfuse:w:0xef:m -U hfuse:w:0x99:m -U efuse:w:0xff:m
+
If - and only if - the avrdude executable could be found in your ''PATH'', menuconfig's mainmenu will show an option to enter AVRDUDE configuration.
  
=== Ethersex reinflashen===
+
[[File:avrdude_mainmenu.png|right|sub|thumb|200px|menuconfig's mainmenu with AVRDUDE Configuration selected]]
* in der Config von Ethersex (make menuconfig) von ATmega32 auf ATMega644 umstellen
 
* Flashen mit
 
avrdude -p m644 -c ponyser -P /dev/ttyS0 -U flash:w:ethersex.hex -v
 
* bzw.
 
avrdude -p m644p -c ponyser -P /dev/ttyS0 -U flash:w:ethersex.hex -v
 
  
=== Unterschiede zwischen ATMega32, ATMega644, ATMega644p und ATMega1284p===
+
The AVRDUDE configuration page allows to setup the most common options for avrdude:
  
{| border=1 cellspacing=0 padding=4 class=wikitable "
+
[[File:avrdude_menu.png|right|sub|thumb|200px|AVRDUDE configuration page]]
!          !! ATMega32 !! ATMega644 !! ATMega644p !! ATMega1284p
 
|-
 
| Gehäuse  || DIL-40  || DIL-40    || DIL-40    || DIL-40
 
|-
 
| MHz   || max. 16  || max. 20  || max. 20    || max. 20
 
|-
 
| Flash    || 32 KB    || 64 KB    || 64 KB      || 128 KB
 
|-
 
| EEProm  || 1 KB    || 2 KB      || 2 KB      || 4 KB
 
|-
 
| RAM      || 2 KB    || 4 KB      || 4 KB      || 16 KB
 
|-
 
| I/O      || 32      || 32        || 32        || 32
 
|-
 
| PWM      || 4        || 6        || 6          || 6
 
|-
 
| ext. INT || 3        || 32        || 32        || 32
 
|-
 
| Ser-Port || 1        || 1        || 2          || 2
 
|}
 
  
====Datenblätter====
+
;Programmer Type
* AtMega32
+
:avrdude option '-c'.
* ATMega644
+
:Use the programmer configuration choosen from the list.
* ATMega644p
+
:
* [http://www.atmel.com/dyn/resources/prod_documents/8059S.pdf ATMega1284p]
+
:Refer to the official avrdude documentation if you're in doubt about the correct choice for your programmer ([http://www.nongnu.org/avrdude/ avrdude home]).
 +
:
 +
:NB: The list of choices is generated by calling 'avrdude -c ?' and contains all the programmers your avrdude executable supports.
 +
;Port
 +
:avrdude option '-P'.
 +
:Specify the port the programmer is connected to. Serial devices like ponyprog use for example ''/dev/ttyS0'' (= COM1 under Windows!), most modern programmers use ''usb''.
 +
:
 +
: Note that most old-style serial programmers will not work properly when connected to an USB-serial-Adapter!
 +
; Extra verbose output
 +
:avrdude option '-v -v'.
 +
:Be more verbose. Default is '-v'. Use this, if you experience problems while flashing or simply want to see in detail whats going on...
 +
;Do NOT verify after programming
 +
:avrdude option '-V'.
 +
:Do NOT verify flash memory after programming. Use with care and only if you're really sure that your setup is perfect. Speeds things up a bit but it's use is generally discouraged.
 +
;Count # of erase cycles in EEPROM
 +
:avrdude option '-y'.
 +
:Tell avrdude to maintain an erase cycle counter in the last four bytes of the eeprom. The counter has to be initialized by calling avrdude with the option '-Y 1' once.
 +
:
 +
: Do not use this option if your e6 configuration uses the last four bytes of the eeprom.
 +
;Bitclock for ISP or JTAG
 +
:avrdude option '-B'.
 +
:Specify the bit clock period for the JTAG interface or the ISP clock.
 +
:Setting a lower value means higher programming speed. Use higher values if you experience programming errors in your setup.
 +
 +
: The available choices depend on the MCU frequency setting and should not exceed 4/F_CPU in micro seconds:
 +
:
 +
:*4 micro seconds is required for F_CPU < 4 MHz.
 +
:*1 micro second is appropriate for F_CPU < 10 MHz.
 +
:*0.5 micro seconds is appropriate for F_CPU < 16 MHz.
 +
:*0.3 micro seconds is appropriate for F_CPU >= 16 MHz.
 +
:
 +
;Pass extra options to avrdude
 +
:If your programmer or setup requires any extra options to avrdude you may pass them here.
  
== Flashen unter Windows ==
+
=== AVR Fuses ===
Es gibt mindestens zwei Möglichkeiten:
 
#Flashen mit avrdude
 
#Flashen mit AVR Studio
 
  
Wer keines der beiden Programme auf seine Festplatte legen möchte, weil er sein Windows-System nicht ändern möchte, kann auch die [[Live CD]] verwenden.
+
The fuse registers enable/disable or control the basic functionality of the different units of the MCU. One can e. g. enable or disable the Watchdog, the JTAG interface or even the ISP Interface. Configuration of the MCUs clock source or the brown-out detector is also done via the fuse registers.
  
===Flashen mit avrdude===
 
Das Flashen mit avrdude erfolgt prinzipiell genauso wie unter Linux (siehe oben).
 
  
Ein Windows-Binary von avrdude erhält man am einfachsten als Bestandteil von [http://sourceforge.net/projects/winavr/ WinAVR]. (Ansonsten findet man ein Windows-Binary von avrdude auch auf [http://yuki-lab.jp/hw/avrdude-GUI/index.html dieser japanischen Seite], wo man auch eine GUI für avrdude bekommen kann. Google-Translate hilft den japanischen Text zu verstehen.)  
+
'''[[WARNING:]] Programming wrong fuse values may render your MCU UNUSABLE''' (...unless you've access to a JTAG- and/or HV-Programmer.)
  
In der Kommandozeile muss natürlich die Bezeichnung des seriellen Ports angepasst werden, also "COMx" anstelle von "/dev/ttyS0", z.B.
+
* '''There is nothing like ''the universal correct fuse setting'' or ''default fuse setting''.'''
avrdude -v -p m32 -c ponyser -P com3 -U flash:w:ethersex.hex
+
* '''Fuse registers are MCU-specific and their correct settings heavily depend on the circuit and parts in use.'''
 +
* '''Be careful, read the datasheet for the MCU acually in use and think twice what is correct for YOUR hardware!!'''
 +
* '''Do NOT use generic settings you've found somewhere in the net...'''
  
Sofern der Programmer per USB angeschlossen ist, benötigt man
 
* bei echten USB-Programmern die libusb0.dll (bei WinAVR enthalten),
 
* bei Verwendung eines USB-nach-seriell-Adapters mit FTDI-Chip (dieser kann auch manchmal bereits in den Programmer mit USB-Anschluss eingebaut sein!) einen passenden Treiber, siehe http://www.ftdichip.com/Drivers/VCP.htm.
 
  
===Flashen mit AVR Studio===
+
;Fuse Low Byte (FLB)
Das [[AVR Studio]] von Atmel bietet eine grafische Oberfläche zur Bedienung von ISPs.
+
:AVR Fuse Low Byte, two-digit hex value.
 +
:
 +
;Fuse High Byte (FHB)
 +
:AVR Fuse High Byte, two-digit hex value.
 +
:
 +
;Extended Fuse Byte (EFB)
 +
:AVR Extended Fuse Byte, two-digit hex value.
  
Beim AVR Studio werden USB-Treiber für USB-Programmer mitgeliefert, die optional zusammen mit dem AVR Studio installiert werden können.
+
The necessary hex values for the fuse registers might be calculated with e.g. an online [http://www.engbedded.com/fusecalc AVR fuse calculator].
  
Für USB-nach-seriell-Adapter mit FTDI-Chip benötigt man einen passenden Treiber, siehe  http://www.ftdichip.com/Drivers/VCP.htm.
+
[http://www.mikrocontroller.net/articles/AVR_Fuses Article on mikrocontroller.net for reference (German).]
  
=== Links zu Erfahrungsberichten ===
+
== Writing the Bytes ==
*http://www.saschakimmel.de/2010/02/ethersex-auf-avr-net-io-installieren-mittels-pollin-atmel-evaluationsboard-2-0-und-windows/ , jedoch nicht mit ISP-Kabel sondern mit Umstecken des Controllers.
 
  
== Live-CD ==
+
* Disconnect the power from the target board
Diese hat den Vorteil, dass man sein vorhandenes System nicht ändern muss.
+
* Connect your ISP cable to the programmer and the target board
 +
* Reconnect the power and connect your programmer to the PC
 +
* Execute the command you assembled earlier or type ''make program''
 +
* Congratulations! If [[avrdude]] finished without any error you successfully flashed [[Ethersex]] to your target board!
 +
* Disconnect the power and the programmer from the target
 +
* Reconnect the power, your target should boot up with [[Ethersex]]
  
*  http://www.ethersex.de/index.php?title=Live_CD
+
[[Quick_Start_Guide/Configuration | previous step]]
* apt-get install libncurses5-dev
 
* update und installier software fuer ethersex wie beschrieben http://www.ethersex.de/index.php/Download
 
* wenn help in menuconfig nicht geht: apt-get install dialog
 
* weiter wie in "Flashen unter Linux" beschrieben.
 
  
 
[[Category:Ethersex]]
 
[[Category:Ethersex]]
 +
[[Category:Quick Start Guide]]
 
[[Category:StepByStep]]
 
[[Category:StepByStep]]
[[Category:AVR Net-IO]]
 

Latest revision as of 19:20, 29 August 2014

Flashing

After compiling the ethersex.hex you can flash it with avrdude. You can either use avrdude on the command line or call the target program from the Ethersex Makefile.

Prerequisites

  • the previously selected board, e.g. AVR NET-IO, ready built and (hopefully) tested
  • an ISP-Programmer of your choice supported by avrdude
  • an ISP connector cable that fits to your programmer and your board (either 6 or 10-pin)
  • an ethersex.hex compiled in the previous step

If you have an ISP-Programmer with a 6-pin port and a board with a 10-pin header - like the AVR NET-IO - you can create an adapter. You can see the pin configuration in figure 4-1 at page 5 AVR042: AVR Hardware Design Considerations. Note that Pin 4 of the 10-pin connector is not used on the AVR NET-IO. GND has to be connected to one of the other Pins (6, 8 or 10).

Flashing the image with avrdude

The following commands are just examples, the actual command line depends on your ISP-Programmer and hardware.

This example is for a serial connection (e.g. the ATMEL Evaluation-Board):

 avrdude -v -p m32 -c ponyser -P /dev/ttyS0 -U flash:w:ethersex.hex 

This example for a real USB ISP-Programmer:

 avrdude -p m1284p -c avrispmkII -P usb -U flash:w:ethersex.hex

For a serial programmer connected via an USB-serial-adapter this may be used:

 avrdude -v -p m32 -c stk500v2 -P /dev/ttyACM0 -U flash:w:ethersex.hex

And this one for a parallel ISP-Cable:

 avrdude -p m32 -e -c stk200 -U flash:w:ethersex.hex

After flashing remove the ISP-Cable and interrupt the power connection for a short time to reboot the board.

 * -p m32: ATMega32; -p m644: ATMega644; -p ? to list the valid parts
 * -v: display debug messages 
 * -c ponyser: traditional serial programmer; -c stkk500v2 for the Atmel board
 * -P /dev/tty.serial the serial port your programmer is connected to; -P COM1 for windows machines; -P usb for USB
 * -U the command you want to execute. In our case we want to flash: -U flash:w:ethersex.hex

Using avrdude from the makefile

Since 16c2a388ec the Ethersex makefile supports two new targets, program and fuses, to invoke avrdude. The target program calls avrdude with the options to flash the previously compiled ethersex.hex to the MCU. The fuses target may be used to program the MCUs fuse registers.

AVRDUDE options and MCU fuse register settings may be configured via a menuconfig dialog. All settings will be saved to the current profile .config.

Available settings and choices on the AVRDUDE configuration page depend on the MCU and clock frequency configured on the General Setup dialog. Please go back to the previous step if you haven't done that yet.

AVRDUDE Configuration

If - and only if - the avrdude executable could be found in your PATH, menuconfig's mainmenu will show an option to enter AVRDUDE configuration.

menuconfig's mainmenu with AVRDUDE Configuration selected

The AVRDUDE configuration page allows to setup the most common options for avrdude:

AVRDUDE configuration page
Programmer Type
avrdude option '-c'.
Use the programmer configuration choosen from the list.
Refer to the official avrdude documentation if you're in doubt about the correct choice for your programmer (avrdude home).
NB: The list of choices is generated by calling 'avrdude -c ?' and contains all the programmers your avrdude executable supports.
Port
avrdude option '-P'.
Specify the port the programmer is connected to. Serial devices like ponyprog use for example /dev/ttyS0 (= COM1 under Windows!), most modern programmers use usb.
Note that most old-style serial programmers will not work properly when connected to an USB-serial-Adapter!
Extra verbose output
avrdude option '-v -v'.
Be more verbose. Default is '-v'. Use this, if you experience problems while flashing or simply want to see in detail whats going on...
Do NOT verify after programming
avrdude option '-V'.
Do NOT verify flash memory after programming. Use with care and only if you're really sure that your setup is perfect. Speeds things up a bit but it's use is generally discouraged.
Count # of erase cycles in EEPROM
avrdude option '-y'.
Tell avrdude to maintain an erase cycle counter in the last four bytes of the eeprom. The counter has to be initialized by calling avrdude with the option '-Y 1' once.
Do not use this option if your e6 configuration uses the last four bytes of the eeprom.
Bitclock for ISP or JTAG
avrdude option '-B'.
Specify the bit clock period for the JTAG interface or the ISP clock.
Setting a lower value means higher programming speed. Use higher values if you experience programming errors in your setup.
The available choices depend on the MCU frequency setting and should not exceed 4/F_CPU in micro seconds:
  • 4 micro seconds is required for F_CPU < 4 MHz.
  • 1 micro second is appropriate for F_CPU < 10 MHz.
  • 0.5 micro seconds is appropriate for F_CPU < 16 MHz.
  • 0.3 micro seconds is appropriate for F_CPU >= 16 MHz.
Pass extra options to avrdude
If your programmer or setup requires any extra options to avrdude you may pass them here.

AVR Fuses

The fuse registers enable/disable or control the basic functionality of the different units of the MCU. One can e. g. enable or disable the Watchdog, the JTAG interface or even the ISP Interface. Configuration of the MCUs clock source or the brown-out detector is also done via the fuse registers.


WARNING: Programming wrong fuse values may render your MCU UNUSABLE (...unless you've access to a JTAG- and/or HV-Programmer.)

  • There is nothing like the universal correct fuse setting or default fuse setting.
  • Fuse registers are MCU-specific and their correct settings heavily depend on the circuit and parts in use.
  • Be careful, read the datasheet for the MCU acually in use and think twice what is correct for YOUR hardware!!
  • Do NOT use generic settings you've found somewhere in the net...


Fuse Low Byte (FLB)
AVR Fuse Low Byte, two-digit hex value.
Fuse High Byte (FHB)
AVR Fuse High Byte, two-digit hex value.
Extended Fuse Byte (EFB)
AVR Extended Fuse Byte, two-digit hex value.

The necessary hex values for the fuse registers might be calculated with e.g. an online AVR fuse calculator.

Article on mikrocontroller.net for reference (German).

Writing the Bytes

  • Disconnect the power from the target board
  • Connect your ISP cable to the programmer and the target board
  • Reconnect the power and connect your programmer to the PC
  • Execute the command you assembled earlier or type make program
  • Congratulations! If avrdude finished without any error you successfully flashed Ethersex to your target board!
  • Disconnect the power and the programmer from the target
  • Reconnect the power, your target should boot up with Ethersex

previous step