Arduino

Aus Matthias Wiki
Zur Navigation springen Zur Suche springen

Arduino als In-System-Programmierer

Links

Beschreibung

  • ATMega besser mit Quartz laufen lassen, ansonsten funktioniert möglicherweise die Kommunikation via SPI nicht
  • Achtung, Taktgeber nicht auf "external Clock" einstellen, dann muss der Takt von außen aktiv vorgegeben werden. Hilfe gibt es hier

Chip erase

avrdude.exe -P COM6 -b 19200 -c arduino -p atmega168p -C ..\etc\avrdude.conf -e

Lesen/Schreiben von Fuses für ATMega168

Read fuses:

avrdude.exe -P COM6 -b 19200 -c arduino -p atmega168p -C ..\etc\avrdude.conf

Write fuses:

avrdude.exe -P COM6 -b 19200 -c arduino -p atmega168p -C ..\etc\avrdude.conf -U lfuse:w:0xXX:m -U hfuse:w:0xXX:m -U efuse:w:0xXX:m

Werte für Fuses:

Funktion lfuse hfuse efuse
interner Oszillator mit "clock division" (default) 0x62
interner Oszillator ohne "clock division" 0xe2
externer Oszillator 0xff
externer Oszillator "full swing" 0xf7
sichere High-Fuse 0xdf
kein Bootloader 0xf9
1kb Bootloader 0xf8

Locking

Dokumentation zu den Lock-Bits ist sehr dürftig. Über die Lock-Bits kann man sich aus dem Chip auch aussperren.

Entsperren:

avrdude.exe -P COM6 -b 19200 -c arduino -p atmega168p -C ..\etc\avrdude.conf -U lock:w:0x3F:m

Sperren:

avrdude.exe -P COM6 -b 19200 -c arduino -p atmega168p -C ..\etc\avrdude.conf -U lock:w:0x0F:m

Flashen

Schreiben:

avrdude.exe -P COM6 -b 19200 -c arduino -p atmega168p -C ..\etc\avrdude.conf -U flash:w:flash.hex:i

Auch das EEPROM kann ausgelesen werden: "eeprom" anstelle von "flash"

Lesen:

avrdude.exe -P COM6 -b 19200 -c arduino -p atmega168p -C ..\etc\avrdude.conf -U flash:r:flash.hex:i

Auch das EEPROM kann beschrieben werden: "eeprom" anstelle von "flash"

Quadrokopter

Siehe Quadrokopter