EnglischFranzösischSpanisch

Ad


OnWorks-Favicon

Geiz – Online in der Cloud

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

Dies ist der Befehl avarice, der beim kostenlosen Hosting-Anbieter OnWorks mit einer unserer zahlreichen kostenlosen Online-Workstations wie Ubuntu Online, Fedora Online, dem Windows-Online-Emulator oder dem MAC OS-Online-Emulator ausgeführt werden kann

PROGRAMM:

NAME/FUNKTION


avarice – Bietet eine Schnittstelle von avr-gdb zur JTAGICE-Box von Atmel.

ZUSAMMENFASSUNG


Habsucht [OPTIONAL]... [[HOST_NAME]:PORT]

BESCHREIBUNG


AVaRICE läuft auf einer POSIX-Maschine und stellt über einen TCP-Socket eine Verbindung zu gdb her und kommuniziert über
gdbs „serielles Debug-Protokoll“. Dieses Protokoll ermöglicht es GDB, Befehle wie „set/remove“ zu senden
Haltepunkt“ und „Lese-/Schreibspeicher“.

AVaRICE übersetzt diese Befehle in das Atmel-Protokoll, das zur Steuerung des AVR-JTAG verwendet wird
EIS. Die Verbindung zum AVR JTAG ICE erfolgt über einen seriellen Port am POSIX-Rechner.

Da die GDB <---> AVaRICE-Verbindung über einen TCP-Socket erfolgt, sind die beiden Programme nicht erforderlich
auf derselben Maschine laufen zu lassen. In einer Büroumgebung ermöglicht dies einem Entwickler das Debuggen eines
Ziel im Labor bequem von ihrem Cube (oder noch besser von zu Hause aus!)

Anmerkungen: Auch wenn du laufen kannst Habsucht machen avr-gdb Auf verschiedenen Systemen ist dies nicht der Fall
Aufgrund des damit verbundenen Sicherheitsrisikos wird dies empfohlen. Habsucht war nicht dafür gedacht, ein zu sein
Sicherer Server. Es wird keine Authentifizierung durchgeführt, wenn ein Client eine Verbindung herstellt
Habsucht wenn es im GDB-Servermodus ausgeführt wird.

Unterstützte Geräte
Habsucht Unterstützt derzeit die folgenden Geräte:
bei90can128
at90can32 (o)
at90can64 (o)
bei 90pwm2 (o) (+)
bei 90pwm216 (o) (+)
at90pwm2b (o) (+)
bei 90pwm3 (o) (+)
bei 90pwm316 (o) (+)
at90pwm3b (o) (+)
at90usb1287 (o)
at90usb162 (o) (+)
at90usb646 (o)
at90usb647 (o)
atmega128
atmega1280 (o)
atmega1281 (o)
atmega1284p (o)
atmega128rfa1 (o)
atmega16
atmega162
atmega164p (o)
atmega165 (o)
atmega165p (o)
atmega168 (o) (+)
atmega168p (o) (+)
atmega169
atmega16hva (o)
atmega16m1 (o) (+)
atmega2560 (o)
atmega2561 (o)
atmega32
atmega323
atmega324p (o)
atmega325 (o)
atmega3250 (o)
atmega3250p (o)
atmega325p (o)
atmega328p (o) (+)
atmega329 (o)
atmega3290 (o)
atmega3290p (o)
atmega329p (o)
atmega32c1 (o) (+)
atmega32hvb (o) (+)
atmega32m1 (o) (+)
atmega32u4 (o)
atmega406 (o)
atmega48 (o) (+)
atmega48p (o) (+)
atmega64
atmega640 (o)
atmega644 (o)
atmega644p (o)
atmega645 (o)
atmega6450 (o)
atmega649 (o)
atmega6490 (o)
atmega64c1 (o) (+)
atmega64m1 (o) (+)
atmega88 (o) (+)
atmega88p (o) (+)
attiny13 (o) (+)
attiny167 (o) (+)
attiny2313 (o) (+)
attiny24 (o) (+)
attiny25 (o) (+)
attiny261 (o) (+)
attiny4313 (o) (+)
attiny43u (o) (+)
attiny44 (o) (+)
attiny45 (o) (+)
attiny461 (o) (+)
attiny48 (o) (+)
attiny84 (o) (+)
attiny85 (o) (+)
attiny861 (o) (+)
attiny88 (o) (+)
atxmega128a1 (o) (*)
atxmega128a1revd (o) (*)
atxmega128a3 (o) (*)
atxmega32a4 (o) (*)
atxmega16d4 (o) (*)
atxmega128b1 (o) (*)
atxmega128b3 (o) (*)
atxmega64b1 (o) (*)
atxmega64b3 (o) (*)

o - Wird nur vom JTAG ICE mkII- und AVR Dragon-Gerät unterstützt.
* - Xmega-Gerät, erfordert Firmware-Version von mindestens 7.x (wie im Lieferumfang von AVR Studio 5 enthalten)
+ - debugWire, siehe unten

Unterstützte Reichen Sie das Formate
Habsucht verwendet libbfd zum Lesen von Eingabedateien. Daher kann es jedes Dateiformat verarbeiten
libbfd weiß davon. Dazu gehören unter anderem die Formate Intel Hex, Motorola SRecord und ELF
Andere. Wenn du erzählst Habsucht Um eine ELF-Datei zu lesen, übernimmt es automatisch die Programmierung
alle in der Datei enthaltenen Abschnitte (z. B. Flash, EEPROM usw.).

OPTIONAL


-h, --help
Drucken Sie diese Nachricht aus.

-1, --mkI
Stellen Sie eine Verbindung zu JTAG ICE mkI her (Standard).

-2, --mkII
Stellen Sie eine Verbindung zu JTAG ICE mkII her.

-3, --jtag3
Stellen Sie eine Verbindung zu JTAGICE3 her.

-B, --jtag-bitrate
Stellen Sie die Bitrate ein, mit der die JTAG-Box mit dem AVR-Zielgerät kommuniziert. Das
muss weniger als 1/4 der Frequenz des Ziels betragen. Gültige Werte sind 1 MHz, 500
kHz, 250 kHz oder 125 kHz für den JTAG ICE mkI, alles zwischen 22 kHz und
ca. 6400 kHz für den JTAG ICE mkII. (Standard: 250 kHz)

-C, --ergreifen
Erfassen Sie das laufende Programm.
Hinweis: Das Debuggen muss vor dem Start des Programms aktiviert sein. (z. B. von
avarice früher laufen lassen)

-c, --Daisy-Chain
Richten Sie JTAG-Daisy-Chain-Informationen ein.
Es müssen vier durch Kommas getrennte Parameter angegeben werden, entsprechend Bereiche Bevor,
Bereiche nachdem, Bits Bevor und Bits nachdem.

-D, --ablösen
Nach der Synchronisierung mit JTAG ICE trennen

-d, --debuggen
Aktivieren Sie das Drucken von Debug-Informationen.

-e, --löschen
Ziel löschen. Im debugWire-Modus nicht möglich.

-E, --Veranstaltung
Liste der Ereignisse, die nicht unterbrechen. Nur JTAG ICE mkII und AVR Dragon. Standard
ist „none,run,target_power_on,target_sleep,target_wakeup“

-f, --Datei
Geben Sie eine Datei zur Verwendung mit den Optionen --program und --verify an. Wenn --file übergeben wird
und weder --program noch --verify angegeben sind, dann ist --program impliziert. Anmerkungen:
Veraltete Funktion, muss mit --enable-target-programming aktiviert werden
Konfigurationsoption.

-g, --Drachen
Stellen Sie eine Verbindung zu einem AVR Dragon her. Diese Option impliziert die -2 .

-I, --ignore-intr
Interrupts werden automatisch übersprungen.

-j, --jtag
Port, der an die JTAG-Box angeschlossen ist (Standard: /dev/avrjtag). Wenn die JTAG_DEV-Umgebung
Wenn die Variable festgelegt ist, verwendet Avarice diese stattdessen als Standard.
If Habsucht Wurde mit Libusb-Unterstützung konfiguriert, kann das JTAG ICE mkII sein
über USB verbunden. In diesem Fall die Zeichenfolge USB wird als Name des
Gerät. Wenn mehrere JTAG ICE mkII-Geräte mit dem System verbunden sind
Über USB kann dieser Zeichenfolge der (nachfolgende Teil) der ICE-Seriennummer folgen
Zahl, getrennt von der USB durch einen Doppelpunkt.
Der AVR Dragon und JTAGICE3 können nur über USB verbunden werden, daher diese Option
In diesem Fall ist die Standardeinstellung „usb“.

-k, --bekannte-Geräte
Drucken Sie eine Liste bekannter Geräte.

-L, --write-lockbits
Sperrbits schreiben. Die Sperrbyte-Daten müssen im zweistelligen Hexadezimalformat angegeben werden
bei Bedarf mit Nullpolsterung.

-l, --read-lockbits
Lesen Sie die Sperrbits vom Ziel. Die einzelnen Bits werden zusätzlich mit angezeigt
Namen.

-P, --Teil
Name des Zielgeräts (z. B. atmega16). Normalerweise, Habsucht erkennt das Gerät automatisch über
JTAG oder debugWIRE. Wenn diese Option bereitgestellt wird, überschreibt sie das Ergebnis von
automatische Erkennung.

-p, --Programm
Programmieren Sie das Ziel. Der Name der Binärdatei muss mit der Option --file angegeben werden. Anmerkungen:
Veraltete Funktion, muss mit --enable-target-programming aktiviert werden
Konfigurationsoption.

-R, --reset-srst
Legen Sie beim Anschließen das nSRST-Signal (externer Reset) an. Dies kann außer Kraft gesetzt werden
Anwendungen, die das JTD-Bit setzen.

-r, --read-fuses
Sicherungsbytes lesen.

-V, --Version
Versionsinformationen drucken.

-v, --verifizieren
Überprüfen Sie das Programm im Gerät anhand der mit der Option --file angegebenen Datei. Anmerkungen:
Veraltete Funktion, muss mit --enable-target-programming aktiviert werden
Konfigurationsoption.

-w, --debugwire
Stellen Sie eine Verbindung zu JTAG ICE mkII, JTAGICE3 oder AVR Dragon her und kommunizieren Sie mit dem debugWire-Protokoll
das Ziel. Diese Option impliziert die -2 Möglichkeit. Siehe den Abschnitt DEBUGWIRE unten.

-W, --write-fuses
Sicherungsbytes schreiben. ee ist das erweiterte Sicherungsbyte, hh ist das High-Fuse-Byte und ll is
das Low-Fuse-Byte. Die Sicherungsbyte-Daten müssen im zweistelligen Hexadezimalformat angegeben werden
bei Bedarf mit Nullpolsterung. Derzeit müssen alle drei Bytes angegeben werden.
Anmerkungen: Aktuell, wenn das Zielgerät kein erweitertes Sicherungsbyte hat (z. B. das
atmega16), dann sollten Sie beim Schreiben der Sicherungsbytes ee==ll setzen.

-x, --xmega
Das Zielgerät ist ein ATxmega-Teil, das JTAG-Transport verwendet. Da nutzt der ATxmega
eine andere JTAG-Kommunikation als andere AVRs, die normale automatische Geräteerkennung
basierend auf der JTAG-ID funktioniert nicht. Wenn das Gerät explizit ausgewählt wurde
Durch die Option -P ist es nicht erforderlich, auch die Option -x anzugeben.

-X, --pdi
Das Zielgerät ist ein ATxmega-Teil, das PDI-Transport verwendet.

HOST_NAME Der Standardwert ist 0.0.0.0 (auf jeder Schnittstelle abhören), wenn nicht angegeben.

:PORT ist erforderlich, um Avarice in den GDB-Servermodus zu versetzen.

BEISPIEL ANWENDUNG


Geiz --erase --program --file test.bin --jtag /dev/ttyS0 :4242

Programmieren Sie die Datei test.bin in den JTAG ICE (mkI), der nach dem Löschen mit /dev/ttyS0 verbunden ist
das Gerät, dann im GDB-Modus auf dem lokalen Port 4242 lauschen. Diese Funktionalität ist
veraltet und nicht mehr standardmäßig konfiguriert. Verwenden Sie stattdessen den GDB-Befehl „load“.

Geiz --jtag usb:1234 --mkII :4242

Stellen Sie eine Verbindung zum JTAG ICE mkII her, der an USB angeschlossen ist und dessen Seriennummer auf endet 1234, und höre zu
im GDB-Modus auf dem lokalen Port 4242.

FEHLERBEHEBUNG MIT HABSUCHT


Die JTAG ICE-Debugging-Umgebung weist einige Einschränkungen und Änderungen auf:

· Keine "weichen" Breakpoints und nur drei Hardware-Breakpoints. Der break-Befehl setzt
Hardware-Breakpoints. Der einfachste Weg, mit dieser Einschränkung umzugehen, besteht darin, und
deaktivieren Sie Breakpoints nach Bedarf.

· Zwei 1-Byte-Hardware-Watchpoints (aber jeder Hardware-Watchpoint nimmt eine Hardware weg
Haltepunkt). Wenn Sie einen Watchpoint auf eine Variable setzen, die mehr als ein Byte benötigt,
die Ausführung wird abgrundtief langsam sein. Stattdessen ist es besser, Folgendes zu tun:

ansehen *(char *)&meinevariable

die das niedrigstwertige Byte von beobachtet meinevariable.

· Die Atmel AVR-Prozessoren haben eine Harvard-Architektur (getrennte Code- und Datenbusse).
Um die Datenadresse 0 von der Codeadresse 0 zu unterscheiden, avr-gdb fügt 0x800000 zu allen Daten hinzu
Adressen. Beachten Sie dies, wenn Sie gedruckte Zeiger untersuchen oder absolute übergeben
Adressen an gdb-Befehle.

DEBUGWIRE


Das debugWire Protokoll ist ein proprietäres Protokoll, das von Atmel eingeführt wurde, um das Debuggen zu ermöglichen
kleine AVR-Controller, die nicht genügend Pins (und genügend Chipressourcen) bieten
Vollständiges JTAG implementieren. Die Kommunikation erfolgt über die /ZURÜCKSETZEN Pin, der sein muss
durch Programmieren in einen debugWire-Verbindungspin umgewandelt DWEN Sicherung (DebugWire-Aktivierung),
über eine normale Programmiererverbindung (In-System-Programmierung, Hochspannungsprogrammierung).
Beachten Sie, dass durch die Aktivierung dieser Sicherung die Standard-Reset-Funktionalität dieses Pins aktiviert wird
verloren, sodass jegliche systeminterne Programmierung nicht mehr funktioniert, da sie eine Funktion erfordert /ZURÜCKSETZEN
Stift. So sollte es gemacht werden absolut sicher dort is a Weg, Zurück, wie ein Gerät (wie das
B. STK500), der die Hochspannungsprogrammierung des AVR übernehmen kann. Momentan,
Habsucht bietet keine Möglichkeit, die DWEN-Sicherung auszuschalten. Jedoch, avrdude bietet die Möglichkeit dazu
Schalten Sie es entweder durch Hochspannungsprogrammierung oder mithilfe des JTAG ICE mkII aus
Versetzen Sie das Ziel zunächst in einen ISP-kompatiblen Modus und verwenden Sie dann normale ISP-Befehle
Ändern Sie die Sicherungseinstellungen.
Beachten Sie, dass die debugWire-Umgebung im Vergleich zu JTAG noch weiter eingeschränkt ist. Es tut nicht
bieten Hardware-Haltepunkte, daher müssen alle Haltepunkte als Software implementiert werden
Haltepunkte durch Umschreiben von Flash-Seiten mit BREAK Anweisungen. Einige Speicherplätze (Sicherung
und Sperrbits) sind über das debugWire-Protokoll nicht zugänglich.

Nutzen Sie Geiz online mit den Diensten von onworks.net


Kostenlose Server & Workstations

Laden Sie Windows- und Linux-Apps herunter

Linux-Befehle

Ad