Wie flasht man ein AVR-NET-IO

Aus Ethersex_Wiki
Version vom 11. Februar 2010, 13:26 Uhr von 2und4zig (Diskussion | Beiträge) (MySmartUSB light hinzugefügt.)
Wechseln zu: Navigation, Suche

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 gesucht bis ich das mit dem Flashen kapiert habe.


Benötigt wird:

  • AVR-NET-IO
  • ATMEL Evaluations-Board
  • ein 1:1 Kabel für den ISP Port (10-poliger Pfostenstecker)

Flashen unter Linux

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 ethersex.hex kann man mit avrdude das Ganze flashen:

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

Nach dem flashen das ISP-Kabel entfernen und kurz die Stromversorgung unterbrechen um das Board zu rebooten.

 * -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

Die Vorteile vom ATMega644(p) ist vor allem der doppelt so große Speicher.

  • Den ATMega32 aus der Halterung von dem AVR-IO-Net ziehen
  • Den ATMega644(p) einbauen (ACHTUNG Kerbe im Sockel muss mit Kerbe in der CPU übereinstimmen)
  • FUSE-Bits setzen (Übernommen von dinus)
 avrdude -p m644 -c ponyser -P /dev/ttyS0 -U lfuse:w:0xE7:m -U hfuse:w:0xDC:m -U efuse:w:0xFF:m
  • bzw.
 avrdude -p m644p -c ponyser -P /dev/ttyS0 -U lfuse:w:0xE7:m -U hfuse:w:0xDC:m -U efuse:w:0xFF:m
  • in der Config von Ethersex (make menuconfig) von ATmega32 auf ATMega644 umstellen
  • Flashen mit
 avrdude -p m644(p) -c ponyser -P /dev/ttyS0 -U flash:w:ethersex.hex -v

Unterschiede zwischen ATMega32 und ATMega644

ATMega32 ATMega644
Gehäuse DIL-40 DIL-40
MHz max. 16 max. 20
Flash 32 KB 64 KB
EEProm 1 KB 2 KB
RAM 2 KB 4 KB
I/O 32 32
PWM 4 6
ext. INT 3 32

Flashen unter Windows

keine Ahnung