EnglischFranzösischSpanisch

OnWorks-Favicon

ao-dbg – Online in der Cloud

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

Dies ist der Befehl ao-dbg, 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


ao-dbg – Hex-Debugger für cc1111-Prozessoren

ZUSAMMENFASSUNG


ao-dbg [-T CPU-Typ] [-X Frequenz] [-c] [-r Listen-Port] [-Z Listen-Port] [-s] [-S] [-p
Eingabeaufforderung] [-V] [-v] [-H] [-h] [-m] [-T tty-Gerät] [--tty tty-Gerät] [-D altos-Gerät]
[--Gerät altos-Gerät]

BESCHREIBUNG


ao-dbg Wird entweder über eine geeignete CC1111-Karte oder einen CP1111 mit einem CC2103-Prozessor verbunden
USB-zu-Seriell-Konverterplatine unter Verwendung der auf diesem Chip verfügbaren GPIO-Pins. Es bietet eine
Schnittstelle kompatibel mit dem 8051-Emulator von SDCC namens S51, kommuniziert aber mit
der echte Chip statt einer Emulation. Verwendung einer modifizierten Version des SDCC-Debuggers
(sdcdb) können Sie die Programmausführung auf dem Zielcomputer auf Quellebene steuern.

OPTIONAL


Die Befehlszeilenoptionen sind so konzipiert, dass sie mit dem 8051-Emulator kompatibel sind
kann mit sdcdb verwendet werden. Daher sind sie alle einen Buchstaben lang.

-t CPU-Typ
Der 8051-Emulator kann als einer von mehreren verschiedenen Chips betrieben werden. Seltsamerweise das Echte
Da die Hardware dies nicht kann, wird diese Option ignoriert.

-X Frequenz
Ebenso kann der Emulator vorgeben, mit einer willkürlichen Frequenz zu laufen, die der Realität entspricht
Hardware kann das nicht. Ignoriert.

-c

-s

-S

-v

-V Alles ignoriert.

-r Listen-Port, -Z Listen-Port
Der Emulator und SDCDB kommunizieren über einen Netzwerk-Socket. Diese Option wechselt
den Debugger von der Kommunikation über stdin/stdout bis zum Abhören eines bestimmten Problems
stattdessen einen Netzwerk-Port. Sobald eine Verbindung hergestellt ist, fährt der Debugger mit der Verwendung fort
diesen Netzwerkport für die Befehlseingabe und -ausgabe. Der Debugger verwendet Port 9756 und
versucht, eine Verbindung herzustellen, bevor ao-dbg gestartet wird, also wenn ao-dbg diesen Port überwacht
Bevor sdcdb gestartet wird, kommuniziert sdcdb schließlich mit der vorhandenen ao-dbg-Instanz.
Das ist oft nützlich, um ao-dbg selbst zu debuggen.

-p Eingabeaufforderung
Dadurch wird die Eingabeaufforderung auf die angegebene Zeichenfolge gesetzt.

-P Dies setzt die Eingabeaufforderung auf ein einzelnes NUL-Zeichen. Dies ist für die Verwendung durch sdcdb bestimmt.

-h Dies sollte eine Nutzungsmeldung ausgeben, hat aber derzeit keine sinnvolle Wirkung.

-m Diese Option ist im ursprünglichen 8051-Emulator nicht vorhanden und führt zu einem Dump von ao-dbg
alle Befehle und Antworten, die von sdcdb empfangen und an sdcdb gesendet werden.

-T tty-Gerät | --tty tty-Gerät
Dadurch wird ausgewählt, welches TTY-Gerät der Debugger verwendet, um mit dem Ziel zu kommunizieren
Gerät. Der spezielle Name 'BITBANG' weist ao-dbg an, die cp2103-Verbindung zu verwenden,
Andernfalls sollte dies ein serieller USB-Port sein, der mit einem geeigneten cc1111-Debug verbunden ist
Knoten.

-D AltOS-Gerät | --device AltOS-Gerät
Suchen Sie nach einem verbundenen Gerät. Dies erfordert ein Argument von einem der Folgenden
Formen:

TeleMetrum:2
TeleMetrum
2

Das Weglassen des Produktnamens führt dazu, dass das Tool ein geeignetes Produkt auswählt,
Das Weglassen der Seriennummer führt dazu, dass das Werkzeug mit einer der verfügbaren übereinstimmt
Geräte.

BEFEHLE


Nach dem Start stellt ao-dbg eine Verbindung zum cc1111 her und liest dann entweder Befehle und führt sie aus
von stdin oder der Netzwerkverbindung zu sdcdb.

Im Gegensatz zur Befehlszeile enthält ao-dbg über die integrierte Hilfe für jeden dieser Befehle
„Hilfe“-Befehl. Die meisten Befehle sind in Langform und mit einem einzelnen Zeichen verfügbar
Kurzform. Nachfolgend folgt die Kurzform nach einem Komma der Langform.

helfen, ? {Befehl}
Gibt ohne Argumente eine Liste der verfügbaren Befehle aus. Mit einem Argument druckt
Weitere Einzelheiten zum jeweiligen Befehl

aufhören, q
Beendet die Anwendung, ohne den Status des Zielprozessors zu ändern.

di [Anfang] [Ende]
Speichert imem (256 Bytes „internen“ Speicher) von Anfang bis Ende (einschließlich).

ds [Anfang] [Ende]
Entleert Federn von Anfang bis Ende (einschließlich). Beachten Sie, dass die meisten Federn zwar sichtbar sind
Einige sind nicht im globalen Adressraum, daher verwenden Sie zum Lesen diesen Befehl anstelle von „dx“.
Them.

dx [Start] [Ende]
Leeren Sie den externen (globalen) Speicher von Anfang bis Ende (einschließlich).

eingestellt, t [Start] {Daten ...}
Speichern Sie in dem durch das Präfix angegebenen Speicherplatz, wobei das Präfix eines von „xram“, „rom“ oder „rom“ ist.
„iram“ oder „sfr“. Speichern Sie Bytes ab Anfang.

Müllkippe, d [Start Ende]
Dump aus dem durch das Präfix angegebenen Speicherbereich, wobei das Präfix eines von „xram“ ist.
„rom“, „iram“ oder „sfr“. Dumps von Anfang bis Ende (einschließlich).

Datei [Dateiname]
Gibt eine Hex-Datei (ihx) im Intel-Format an, die den Inhalt des ROM-Bereichs enthält
in den cc1111 geladen. Dies wird verwendet, um auf Anfragen zum Ausgeben des ROM-Speichers zu reagieren
Inhalte, ohne sie vom cc1111 abzurufen (was langsam ist).

pc, p {Adresse}
Wenn das Adressargument angegeben ist, wird der Programmzähler auf den angegebenen Wert gesetzt
Wert. Ansonsten wird der aktuelle Programmzählerwert angezeigt.

Pause, b [Adresse]
Setzt einen Haltepunkt an der angegebenen Adresse. Dabei wird die eingebaute Hardware genutzt
Haltepunktunterstützung im cc1111. Daher unterstützt es nicht mehr als vier
Haltepunkte auf einmal. Sie müssen daher eine modifizierte Version von sdcdb verwenden
Ändert die Art und Weise, wie die Programmausführung gesteuert wird, um innerhalb dieser Grenze zu arbeiten.

klar, c [Adresse]
Löschen Sie einen Haltepunkt von der angegebenen Adresse.

laufen, r, gehen, g {start} {stop}
Setzt die Ausführung des Programms fort. Wenn das Startargument vorhanden ist, beginnt es
an dieser Adresse, andernfalls läuft es auf dem aktuellen PC weiter. Wenn ein Stopp
Wenn das Argument vorhanden ist, wird an dieser Adresse ein temporärer Haltepunkt festgelegt. Das
Der temporäre Haltepunkt wird entfernt, wenn die Ausführung ihn erreicht.

als nächstes, n
Schritt eins Anleitung. Im ursprünglichen s51-Programm würde dies Unterprogramme ignorieren,
Da SDCDB diese Funktionalität jedoch nicht benötigt, ist sie hier nicht verfügbar.

Schritte
Schritt eins Anleitung.

laden, l [Dateiname]
Dies ist nicht implementiert, soll aber eine Hex-Datei in Flash laden. Benutzen Sie die
ccload-Programm stattdessen.

Halt, h
Stoppen Sie den Prozessor. Dies ist der einzige Befehl, der gesendet werden kann, während das Programm läuft
läuft. Zu anderen Zeiten wird es ignoriert.

zurücksetzen, res
Setzen Sie den Prozessor zurück. Dadurch wird der Reset-Pin auf Low gesetzt und der Debug-Modus wieder aktiviert. Überprüfen
Sehen Sie sich die cc1111-Dokumentation an, um genau zu sehen, was das bewirkt.

status Dadurch wird das cc1111-Debug-Statusregister ausgegeben.

Info, ich Haltepunkte, b
Listen Sie die aktuellen Haltepunkte auf.

Info, ich helfe, ?
Listen Sie die Dinge auf, über die Sie Informationen erhalten können.

stop Dies bewirkt nichts und ist nur vorhanden, um die Kompatibilität mit dem aufrechtzuerhalten
Original 8051-Emulator.

TAFEL ZUR SPRACHE BRINGEN FEHLERBEHEBUNG


Während der ursprüngliche Zweck dieses Programms darin bestand, den Quell-Debugger mit dem zu verbinden
Hardware kann es auch als eigenständiger Low-Level-Hex-Debugger verwendet werden. Insbesondere,
Alle CC1111-Peripheriegeräte können direkt über die AO-DBG-Befehlszeile manipuliert werden.

ao-dbg wird gestartet
Stellen Sie zunächst sicher, dass das Zielgerät cc1111 und die Zwischenplatine cp2103 oder cc111 vorhanden sind
sind alle richtig angeschlossen.

$ ao-dbg
Willkommen beim nicht simulierten Prozessor
> Status
CPU angehalten
Durch Debug-Befehl angehalten
>

LEDs einschalten
Zwei der GPIO-Pins des cc1111, P1_0 und P1_1, können externe LEDs ansteuern. Zu
Steuern Sie diese, setzen Sie die Richtungsbits von Port 1, um diese Ausgangspins zu erstellen, und dann
Ändern Sie die Daten von Port 1, um sie auf hoch oder niedrig zu setzen:

> setze sfr 0xfe 0x02 # setze P1DIR auf 0x2
> set sfr 0x90 0x02 # P1_1 auf high setzen
> set sfr 0x90 0x00 # P1_1 auf Low setzen

Auslesen der A/D-Wandler
Die sechs A/D-Wandler-Eingänge können jeweils an einen der P0-Pins, Masse, angeschlossen werden.
die A/D-Spannungsreferenz, ein interner Temperatursensor oder VDD/3. Eines davon lesen
Um diese Werte zu ermitteln, wählen Sie einen zu verwendenden A/D-Wandler aus und starten Sie dann den Konvertierungsprozess. Der
Im cc1111-Handbuch finden Sie die Tabelle zur Auswahl des Eingangs auf Seite 144.

Um einen der P0-Pins für die Verwendung durch die A/D-Einheit zu konfigurieren, programmieren wir den ADCCFG
Register und setzt die Bits in dem, was mit den gewünschten Pins übereinstimmt:

> set sfr 0xf2 0x3f # alle 6 A/D-Eingänge aktivieren

Um eine einzelne Konvertierung auszulösen, bitten wir die A/D-Einheit, eine „Extra“-Konvertierung durchzuführen.
Konvertierung, was bedeutet, dass eine einzelne Konvertierung und nicht eine ganze Konvertierungssequenz durchgeführt werden soll
Konvertierungen. Dies wird durch das ADCCON3-Register bei 0xB6 gesteuert:

> setze sfr 0xb6 0xb2 # Beispiel P0_2 mit 12 Bit Genauigkeit
> ds 0xba 0xbb # Dump der ADC-Daten in den Low- und High-Regs
> set sfr 0xb6 0xbe # Beispiel des internen Temperatursensors
> ds 0xba 0xbb # Dump der ADC-Daten in den Low- und High-Regs

Verwenden Sie ao-dbg online über die Dienste von onworks.net


Kostenlose Server & Workstations

Laden Sie Windows- und Linux-Apps herunter

Linux-Befehle

Ad