Amazon Best VPN GoSearch

OnWorks-Favicon

avrdude

Führen Sie avrdude im kostenlosen OnWorks-Hosting-Anbieter über Ubuntu Online, Fedora Online, Windows-Online-Emulator oder MAC OS-Online-Emulator aus

Dies ist der Befehl avrdude, der im kostenlosen OnWorks-Hosting-Provider über eine unserer zahlreichen kostenlosen Online-Workstations wie Ubuntu Online, Fedora Online, Windows-Online-Emulator oder MAC OS-Online-Emulator ausgeführt werden kann

PROGRAMM:

NAME/FUNKTION


avrdude — Treiberprogramm für den ``einfachen'' Atmel AVR MCU-Programmierer

ZUSAMMENFASSUNG


avrdude -p teilnr [-b Baudrate] [-B Bituhr] [-c Programmierer-ID] [-C Konfigurationsdatei] [-D] [-e]
[-E Ausgangsspezifikation[,Ausgangsspezifikation]] [-F] [-i verzögern] [-n -Logdatei] [-n] [-O] [-P port ] [-q] [-s]
[-t] [-u] [-U Speichertyp:op:Dateiname:Dateifmt] [-v] [-x erweiterter_param] [-V]

BESCHREIBUNG


Avrdude ist ein Programm zum Herunterladen von Code und Daten auf Atmel AVR-Mikrocontroller. Avrdude
unterstützt Atmels STK500-Programmierer, Atmels AVRISP- und AVRISP-mkII-Geräte, Atmels STK600,
Atmels JTAG ICE (mkI, mkII und 3, die beiden letzteren auch im ISP-Modus), Programmierer entsprechend
auf AppNote AVR910 und AVR109 (einschließlich Butterfly) sowie ein einfaches festverdrahtetes
Programmierer direkt an a . angeschlossen ppi(4) oder teil(4) Parallelport oder nach einem Standard
serielle Schnittstelle. Im einfachsten Fall besteht die Hardware nur aus einem Kabel, das die
jeweiligen AVR-Signalleitungen zum Parallelport.

Die MCU ist programmiert in seriell Programmierung Modus, also, für die ppi(4) basierte Programmierer, der
Die MCU-Signale '/RESET', 'SCK', 'MISO' und 'MOSI' müssen an den Parallelport angeschlossen werden.
Optional können auch einige ansonsten ungenutzte Ausgangspins des Parallelports zur Versorgung genutzt werden
Strom für den MCU-Teil, sodass auch ein passiver Stand-alone aufgebaut werden kann
Programmiergerät. Einige Status-LEDs, die den aktuellen Betriebszustand des
Programmierer kann angeschlossen werden, und es steht ein Signal zur Steuerung eines Puffer-/Treiber-IC 74LS367 . zur Verfügung
(oder 74HCT367). Letzteres kann nützlich sein, um den Parallelport von der MCU zu entkoppeln, wenn
Systemprogrammierung verwendet wird.

Eine Reihe ebenso einfacher Bit-Bang-Programmieradapter, die an einen seriellen Port angeschlossen werden, sind
werden ebenfalls unterstützt, darunter der beliebte serielle Ponyprog-Adapter und das DASA und DASA3
Adapter, die früher von . unterstützt wurden uisp(1). Beachten Sie, dass diese Adapter für
an einen physischen seriellen Port angeschlossen. Das Anschließen an einen auf USB emulierten seriellen Port ist
wahrscheinlich überhaupt nicht oder extrem langsam arbeiten.

Wenn Sie zufällig ein Linux-System mit mindestens 4 verfügbaren Hardware-GPIOs haben (wie fast
alle Embedded-Linux-Boards) können Sie auf zusätzliche Hardware verzichten - einfach anbinden
die MOSI-, MISO-, RESET- und SCK-Pins am AVR und verwenden den linuxgpio-Programmierertyp. Es
bitbangs die Zeilen unter Verwendung der Linux sysfs GPIO-Schnittstelle. Natürlich ist Vorsicht geboten
über Spannungspegelkompatibilität. Auch wenn es nicht unbedingt erforderlich ist, ist es dringend
ratsam, die GPIO-Pins in irgendeiner Weise vor Überstromsituationen zu schützen. Das einfachste
wäre, einfach einige Widerstände in Reihe zu schalten oder besser noch einen 3-Zustands-Puffertreiber wie zu verwenden
der 74HC244. Schaut mal rein http://kolev.info/avrdude-linuxgpio für eine ausführlichere Anleitung
über die Verwendung dieses Programmiertyps.

Der STK500-Programmierer von Atmel wird ebenfalls unterstützt und wird an einen seriellen Port angeschlossen. Beides, Firmware
Versionen 1.x und 2.x können verarbeitet werden, erfordern jedoch eine andere Spezifikation des Programmierertyps
(inzwischen). Ab Firmware-Version 2 wird auch die Hochspannungsprogrammierung unterstützt, beides
parallel und seriell (Programmierertypen stk500pp und stk500hvsp).

Es werden Leiterplatten unterstützt, die das STK500 V2.x-Protokoll verwenden, aber ein einfacher DTR/RTS-Schalter ist
verwendet, um die Karten in den Programmiermodus zu versetzen. Der Programmierertyp ist ``verdrahten''.

Der Arduino (der dem STK500 1.x sehr ähnlich ist) wird über einen eigenen Programmierer unterstützt
Typspezifikation ``arduino''.

Der BusPirate ist ein vielseitiges Tool, das auch als AVR-Programmierer verwendet werden kann. Eine einzige
BusPirate kann mit bis zu 3 unabhängigen AVRs verbunden werden. Siehe den Abschnitt über verlängert
Parameter unten für Details.

Der STK600-Programmierer von Atmel wird in den ISP- und Hochspannungs-Programmiermodi unterstützt und
wird über USB verbunden. Bei ATxmega-Geräten wird der STK600 im PDI-Modus unterstützt. Für
ATtiny4/5/9/10-Geräte, der STK600 und AVRISP mkII werden im TPI-Modus unterstützt.

Der einfache serielle Programmierer, der in Atmels Application Note AVR910 beschrieben ist, und die
Bootloader, der in Atmels Application Note AVR109 beschrieben ist (der auch vom AVR verwendet wird)
Butterfly Evaluation Board) werden an einem seriellen Port unterstützt.

Atmels JTAG ICE (mkI, mkII und 3) wird ebenfalls unterstützt, um Speicherbereiche hoch- oder herunterzuladen
von/zu einem AVR-Ziel (keine Unterstützung für On-Chip-Debugging). Für den JTAG ICE mkII, JTAG,
debugWire und ISP-Modus werden unterstützt, vorausgesetzt, er hat eine Firmware-Revision von mindestens 4.14
(Dezimal). JTAGICE3 unterstützt auch den gesamten JTAG-, debugWIRE- und ISP-Modus. Siehe unten für die
Einschränkungen von debugWire. Für ATxmega-Geräte wird der JTAG ICE mkII im PDI-Modus unterstützt,
vorausgesetzt, es hat eine Hardware- und Firmware-Version der Revision 1 von mindestens 5.37 (dezimal). Zum
Bei ATxmega-Geräten wird JTAGICE3 im PDI-Modus unterstützt.

Atmel-ICE (ARM/AVR) wird in allen Modi (JTAG, PDI für Xmega, debugWIRE, ISP) unterstützt.

Die XplainedPro-Boards von Atmel, die das EDBG-Protokoll (CMSIS-DAP-kompatibel) verwenden, werden unterstützt
mit dem Programmierertyp "jtag3".

Der AVR Dragon wird in allen Modi (ISP, JTAG, HVSP, PP, debugWire) unterstützt. Bei Verwendung in
JTAG- und debugWire-Modus verhält sich der AVR Dragon ähnlich wie ein JTAG ICE mkII, sodass alle Geräte-
spezifische Kommentare für dieses Gerät gelten ebenfalls. Im ISP-Modus verwendet der AVR Dragon
verhält sich ähnlich wie ein AVRISP mkII (oder JTAG ICE mkII im ISP-Modus), also alles gerätespezifisch
Kommentare gelten dort. Insbesondere beginnt das Dragon mit einem ziemlich schnellen ISP
Taktfrequenz, also die -B Bituhr Option möglicherweise erforderlich, um einen stabilen ISP zu erreichen
Kommunikation. Bei ATxmega-Geräten wird der AVR Dragon im PDI-Modus unterstützt, sofern er
hat eine Firmware-Version von mindestens 6.11 (dezimal).

Die Adapter avrftdi, USBasp ISP und USBtinyISP werden ebenfalls unterstützt, vorausgesetzt avrdude hat
wurde mit libusb-Unterstützung kompiliert. USBasp ISP und USBtinyISP verfügen beide über einfache Firmware-
nur USB-Implementierungen, die auf einem ATmega8 (oder ATmega88) bzw. ATtiny2313 laufen.
Wenn libftdi kompiliert wurde in avrdude, das avrftdi-Gerät unterstützt viele
Programmierer, die die 2232C/D/H- und 4232H-Teile von FTDI verwenden, die im MPSSE-Modus ausgeführt werden, der hart codiert
(im Chip) SCK auf Bit 1, MOSI auf Bit 2 und MISO auf Bit 3. Zurücksetzen ist normalerweise Bit 4.

Der Atmel DFU-Bootloader wird sowohl in FLIP-Protokollversion 1 (AT90USB* und
ATmega*U*-Geräte) sowie Version 2 (Xmega-Geräte). Siehe unten für einige Hinweise zu
Verhalten des Protokolls FLIP Version 1.

Eingabedateien können bereitgestellt werden und Ausgabedateien können in verschiedenen Dateiformaten geschrieben werden, z
als rohe Binärdateien, die die auf den Chip herunterzuladenden Daten enthalten, Intel Hex-Format oder
Motorola S-Record-Format. Es gibt eine Reihe von Werkzeugen, um diese Dateien zu erstellen,
Google Trends, Amazons Bestseller asl(1) als eigenständiger Assembler oder avr-objcopy(1) für die letzte Stufe der GNU
Toolchain für den AVR-Mikrocontroller.

Vorausgesetzt Verleumdung(3) war beim Kompilieren vorhanden avrdude, die Eingabedatei kann auch die letzte sein
ELF-Datei, wie sie vom Linker erstellt wurde. Die entsprechende(n) ELF-Sektion(en) werden geprüft,
entsprechend dem Speicherbereich, in den geschrieben werden soll.

Avrdude kann die EEPROM- und Flash-ROM-Speicherzellen unterstützter AVR-Teile programmieren. Woher
Unterstützt durch den seriellen Befehlssatz können auch Fuse Bits und Lock Bits programmiert werden.
Diese werden innerhalb von avrdude als separate Speichertypen und programmierbar mit
Daten aus einer Datei (siehe die -m Option) oder aus dem Terminalmodus (siehe die abladen und schreiben
Befehle). Auch das Auslesen des Chips ist möglich (sofern nicht codegeschützt
vorher natürlich) und speichern Sie die Daten in einer Datei. Schließlich ist ein ``Terminal''-Modus
verfügbar, die es ermöglicht, interaktiv mit der MCU zu kommunizieren und anzuzeigen oder
Programmieren einzelner Speicherzellen. Auf dem STK500- und STK600-Programmierer sind mehrere betriebsbereite
Parameter (Ziel-Versorgungsspannung, Ziel-Aref-Spannung, Master-Clock) überprüft werden und
auch im Terminalmodus geändert.

Optionen
Um all die verschiedenen Betriebsmodi zu steuern, müssen eine Reihe von Optionen eingestellt werden
angegeben bis avrdude.

-p teilnr
Dies ist die einzige Option, die für jeden Aufruf von obligatorisch ist avrdude. Sie
gibt den Typ der an das Programmiergerät angeschlossenen MCU an. Diese sind gelesen
aus der Konfigurationsdatei. Verwenden Sie für derzeit unterstützte MCU-Typen ? als Teilnr, das
druckt eine Liste der Teilenummern und offiziellen Teilenamen auf dem Terminal aus. (Beide
kann mit der Option -p verwendet werden.)

Folgende Teile erfordern besondere Aufmerksamkeit:

AT90S1200 Das ISP-Programmierprotokoll des AT90S1200 unterscheidet sich in subtilen
Wege von denen anderer AVRs. Daher unterstützen nicht alle Programmierer
Dieses Gerät. Für ihre Arbeit bekannt sind alle direkte Bitbang-Programmierer,
und alle Programmierer, die das STK500v2-Protokoll sprechen.

AT90S2343 AT90S2323 und ATtiny22 verwenden denselben Algorithmus.

ATmega2560, ATmega2561
Flash-Adressierung über 128 KB wird nicht von allen Programmierungen unterstützt
Hardware. Als funktionierend bekannt sind jtag2, stk500v2 und bit-bang
Programmierer.

ATtiny11 Der ATtiny11 kann nur im seriellen Hochspannungsmodus programmiert werden.

-b Baudrate
Überschreiben Sie die Baudrate der RS-232-Verbindung, die in den entsprechenden
Eingabe der Konfigurationsdatei durch den Programmierer.

-B Bituhr
Geben Sie die Bittaktperiode für die JTAG-Schnittstelle oder den ISP-Takt (JTAG ICE
nur). Der Wert ist eine Gleitkommazahl in Mikrosekunden. Alternative,
der Wert kann mit "Hz", "kHz" oder "MHz" angehängt werden, um dies zu spezifizieren
die Bittaktfrequenz und nicht eine Periode. Der Standardwert des JTAG
ICE führt zu einer Bit-Taktperiode von etwa 1 Mikrosekunde, geeignet für Ziel-MCUs
läuft mit 4 MHz Takt und höher. Im Gegensatz zu bestimmten Parametern im STK500,
der JTAG ICE setzt bei der Programmierung alle seine Parameter auf die Standardwerte zurück
Software meldet sich vom ICE ab, also für MCUs, die mit niedrigeren Taktraten laufen,
Dieser Parameter muss in der Befehlszeile angegeben werden. Du kannst den ... benutzen
'default_bitclock' Schlüsselwort in Ihrem ${HOME}/.avrduderc Datei, um einen Standard zuzuweisen
Wert, damit diese Option nicht bei jedem Aufruf angegeben werden muss.

-c Programmierer-ID
Verwenden Sie den durch das Argument angegebenen Programmierer. Programmierer und ihr Pin
Konfigurationen werden aus der Konfigurationsdatei gelesen (siehe die -C Möglichkeit). Neuer Pin
Konfigurationen können mithilfe einer Konfiguration einfach hinzugefügt oder geändert werden
Datei zu machen avrdude mit verschiedenen Programmierern arbeiten, solange der Programmierer
unterstützt die serielle Programmmethode Atmel AVR. Du kannst den ... benutzen
'default_programmer' Schlüsselwort in Ihrem ${HOME}/.avrduderc Datei zum Zuweisen von a
Standardprogrammierer, um diese Option nicht bei jedem angeben zu müssen
Aufruf. Eine vollständige Liste aller unterstützten Programmierer wird an die . ausgegeben
Terminal mit ? als Programmierer-ID.

-C Konfigurationsdatei
Verwenden Sie die angegebene Konfigurationsdatei, um Konfigurationsdaten zu laden. Diese Datei enthält
alle Programmierer- und Teiledefinitionen, die avrdude kennt sich aus. Wenn du eine hast
Programmierer oder Teil davon avrdude weiß es nicht, du kannst es dem hinzufügen
config-Datei (stellen Sie sicher und senden Sie einen Patch an den Autor zurück, damit er
für die nächste Version integriert). Siehe die Konfigurationsdatei unter
/etc/avrdude.conf, die eine Beschreibung des Formats enthält.

If Konfigurationsdatei ist geschrieben als +Dateiname dann wird diese Datei nach dem System gelesen
Wide- und Benutzerkonfigurationsdateien. Dies kann verwendet werden, um Einträge zu den . hinzuzufügen
Konfiguration ohne Patchen Ihrer systemweiten Konfigurationsdatei. Es kann sein
mehrfach verwendet, werden die Dateien in der gleichen Reihenfolge gelesen, wie im Befehl angegeben
Linie.

-D Deaktivieren Sie die automatische Löschung für Flash. Wenn das -U Option mit Flash-Speicher ist
spezifizierten, avrdude führt eine Chip-Löschung durch, bevor eine der
Programmiervorgänge, da es im Allgemeinen ein Fehler ist, den Blitz zu programmieren
ohne vorher einen Löschvorgang durchzuführen. Diese Option deaktiviert das. Automatisches Löschen ist
wird nicht für ATxmega-Geräte verwendet, da diese Geräte vorher das Löschen von Seiten verwenden können
Schreiben jeder Seite, so dass kein explizites Löschen des Chips erforderlich ist. Beachten Sie jedoch, dass
jede Seite, die nicht von der aktuellen Operation betroffen ist, behält ihre vorherige
Inhalt.

-e Bewirkt, dass ein Chip-Löschvorgang ausgeführt wird. Dadurch wird der Inhalt des Flash zurückgesetzt
ROM und EEPROM auf den Wert '0xff' und alle Lockbits löschen. Ausser für
ATxmega-Geräte, die das Löschen von Seiten verwenden können, ist im Grunde eine Voraussetzung
Befehl, bevor das Flash-ROM erneut umprogrammiert werden kann. Die einzige Ausnahme
wäre, wenn der neue Inhalt ausschließlich dazu führen würde, dass Bits programmiert werden
vom Wert '1' auf '0'. Beachten Sie, dass zum Umprogrammieren von EERPOM-Zellen nein
explizites vorheriges Löschen des Chips ist erforderlich, da die MCU eine automatische Löschung bietet
Zyklus in diesem Fall vor dem Programmieren der Zelle.

-E Ausgangsspezifikation[,Ausgangsspezifikation]
Standardmäßig avrdude verlässt den Parallelport beim Ausgang im gleichen Zustand wie er
wurde beim Start gefunden. Diese Option ändert den Status von '/RESET' und
'Vcc'-Leitungen, auf denen der Parallelport laut belassen wird Ausgangsspezifikation Argumente
wie folgt bereitgestellt:

zurückstellen Das '/RESET'-Signal bleibt beim Programmende aktiviert, d.h
es wird gehalten niedrig, um die MCU im Reset-Zustand zu halten
nachher. Beachten Sie insbesondere, dass der Programmieralgorithmus für
das AT90S1200-Gerät verlangt, dass das '/RESET'-Signal aktiv ist
bevor Einschalten der MCU, falls also eine externe Stromversorgung vorhanden ist
für diesen MCU-Typ verwendet, ein vorheriger Aufruf von avrdude mit dieser
Die angegebene Option ist eine der möglichen Möglichkeiten, dies zu gewährleisten
Zustand.

noreset Die Zeile '/RESET' wird beim Beenden des Programms deaktiviert und ermöglicht so
das MCU-Zielprogramm auszuführen, während die Programmierhardware verbleibt
in Verbindung gebracht.

vcc Diese Option lässt diese Parallelport-Pins aktiv (dh Highs)
die verwendet werden kann, um die MCU mit 'Vcc'-Strom zu versorgen.

Novcc Diese Option zieht die 'Vcc'-Pins des parallelen Ports nach unten bei
Programm beenden.

d_hoch Diese Option lässt die 8 Datenpins am parallelen Port aktiv.
(dh Highs)

d_niedrig Diese Option lässt die 8 Datenpins am Parallelport inaktiv.
(dh niedrig)

Mehrere Ausgangsspezifikation Argumente können durch Kommas getrennt werden.

-F Normalerweise avrdude versucht zu überprüfen, ob die Gerätesignatur aus dem Teil gelesen wurde
sinnvoll ist, bevor Sie fortfahren. Da kann es ab und zu mal vorkommen, dass a
Gerät hat eine defekte (gelöschte oder überschriebene) Gerätesignatur, ist aber ansonsten
Bei normalem Betrieb wird diese Option bereitgestellt, um die Prüfung zu überschreiben. Auch für
Programmierer wie Atmel STK500 und STK600, die Parameter lokal anpassen können
zum Programmiertool (unabhängig von einer tatsächlichen Verbindung zu einem Ziel
Controller) kann diese Option zusammen mit verwendet werden -t weiter im Terminal
Modus arbeiten können.

-i verzögern
Für Bitbang-Typ-Programmierer, Verzögerung für ungefähr verzögern Mikrosekunden
zwischen jeder Bitzustandsänderung. Wenn das Hostsystem sehr schnell ist oder das Ziel
läuft mit einem langsamen Takt ab (wie ein 32-kHz-Quarz oder der interne 128-kHz-RC
Oszillator) kann dies notwendig werden, um die Anforderung zu erfüllen, dass der ISP
Taktfrequenz darf nicht höher als 1/4 der CPU-Taktfrequenz sein. Dies
ist als Spin-Loop-Delay implementiert, um auch sehr kurze Verzögerungen zu ermöglichen. Auf
Betriebssysteme im Unix-Stil, die Spin-Schleife wird zunächst gegen a . kalibriert
Systemtimer, daher könnte die Anzahl der Mikrosekunden ziemlich realistisch sein,
unter Annahme einer konstanten Systemlast, während avrdude läuft. Unter Win32-Betrieb
Systemen wird von einer vorkonfigurierten Anzahl von Zyklen pro Mikrosekunde ausgegangen, dass
kann bei sehr schnellen oder sehr langsamen Maschinen etwas abweichen.

-l Logdatei
Wasser Logdatei statt stderr zur Diagnoseausgabe. Beachten Sie, dass die Initiale
Diagnosemeldungen (während des Optionsparsings) werden weiterhin geschrieben an stderr
egyébként.

-n No-write - deaktiviert das eigentliche Schreiben von Daten auf die MCU (nützlich für das Debugging
avrdude ).

-O Führen Sie eine RC-Oszillator-Laufzeitkalibrierung gemäß der Atmel-Anwendung durch
Beachten Sie AVR053. Dies wird nur von STK500v2, AVRISP mkII und JTAG unterstützt
ICE mkII-Hardware. Beachten Sie, dass das Ergebnis in der EEPROM-Zelle bei . gespeichert wird
Adresse 0.

-P port
Wasser port um das Gerät zu identifizieren, an das das Programmiergerät angeschlossen ist. Von
Standardeinstellung /dev/ppi0 Port verwendet wird, aber wenn der Programmierertyp normal ist
verbindet sich mit der seriellen Schnittstelle, die /dev/cuaa0 port ist die Standardeinstellung. Wenn Sie brauchen
Um einen anderen parallelen oder seriellen Anschluss zu verwenden, verwenden Sie diese Option, um die
alternativer Portname.

Auf Win32-Betriebssystemen werden die parallelen Ports als lpt1 bis bezeichnet
lpt3, bezogen auf die Adressen 0x378, 0x278 bzw. 0x3BC. Wenn
auf den parallelen Port kann über eine andere Adresse zugegriffen werden, diese Adresse
kann direkt unter Verwendung der üblichen C-Sprachnotation angegeben werden (d. h.,
hexadezimalen Werten wird '0x' vorangestellt).

Für JTAG ICE mkII und JTAGICE3, wenn avrdude wurde mit libusb . konfiguriert
Unterstützung, port kann alternativ angegeben werden als USB[:SerialNo]. Dieser Wille
Ursache avrdude um den Programmierer auf USB zu suchen. Wenn SerialNo ist auch angegeben,
sie wird mit der Seriennummer abgeglichen, die von jedem gefundenen JTAG ICE mkII gelesen wurde
auf USB. Die Übereinstimmung wird durchgeführt, nachdem alle vorhandenen Doppelpunkte aus den angegebenen entfernt wurden
Seriennummer und von rechts nach links, also nur die niederwertigsten Bytes aus dem
Seriennummer muss angegeben werden.

Da mit dem AVRISP mkII-Gerät nur über USB gesprochen werden kann, ist dieselbe Methode
der Angabe des Ports ist dort erforderlich.

Für den USB-Programmer "AVR-Doper", der im HID-Modus läuft, muss der Port
angegeben als Avrdoper. Unter Unix ist Libusb-Unterstützung erforderlich, aber nicht unter Windows.
Weitere Informationen zu AVR-Doper finden Sie unter
http://www.obdev.at/avrusb/avrdoper.html.

Für den USBtinyISP, der ein vereinfachtes Gerät ist, das kein serielles implementiert
Nummern können mehrere Geräte anhand ihrer Position im USB unterschieden werden
Hierarchie. Siehe die jeweiligen Problemlösung Eintrag im Detail
Dokumentation für Beispiele.

Für Programmierer, die mit einer höheren Ebene an einen seriellen Port anschließen
Protokoll (im Gegensatz zu Programmierern im Bit-Bang-Stil), port kann angegeben werden als
Netto-:Gastgeber:port . In diesem Fall wird, anstatt zu versuchen, ein lokales Gerät zu öffnen, ein TCP
Netzwerkverbindung zu (TCP) port on Gastgeber ist festgelegt. Der entfernte Endpunkt
wird als Terminal- oder Konsolenserver angenommen, der den Netzwerkstream verbindet
an einen lokalen seriellen Port, an den der eigentliche Programmierer angeschlossen ist. Der
Es wird davon ausgegangen, dass der Port richtig konfiguriert ist, zum Beispiel mit einem transparenten
8-Bit-Datenverbindung ohne Parität bei 115200 Baud für einen STK500.

-q Deaktivieren (oder unterdrücken) Sie die Ausgabe des Fortschrittsbalkens beim Lesen oder Schreiben auf die
Gerät. Geben Sie es ein zweites Mal für einen noch leiseren Betrieb ein.

-s Deaktivieren Sie die Eingabeaufforderung für den abgesicherten Modus. Wenn der abgesicherte Modus feststellt, dass eine oder mehrere Sicherungen
Bits sich unbeabsichtigt geändert haben, wird zur Bestätigung aufgefordert, bzgl
ob es versuchen soll, das/die Sicherungsbit(s) wiederherzustellen. Dies angeben
Flag deaktiviert die Eingabeaufforderung und geht davon aus, dass die Sicherungsbit(s) wiederhergestellt werden sollen
ohne vorher um Bestätigung zu bitten.

-t Tells avrdude um in den interaktiven ``Terminal''-Modus zu wechseln, anstatt nach oben- oder
das Herunterladen von Dateien. Eine detaillierte Beschreibung des Terminalmodus finden Sie weiter unten.

-u Deaktivieren Sie die Safemode-Fuse-Bit-Prüfungen. Der abgesicherte Modus ist standardmäßig aktiviert und ist
soll unbeabsichtigte Fuse-Bit-Änderungen verhindern. Wenn aktiviert, abgesicherter Modus
gibt eine Warnung aus, wenn festgestellt wird, dass sich die Sicherungsbits im Programm unterscheiden
verlassen, als sie es waren, als sie waren avrdude aufgerufen wurde. Der abgesicherte Modus ändert die Sicherungsbits nicht
selbst, sondern fordert Sie zu Anweisungen auf, es sei denn, das Terminal ist nicht
interaktiv, in diesem Fall ist der abgesicherte Modus deaktiviert. Siehe die -s Option zum Deaktivieren
Sicherheitsmodus-Eingabeaufforderung.

Wenn eine der Konfigurationsdateien eine Zeile enthält
default_safemode = nein;
Der abgesicherte Modus ist standardmäßig deaktiviert. Die -u die Wirkung der Option wird dadurch negiert
Fall, dh es ermöglicht Sicherheitsmodus.

Der abgesicherte Modus ist für AVR32-, Xmega- und TPI-Geräte immer deaktiviert.

-U memtype:op:Dateiname[:Format]
Führen Sie einen Speichervorgang wie angegeben durch. Der memtyp Feld spezifiziert die
Speichertyp, auf dem gearbeitet werden soll. Die verfügbaren Speichertypen sind geräteabhängig,
die aktuelle Konfiguration kann mit dem . eingesehen werden Teil Befehl im Terminalmodus.
Typischerweise enthält die Speicherkonfiguration eines Geräts mindestens die Speichertypen
Blitz und eeprom. Alle derzeit bekannten Speichertypen sind:
Kalibrierung Ein oder mehrere Bytes von RC-Oszillator-Kalibrierungsdaten.
eeprom Das EEPROM des Geräts.
efuse Das erweiterte Sicherungsbyte.
flash Das Flash-ROM des Geräts.
Fuse Das Fuse-Byte bei Geräten, die nur ein einziges Fuse-Byte haben.
hfuse Das High-Fuse-Byte.
lfuse Das niedrige Sicherungsbyte.
lock Das Sperrbyte.
Signatur Die drei Gerätesignaturbytes (Geräte-ID).
SicherungN Die Sicherungsbytes von ATxmega-Geräten, N ist eine ganze Zahl für
jede vom Gerät unterstützte Sicherung.
application Der Anwendungs-Flash-Bereich von ATxmega-Geräten.
apptable Der Anwendungstabellen-Flash-Bereich von ATxmega-Geräten.
boot Der Boot-Flash-Bereich von ATxmega-Geräten.
prodsig Der Bereich der Produktionssignatur (Kalibrierung) von ATxmega-Geräten.
usersig Der Benutzersignaturbereich von ATxmega-Geräten.

Der op -Feld gibt an, welche Operation ausgeführt werden soll:

r Gerätespeicher lesen und in die angegebene Datei schreiben

w Daten aus der angegebenen Datei lesen und in den Gerätespeicher schreiben

v Daten sowohl vom Gerät als auch von der angegebenen Datei lesen und a
überprüfen

Der Dateinamen Das Feld gibt den Namen der zu lesenden oder zu schreibenden Datei an. Die
Format Feld ist optional und enthält das Format der zu lesenden oder zu schreibenden Datei.
Format kann sein:

i Intel Hex

s Motorola S-Rekord

r rohe Binärdatei; Little-Endian-Byte-Reihenfolge im Fall der Flash-ROM-Daten

e ELF (ausführbares und verknüpfbares Format)

m sofort; tatsächliche Bytewerte, die in der Befehlszeile angegeben sind, getrennt durch
Kommas oder Leerzeichen. Dies ist gut zum Programmieren von Fuse-Bytes, ohne dass
um eine Single-Byte-Datei zu erstellen oder in den Terminalmodus zu wechseln.

a automatische Erkennung; nur gültig für die Eingabe und nur, wenn die Eingabe nicht bereitgestellt wird
at Standard.

d Dezimal; dieses und die folgenden Formate sind nur bei der Ausgabe gültig. Sie
erzeuge eine Ausgabezeile für den jeweiligen Speicherabschnitt und bilde a
durch Kommas getrennte Liste der Werte. Dies kann besonders nützlich sein für
nachfolgende Verarbeitung, wie für Fuse-Bit-Einstellungen.

h hexadezimal; jeder Wert erhält die Zeichenfolge 0x vorangestellt.

o oktal; jeder Wert erhält a 0 vorangestellt, es sei denn, es ist weniger als 8 Zoll groß
In diesem Fall erhält es kein Präfix.

b binär; jeder Wert erhält die Zeichenfolge 0b vorangestellt.

Standardmäßig wird die automatische Erkennung für Eingabedateien und das rohe Binärformat verwendet
für Ausgabedateien. Beachten Sie, dass wenn Dateinamen enthält einen Doppelpunkt, der Format Feld ist
nicht mehr optional, da der Dateinamensteil nach dem Doppelpunkt sonst
falsch interpretiert werden als Format.

Beim Lesen jeglicher Art von Flash-Speicherbereichen (einschließlich der verschiedenen Unterbereiche in
Xmega-Geräte), wird die resultierende Ausgabedatei so abgeschnitten, dass sie kein . enthält
nachfolgende 0xFF-Bytes, die unprogrammierten (gelöschten) Speicher anzeigen. Also, wenn die
Der gesamte Speicher ist unprogrammiert, dies führt zu einer Ausgabedatei, die keine
Inhalt überhaupt.

Als Abkürzung ist die Form -U Dateinamen ist äquivalent zu spezifizieren -U
flash:w:Dateiname:ein. Das geht nur, wenn Dateinamen hat keinen Doppelpunkt in
es.

-v Aktivieren Sie die ausführliche Ausgabe. Mehr -v Optionen erhöhen die Ausführlichkeit.

-V Deaktivieren Sie die automatische Überprüfung beim Hochladen von Daten.

-x erweiterter_param
Passieren erweiterter_param zur gewählten Programmierer-Implementierung als erweitertes
Parameter. Die Interpretation des erweiterten Parameters hängt von der
Programmierer selbst. Unten finden Sie eine Liste der Programmierer, die Extended akzeptieren
Parameter.

Terminal Modus
In diesem Modus avrdude initialisiert nur die Kommunikation mit der MCU und wartet dann auf den Benutzer
Befehle auf Standardeingabe. Befehle und Parameter können auf die Kürzeste abgekürzt werden
eindeutige Form. Der Terminalmodus bietet einen Befehlsverlauf mit readline(3), also vorher
Eingegebene Befehlszeilen können abgerufen und bearbeitet werden. Die folgenden Befehle sind derzeit
implementiert:

abladen memtyp Adr nbyte
Lesen Sie mehr nbyte Bytes aus dem angegebenen Speicherbereich und zeigen Sie diese im
übliche Hexadezimal- und ASCII-Form.

abladen Fahren Sie mit dem Ausgeben des Speicherinhalts für einen anderen fort nbyte wo der vorherige
abladen Befehl abgebrochen.

schreiben memtyp Adr Byte1 ... ByteN
Programmieren Sie die entsprechenden Speicherzellen manuell, beginnend bei Adresse Adrunter Verwendung von
die Werte Byte1 bis ByteN. Diese Funktion ist nicht für Bank-
adressierte Speicher wie der Flash-Speicher von ATMega-Geräten.

Löschen Führen Sie eine Chiplöschung durch.

senden b1 b2 b3 b4
Senden Sie rohe Befehlscodes an das AVR-Gerät. Wenn Sie Zugriff auf eine Funktion benötigen
eines AVR-Teils, das nicht direkt unterstützt wird von avrdude, dieser Befehl erlaubt
Sie verwenden es, obwohl avrdude implementiert den Befehl nicht. Beim Benutzen
direkter SPI-Modus, bis zu 3 Byte können weggelassen werden.

sig Zeigen Sie die Gerätesignaturbytes an.

spi Wechseln Sie in den direkten SPI-Modus. Die pgmled Pin fungiert als Slave-Auswahl. Nur unterstützt
on Parallel Bitbang Programmierer.

Teil Zeigt die aktuellen Teileeinstellungen und Parameter an. Inklusive chipspezifisch
Informationen einschließlich aller vom Gerät unterstützten Speichertypen, Lesen/Schreiben
Zeitpunkt usw.

pgm Rückkehr in den Programmiermodus (aus dem direkten SPI-Modus).

vziel Spannung
Stellen Sie die Versorgungsspannung des Ziels auf Spannung Volt. Nur unterstützt on
STK500 und STK600 Programmierer.

varef [Kanal] Spannung
Stellen Sie die einstellbare Spannungsquelle auf Spannung Volt. Diese Spannung ist normalerweise
verwendet, um das Ziel zu fahren Aref Eingang am STK500. Beim Atmel STK600 sind zwei
Referenzspannungen stehen zur Verfügung, die über das optionale
Kanal Argument (entweder 0 oder 1). Nur unterstützt on STK500 und STK600
Programmierer.

Fokus Frequenz[M|k]
Stellen Sie den Master-Oszillator auf Frequenz Hz. Ein optionaler nachgestellter Buchstabe M
multipliziert mit 1E6, ein nachgestellter Buchstabe k von 1E3. Nur unterstützt on STK500
und STK600 Programmierer.

Fokus WOW!
Schalten Sie den Master-Oszillator aus. Nur unterstützt on STK500 und STK600
Programmierer.

sck Zeit
STK500 und STK600 Programmierer nur: Stellen Sie die SCK-Taktperiode auf Zeit
Mikrosekunden.

JTAG EIS nur: Setzen Sie die JTAG ICE-Bit-Taktperiode auf Zeit Mikrosekunden. Notiz
dass diese Einstellung im Gegensatz zu den STK500-Einstellungen auf die Standardeinstellungen zurückgesetzt wird
Wert (ca. 1 Mikrosekunde), wenn sich die Programmiersoftware abmeldet
vom JTAG-ICE. Dieser Parameter kann auch auf dem JTAG ICE mkII verwendet werden,
JTAGICE3 und Atmel-ICE zur Angabe der ISP-Taktperiode beim Betrieb des ICE
im ISP-Modus.

Parms STK500 und STK600 Programmierer nur: Anzeige der aktuellen Spannung und Master
Oszillatorparameter.

JTAG EIS nur: Anzeige der aktuellen Zielversorgungsspannung und des JTAG-Bittakts
Rate/Periode.

ausführlich [Grad des ]
Ändern (wenn Grad des bereitgestellt wird) oder die Ausführlichkeitsstufe anzeigen. Die Initiale
Die Ausführlichkeitsstufe wird durch die Anzahl der gesteuert -v Optionen auf der
Befehlszeile.

?

Hilfe Geben Sie eine kurze Online-Zusammenfassung der verfügbaren Befehle.

verlassen Terminalmodus verlassen und damit avrdude.

Standard Parallel port Stift Verbindungen
(diese können geändert werden, siehe die -c Option)
Pin Anzahl Funktion
2-5 Vcc (optionale Stromversorgung zur MCU)
7 /RESET (zur MCU)
8 SCK (zu MCU)
9 MOSI (zu MCU)

10 MISO (von MCU)
18-25 Masse

debugWire Einschränkungen
Das debugWire-Protokoll ist Atmels proprietäres Ein-Draht-Protokoll (plus Masse), um ein
In-Circuit-Emulation der kleineren AVR-Geräte unter Verwendung der '/RESET'-Leitung. DebugWire-Modus ist
ausgelöst durch Aktivieren der 'DWEN'-Sicherung und anschließendes Aus- und Wiedereinschalten des Ziels. Während dieser Modus
ist hauptsächlich zum Debuggen/Emulation gedacht, bietet aber auch eingeschränkte Programmiermöglichkeiten.
Tatsächlich sind die einzigen Speicherbereiche, die in diesem Modus gelesen oder programmiert werden können, Flash-ROM
und EEPROM. Auch das Auslesen der Signatur ist möglich. Alle anderen Speicherbereiche können nicht
zugegriffen werden. Es gibt kein Chip Löschen Funktionalität im DebugWire-Modus; stattdessen, während
Bei der Neuprogrammierung des Flash-ROM wird jede Flash-ROM-Seite unmittelbar vor der Aktualisierung gelöscht. Dies
erfolgt transparent durch den JTAG ICE mkII (oder AVR Dragon). Der einzige Weg zurück von
debugWire-Modus dient dazu, eine spezielle Befehlsfolge an den JTAG ICE mkII (oder AVR
Dragon), sodass der debugWire-Modus vorübergehend deaktiviert wird und auf das Ziel zugegriffen werden kann
mit normaler ISP-Programmierung. Diese Sequenz wird automatisch durch die Verwendung des JTAG eingeleitet
ICE mkII oder AVR Dragon im ISP-Modus, wenn sie feststellen, dass der ISP-Modus nicht aufgerufen werden kann.

FLIP Version 1 Eigenheiten
Bootloader, die das FLIP-Protokoll Version 1 verwenden, weisen ein sehr spezifisches Verhalten auf.

Diese Bootloader haben keine Möglichkeit, auf andere Speicherbereiche als Flash und EEPROM zuzugreifen.

Wenn der Bootloader gestartet wird, gibt er a Sicherheitdienst Modus wo der einzige akzeptable Zugang
ist die Abfrage der Gerätekonfigurationsparameter (die für die Signatur auf dem AVR verwendet werden)
Geräte). Der einzige Weg, diesen Modus zu verlassen, ist a Chip Löschen. Da ein Chip Löschen normalerweise ist
impliziert durch die -U Option beim Umprogrammieren des Blitzes, diese Besonderheit kann nicht sehr sein
sofort klar.

Manchmal scheint ein Bootloader mit bereits deaktiviertem Sicherheitsmodus nicht mehr zu reagieren mit
sinnvolle Konfigurationsdaten, aber nur 0xFF für alle Abfragen. Da diese Abfragen verwendet werden, um
das Äquivalent einer Unterschrift einholen, avrdude kann in dieser Situation nur durch Erzwingen weitermachen
die Signaturprüfung soll mit dem überschrieben werden -F .

A Chip Löschen könnte das EEPROM ungelöscht lassen, zumindest bei einigen Versionen des Bootloaders.

Programmierer akzeptieren verlängert Parameter
JTAG EIS mkII

JTAGICE3

Atmel-ICE

AVR Drache
Wenn Sie JTAG ICE mkII, JTAGICE3, Atmel-ICE oder AVR Dragon im JTAG-Modus verwenden,
der folgende erweiterte Parameter wird akzeptiert:

jtagchain=UB,UA,BB,BA
Richten Sie die JTAG-Scankette für . ein UB Einheiten vor, UA Einheiten nach,
BB Bits vorher, und BA Bits nach dem Ziel-AVR.
Jede AVR-Einheit innerhalb der Kette verschiebt sich um 4 Bits. Andere JTAG
Einheiten erfordern möglicherweise eine andere Bitverschiebungszahl.

AVR910

devcode=WERT
Überschreiben Sie die Gerätecodeauswahl mit BEWERTUNG als das gerät
Code. Der Programmierer wird nicht nach der Liste der unterstützten . gefragt
Gerätecodes und die angegebenen BEWERTUNG wird nicht verifiziert aber verwendet
direkt innerhalb des an den Programmierer gesendeten 'T'-Befehls. BEWERTUNG
kann mit der konventionellen Zahlenschreibweise des C . angegeben werden
Programmiersprache.

no_blockmode
Deaktiviert die Standardprüfung für die Blockübertragungsfähigkeit.
Wasser no_blockmode nur wenn du AVR910 Programmierer macht Fehler
während der Anfangssequenz.

Buspirat

zurücksetzen={cs,aux,aux2}
Das Standard-Setup nimmt den CS-Ausgangspin des BusPirate an
mit dem RESET-Pin auf der AVR-Seite verbunden. Es ist jedoch möglich
mehrere AVRs mit MISO, MOSI . an denselben BP angeschlossen zu haben
und SCK-Linien, die für alle gemeinsam sind. In einem solchen Fall ein AVR
sollte sein RESET mit dem von BusPirate verbunden haben CS Stift, Sekunde
AVRs RESET mit BusPirate verbunden AUX pin und wenn du
BusPirate hat ein AUX2 Pin (nur in der BusPirate-Version verfügbar
v1a mit Firmware 3.0 oder neuer) verwenden, um RESET zu aktivieren
der dritte AVR.

Es kann eine gute Idee sein, den BusPirate und die AVRs zu entkoppeln
SPI-Busse voneinander unter Verwendung eines 3-State-Buspuffers. Für
Beispiel 74HC125 oder 74HC244 sind einige gute Kandidaten mit dem
Latches, die vom entsprechenden Reset-Pin (cs, aux oder aux2) angesteuert werden.
Andernfalls kann der SPI-Verkehr in einer aktiven Schaltung stören
mit der Programmierung des AVR im anderen Design.

spifreq=<0..7>
Die SPI-Geschwindigkeit für den binären SPI-Modus des Buspiraten:

0 .. 30 kHz (Standard)
1 .. 125kHz
2 .. 250kHz
3 .. 1MHz
4 .. 2MHz
5 .. 2.6MHz
6 .. 4MHz
7 .. 8MHz

Rohfrequenz=<0..3>
Legt die SPI-Geschwindigkeit fest und verwendet den binären "Rohdraht" des Buspiraten
Modus:

0 .. 5kHz
1 .. 50kHz
2 .. 100 kHz (nur Firmware v4.2+)
3 .. 400 kHz (v4.2+)

Der einzige Vorteil des "raw-wire"-Modus sind die unterschiedlichen SPI
Frequenzen zur Verfügung. Paged Writing ist hier nicht implementiert
Modus arbeiten können.

ASCII Versuchen Sie, den ASCII-Modus zu verwenden, auch wenn die Firmware . unterstützt
BinMode (Binärmodus). BinMode wird in Firmware 2.7 und unterstützt
neuere, ältere FWs haben entweder keinen BinMode oder ihr BinMode ist
Buggy. Der ASCII-Modus ist langsamer und macht das oben Gesagte zurücksetzen=, spfreq=
und Rohfrequenz= Parameter nicht verfügbar. Beachten Sie, dass der ASCII-Modus
funktioniert nicht garantiert mit neueren Firmware-Versionen und ist
nur beibehalten, um die Kompatibilität mit älterer Firmware zu gewährleisten
Versionen.

nopagedwrite
Firmware-Versionen 5.10 und neuer unterstützen einen Binärmodus SPI
Befehl, der es ermöglicht, ganze Seiten auf den AVR-Flash zu schreiben
Speicher auf einmal, was zu einer deutlichen Steigerung der Schreibgeschwindigkeit führt.
Wenn die Verwendung dieses Modus aus irgendeinem Grund nicht erwünscht ist, ist dies
Option deaktiviert es.

nopagedread
Neuere Firmware-Versionen unterstützen im Binärmodus SPI-Befehle einige
Erweiterte AVR-Befehle. Verwenden von "Massenspeicher aus Flash lesen"
führt zu einer deutlichen Steigerung der Lesegeschwindigkeit. Wenn dies verwendet wird
Modus aus irgendeinem Grund nicht erwünscht ist, deaktiviert diese Option ihn.

cpufreq=<125..4000>
Dies stellt den AUX-Pin so ein, dass er eine Frequenz von ausgibt n kHz. Anschließen
den AUX-Pin mit dem XTAL1-Pin Ihrer MCU, Sie können ihn a . bereitstellen
Clock, zum Beispiel wenn es eine externe Clock benötigt wegen
falsche Sicherungseinstellungen. Stellen Sie sicher, dass die CPU-Frequenz mindestens beträgt
das Vierfache der SPI-Frequenz.

serial_recv_timeout=<1...>
Dies setzt das serielle Empfangs-Timeout auf den angegebenen Wert. Die
Timeout passiert jedes Mal wenn avrdude auf den BusPirate wartet
prompt. Gerade im ASCII-Modus passiert das sehr oft, also
Das Einstellen eines kleineren Wertes kann die Programmierung erheblich beschleunigen. Der
Standardwert ist 100ms. Die Verwendung von 10 ms kann in den meisten Fällen funktionieren.

Verdrahtung Bei Verwendung des Programmierertyps Verdrahtung werden die folgenden optionalen erweiterten
Parameter wird akzeptiert:

snooze=<0..32767>
Nach der Öffnungsphase des Ports wartet/schläft AVRDUDE
für Schläfchen Millisekunden, bevor Sie mit der Protokollsynchronisierung fortfahren
Phase. Es wird kein Umschalten von DTR/RTS durchgeführt, wenn Schläfchen ist besser
als 0.

PICkit2
Verbindung zum PICkit2-Programmierer:

(AVR) (PICkit2)
RST - VPP/MCLR (1)
VDD - VDD Target (2) -- möglicherweise optional, wenn der AVR selbst mit Strom versorgt wird
Masse - Masse (3)
MISO - PID (4)
SCLK-PDC (5)
MOSI-AUX (6)

Erweiterte Kommandozeilenparameter:

Taktrate=
Legt die SPI-Taktrate in Hz fest (Standard ist 100 kHz).
Alternativ können die Optionen -B oder -i verwendet werden, um den Zeitraum festzulegen.

Zeitüberschreitung=
Setzt das Timeout für USB-Lese- und Schreibvorgänge in Millisekunden
(Standard ist 1500 ms).

Verwenden Sie avrdude online mit den onworks.net-Diensten


Ad




×
Werbung
❤ ️Hier einkaufen, buchen oder kaufen – kostenlos, damit die Dienste kostenlos bleiben.