home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Best of German Only 1
/
romside_best_of_german_only_1.iso
/
anwender
/
sim
/
sim51_04.arj
/
START.DOC
< prev
Wrap
Text File
|
1993-01-26
|
7KB
|
166 lines
Einfache Einführung für den ersten Start von SIM51:
---------------------------------------------------
Dieser Textfile beinhaltet eine einfache Einführung zum Debuggen eines
8051-Programms auf SIM51.
1. Installation:
~~~~~~~~~~~~~~~~
Zum Start des Simulators wird nur SIM51.EXE selbst benötigt. Die anderen
Files beinhalten Dokumentationen und weitere Utilities. SIM51.EXE muß sich
nicht im aktuellen Verzeichnis befinden, wenn das Verzeichnis im Pfad ein-
getragen ist. Sie können SIM51 direkt starten. Mit der F4-Taste können Sie
OnLine-Hilfe abrufen. Diese Anleitung dürfte fürs erste reichen, erst für
die Feinheiten lesen Sie in SIM51.DOC nach.
2. 8051-Code:
~~~~~~~~~~~~~
Erstellen Sie mit einem 8051-Assembler wie gewohnt ein 8051-Programm.
Verwendbar sind alle Assembler und auch C-Compiler, die einen Absolut-
File (im Intel Objekt Modul Format = OMF51), einen HEX-File (im Intel HEX
Format) oder einen Binär-File erstellen.
Wenn Sie damit vertraut sind, lesen Sie bitte weiter bei "4.SIM51 laden".
3. Assembler:
~~~~~~~~~~~~~
Warum einen Assembler? Jede CPU verarbeitet nur in "Zahlen" codierte Befeh-
le. In das EPROM werden beim Brennen diese Zahlen eingetragen. Dazu muß ein
File mit dieser Befehlsliste (in Zahlen codiert) auf dem PC erstellt werden
und dann zum EPROM-Programmiergerät runtergeladen werden.
In einer solchen Liste können die Zahlencodes einer nach dem anderen drinn-
stehen. An Position 0 der für Code-Adresse 0000 usw. Einen solchen File
nennt man Binär-File. Er kann nicht mit einem Editor gelesen werden und
bietet keine Möglichkeit zur Fehlerkontrolle.
Aus diesem Grund wurde das HEX-Format ersonnen. Es enthält nur druckbare
ASCII-Zeichen. Jedes Code-Byte wird als HEXadezimale ASCII-Zahl darin auf-
geführt.
Diese Files werden natürlich nicht von Hand erstellt, sondern dies übernim-
mt ein Assembler. Der Anwender erstellt einen (Source-)File, in dem er die
Befehle in Worten anschreibt. Dazu ist natürlich vom Assemblerprogramm eine
genaue Syntax vorgegeben, damit dieses die Befehle in den (Maschinen-)Code
übersetzen kann.
Hier einige Assembler (siehe auch SIM51.DOC):
ASM51 -> Makro-Assembler + Linker von Intel
C51 -> C-Compiler von Keil
A51 -> Makro-Assembler + Linker von Keil
ASS51 -> Assembler von Wolfgang Spindler Shareware, deutsch!!
TASM -> Tabel-Assembler Shareware, englisch
EASM51 -> Assembler zu 8051-Kurs Elektor Verlag
SIM51 beinhaltet einen integrierten Assembler. Dieser arbeitet aber nicht
mit Labels (Sprungmarken). Das heißt: jeder Sprungbefehl muß mit seiner
endgültigen Zieladresse angeschrieben werden. Der integrierte Assembler ist
für Korrekturzwecke und zur Eingabe von kurzen Routinen gedacht, um `mal
schnell was auszuprobieren. Obwohl unter SIM51 die Möglichkeit besteht, ein
so erstelltes Programm auf Disk abzuspeichern (sogar wahlweise als HEX-
oder Source-File), wird man für größere Programme einen seperaten Assembler
bevorzugen.
Besitzen Sie keinen Assembler, können Sie SIM51 natürlich auch verwenden,
um beispielsweis ein aus einem EPROM ausgelesenes 8051-Programm anzuschau-
en, oder um kleine, eben mit dem integrierten Assembler erstellte, Routinen
zu testen.
4. SIM51 laden:
~~~~~~~~~~~~~~
Rufen Sie SIM51 durch Eingabe von SIM51 in der DOS-Command-Line auf. Sie
können dann von SIM51 aus Ihren Hex-File (oder Absolut- oder Binär-File)
mit dem zu debbugenden 8051-Code laden. Der File mit dem 8051-Code kann
auch gleich beim Programmstart beim Aufruf mitangegeben werden:
SIM51 fileName
Es erscheint die Oberfläche von SIM51:
* 128 BYTE von IDATA werden oben links als Hex-Dump dargestellt.
--> Umschaltbar über Alt-X auf XDATA, Alt-C auf Code, Alt-T auf TxDoutput
* die nächsten 11 Befehle (CODE) werden in disassemblierter Form unten
links dargestellt. Der nächste abzuarbeitende Befehl ist invers hinter-
legt.
* rechts sind die auf dem gewählten Derivat vorhandenen Speziell Funktion
Register dargestellt.
* die Register R0..R7, der Stack, die Flags, die Pointer und die Ports sind
in extra Fenstern dargestellt.
In der Mitte befindet sich die SIM51-Eingabezeile. Unten zeigt eine Menue-
Zeile die Belegung der Funktionstasten.
5. Die ersten Befehle von SIM51:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Hier werden nur ein paar wenige Befehle zur Steuerung von SIM51 angeführt.
Eine ausführliche Beschreibung ist in dem File SIM51.DOC enthalten.
In ein anderes Fenster gelangt man immer mit der Alt-Taste und einen Kenn-
buchstaben. Zurück in die SIM51-Eingabezeile kommt man aus jedem Fenster
immer mit Carriage Return oder ESC! Die 8051-Speicherinhalte können editiert
werden.
Laden eines 8051-Codes: L filename
-> geben Sie ein L gefolgt von dem Filenamen ein, und der Code aus dem File
wird geladen. Für einen Binär-File ist LB filename einzugeben. Es kann
auch nur L (ohne Filename) eingegeben werden, dann wird ähnlich dem Norton
Commander ein Menue zur File-Auswahl geöffnet.
Wählen des Prozessor-Typs: M 52 bzw. M 51, M 44
-> Default ist SIM51 auf den 8051 eingestellt. Soll ein Programm für den
8052 debugged werden, wird mit M 52 auf den 8052-Mode umgeschalten. M 44
blendet dagegen die SFR für den 8044 ein. Andere Derivate (wie der 80535,
80552,...) werden noch nicht vollständig unterstützt. Der 8031 ist iden-
tisch zum 8051, der 8032 zum 8052.
Anmerkung: SIM51 arbeitet default so, als ob ein externes EPROM vorhanden
ist (Pin /EA = 0 beim 8051). Wird wirklich ein speziell für das interne
EPROM geschriebenes Programm getestet, so ist im F6-Fenster (Konfiguration)
/EA=1 zu setzen!
Nun kann bereits der geladene Code debugged werden. Dies erfolgt im
Single-Step, Procedure-Step oder über den Go-Befehl.
Mit der [F1]-Taste wird nur ein einziger Befehl ausgeführt.
Die [F2]-Taste verhält sich wie [F1], jedoch wird bei einem CALL dieser
vollständig ausgeführt, bevor wieder gestoppt wird (ebenso bei DJNZ).
Wird in der SIM51-Eingabezeile ein G eingegeben, so wird der CODE ohne Stop
abgearbeitet. Es kann nur noch über die dann als User-Break wirkende [F5]-
Taste wieder gestoppt werden (Stop natürlich auch bei Breakpunkten -> siehe
SIM51.DOC).
Soll der Code bis zu einer bestimmten Adresse (z.B. einen Interrupt) abge-
arbeitet werden, so ist einzugeben: G , stopAdr
Soll Code übersprungen werden, so wird nur die Cursor-Down Taste gedrückt
(anstelle [F1]) oder es wird D neueAdr eingegeben.
Damit können schon die ersten Debug-Schritte im eigenen Programm gemacht
werden. Alle Befehle vom SIM51 erhält man On-Line über die [F4]-Taste und
sie können ausführlich im File SIM51.DOC nachgelesen werden.
Esslingen, den 11.08.1992 Werner Hennig-Roleff