Praktikumsversuch 1:

Transcription

Praktikumsversuch 1:
Rechnertechnik
Fachbereich Informatik
Prof. Dr. Bayer/ Prof. Dr. Högl
Anleitung zum Praktikum „Rechnertechnik“
Im Praktikum wird ein Experimentierboard (Evaluationboard) verwendet, das im wesentlichen
den Mikrocontroller 68332 von Motorola sowie Peripheriekomponenten enthält.
Folgende Peripherie ist auf dem Eval-Board vorhanden:
•
•
•
•
•
•
•
•
•
•
•
LCD-Zeilendisplay
8Bit Analog/Digital-Wandler
8Bit Digital/Analog-Wandler
RTC (Real Time Clock)
RS232 Schnittstelle
Communication Schnittstelle (QSPI)
TPU-Kanäle an Buchsenleiste
Infrarotschnittstelle
4 Taster
4 LEDs
Der Microcontroller sowie SRAM und Flash-Speicherbausteine befinden sich auf einem
separatem Board (NF300), das auf das Eval-Board aufgesteckt wird.
Eval-Board:
Eval-Board mit NF-300 und LCD-Display
1/10
Rechnertechnik
Fachbereich Informatik
Prof. Dr. Bayer/ Prof. Dr. Högl
NF300
Als Praktikumssystem benützen wir den NF-300 Rechner der Fachhochschule Nürnberg.
Dieser Rechner ist im wesentlichen der MC 68332, ergänzt mit Resetlogik , mit einem SRAMSpeicher (1 MByte) und mit einem Flash-Eprom (). Sämtliche Pins des 68332 sind über
seitliche Steckleisten nach außen geführt.
Dieser Mikrocontroller besteht aus einer 32-Bit CPU und integrierten Peripheriebausteinen
(serieller Schnittstelle, parallele I/0- Ports, Timer).
Als Dokumentation steht Ihnen das Buch „Mikrocomputertechnik“ von Prof. Urbanek zur
Verfügung, das eine detaillierte Beschreibung des NF300 enthält. Außerdem sind auf der
beigefügten CD die im Praktikum verwendeten Entwicklungsprogramme sowie Manuals zum
68332 enthalten.
1 Die Entwicklungsumgebung
Der NF-300 wird über eine 10-poliges Kabel und einen PC-Adapter an einen PC mit dem
Betriebssystem Windows95 angeschlossen (Host-Rechner). Über diese BDM-Verbindung
(BDM = Background Debug Mode) wird der 68332 während der Programmentwicklung von
einem Monitorprogramm überwacht und kontrolliert. Damit können Programme geladen
werden, Register und Speicherinhalte geschrieben und gelesen werden und Breakpoints
gesetzt werden.
Anschluß des NF300-Rechners an den PC
PC
Par.
Port
10-poliges Kabel
NF300-Rechner
BDM-Stecker
PC-Adapter
Die Bedienung des Systems und die Programmentwicklung erfolgt am Host-Rechner. Dazu
werden drei verschiedene Programme verwendet.
2/10
Rechnertechnik
Fachbereich Informatik
Prof. Dr. Bayer/ Prof. Dr. Högl
Mit dem Editor wird der Programmtext erstellt. Als Editor ist jeder beliebige Editor verwendbar,
der ASCII-Text erzeugt. Die sog. Source-Dateien erhalten die Extension „src“. Im Praktikum
wird der frei verfügbare Editor „PFE“ (Programmers File Editor) eingesetzt. ( Download von
http://www.winsite.com/info/pc/win95/misc/pfe101i.zip/)
Dieser Editor erlaubt es, die beiden anderen Programme, nämlich Assembler und Debugger,
direkt von der Eingabeebene zu starten.
Der Assembler (As32.exe) überprüft die Syntax des Programms und übersetzt das im
Textformat erstellte Programm in den Maschinencode des Prozessors. Das übersetzte
Programm wird im Motorola-spezifischen S-Format in einer Datei mit der Extension „s19“
abgelegt.
Mit Hilfe des Debug-Programms (Bd32.exe) wird das Programm in den Speicher des NF300
geladen und gestartet. Die Ausführung des Programms kann ebenfalls mit dem Debugger
überwacht werden.
Idee
Editor
Source-Datei
"test.src"
As32
S-Datei
"test.s19"
Bd32
NF300
3/10
Rechnertechnik
Fachbereich Informatik
Prof. Dr. Bayer/ Prof. Dr. Högl
Bedienung des Editors
Der Editor PFE (pfe32.exe) hält sich bei der Bedienung an die Windowskonventionen und
verfügt über ein gutes Hilfesystem (in Englisch), so daß hier auf eine detaillierte Anleitung
verzichtet werden kann.
Folgende Hinweise sind für das Praktikum hilfreich:
• Die Zeilennumerierung sollte aktiviert werden, da bei Fehlermeldungen des Assemblers
immer die Zeilennummer angegeben wird.
• Unter dem Menüeintrag „Execute“ kann direkt der Debugger/Monitor und der Assembler
gestartet werden
4/10
Rechnertechnik
Fachbereich Informatik
Prof. Dr. Bayer/ Prof. Dr. Högl
1.1 Assembler
Alle Eingaben in Assembler erfolgen von einem normalen Texteditor aus. Jede Zeile wird mit
RETURN abgeschlossen.
Das Assemblerformat für die Eingabe der Quellcodes ist wie folgt:
[Labelfeld] OpCode
Quelle,Ziel
[; Kommentar]
ACHTUNG: Zwischen Quelle und Ziel darf NUR ein Komma stehen. Dieses darf NICHT
aus optischen Gründen durch ein Leerzeichen ergänzt werden, sonst erzeugt der AS32
einen falschen Code !
Die Felder in eckigen Klammern sind optional. Wird kein Label verwendet, so muß die erste
Spalte frei bleiben.
Nach dem Assemblieren hat der Assembler davor eine Spalte für die generierten Hexcodes
eingefügt.
Die EQU (:= EQUate) Anweisung ist eine Pseudoassembler Anweisung. Sie ermöglicht das
Arbeiten mit verständlichen Namen.
Allen Adressen und Konstanten gibt man vor dem eigentlichen Programmstart Namen, sog.
Labels. Damit hat man leicht zu merkende Namen gegen schwer zu merkende Hexzahlen
eingetauscht. Der Assembler ersetzt während des Assemblierens alle Namen durch die
ursprünglichen Werte.
5/10
Rechnertechnik
Fachbereich Informatik
Prof. Dr. Bayer/ Prof. Dr. Högl
1.2 Kommandos des Debuggers BD 32
BF <start> <end> <data> [;<option>]
(Block Fill)
Füllt einen Bereich mit einem definierten Inhalt.
Mögliche Optionen: „;b“ (byteweise), „;w“ (word = default), und „;l“ (long-word)
MD [<address>] [<count>] [;<option>]
(Memoy Display)
Zeigt eine definierte Anzahl von Speicheinhalten an.
MM [<address>] [;<option>]
(Memoy Modify)
Zeigt Speicheinhalte an, und ermöglicht die Veränderung derselben.
Mit „.“ kann die Eingabe abgeschlossen werden.
LO <filename> [<offset>]
(Load)
Lädt ein Object-Code-File in den Speicher des Zielsystems.
Es werden Motorola S1, S2 und S3-Record´s akzeptiert.
ASM [<address>]
(Assembler)
Disassembliert zuerst den Programmcode an der spezifizierten Adresse, und ermöglicht die
Eingabe eines neuen Codes. Dieser wird assembliert und in den Speicher abgelegt.
Anschließend wird der nächste Befehl angezeigt. Beenden durch Eingabe von „.“.
DASM [<address> [count]]
(Disassembler)
Disassembliert eine Anzahl von von Befehlen ab der angegebenen Adresse.
Anzeige / Veränderung von Registerinhalten
RD
(Register Display)
Zeigt die Inhalte der CPU-Register und disassembliert den Befehl, auf den der
Programmzähler zeigt.
RM [<registername>]
(Register Modify)
Erlaubt es, die CPU-Registerinhalte zu verändern.
Optional kann eines der folgenden Zeichen eingegeben werden:
´=´ schreiben ohne zum nächsten Register zu gehen.
´^´ schreiben und zum vorigen Register gehen.
´v´ schreiben und zum nächsten Register gehen.
´.´ beenden
6/10
Rechnertechnik
Fachbereich Informatik
Prof. Dr. Bayer/ Prof. Dr. Högl
Breakpoints
BR [<address> [<mask>]]
Setzt an der spezifizierten Adresse einen Breakpoint. Es sind maximal 4 möglich.
Die Eingabe von „BR“ zeigt alle gesetzten Breakpoints an.
NOBR [<address1> [address2> [<address3> [address4>]]]]
Entfernt die entsprechenden Breakpoints. Wurde keine Adresse angegeben, so folgt
die Frage „Kill all breakpoints (Y/N)?“.
Prozessor Control
GO [<address>]
Startet die Programmausführung an der angegebenen Adresse. Wurde auf die
Adressangabe verzichtet, erfolgt Programmstart ab Programmcounteradresse.
RESET
Restart wie bei Power-On.
RESTART
Wie Hardware Reset durch ext. Taster.
STOP
Stoppt den Prozessor am Ende des aktuellen Befehls.
T [<Bedingung>]
(Trace)
Trace (Unterprogramme werden ebenfalls im Trace-Mode durchlaufen).
S [<Bedingung>]
(Step)
Step (Unterprogramme werden in Echtzeit durchlaufen).
Beispiele: T PC==$4004
Trace, bis <PC> = HEX 4004
S *LoopCounter <23 Step, bis die Variable unter der Adresse „LoopCounter“
kleiner als 23 wird.
Mit „ESC“ wird die TRACE/STEP Ausführung beendet.
7/10
Rechnertechnik
Fachbereich Informatik
Prof. Dr. Bayer/ Prof. Dr. Högl
Sonstige Kommandos
* <Kommentar>
Mit „*“ beginnende Zeilen werden als Kommentarzeilen gewertet.
CLS
Löscht den Bildschirminhalt und positioniert der Cursor in die erste Zeile.
DO <filename>
Öffnet das angegebene File, liest den Text und führt die Befehle aus, wie wenn sie von der
Tastatur eingegeben werden.
DOS [<kommandozeile>]
Unterbricht den Debugger vorübergehend um DOS-Kommandos eingeben zu können.
Rückkehr mit „exit“ möglich.
EXIT oder QUIT
Beenden den Debugger. Das Zielsystem bleibt in dem Zustand wie vor Ausführung des
Befehls.
LOG [<filename> / OFF]
Zeichnet eine Reihe von Debug-Kommandos in einem File auf.
PORT [<port> <speed>]
Ohne angegebene Parameter wird der aktuelle Port (LPT1..,COM1..) mit dessen Einstellung
angezeigt. Wird ein neuer Port angegeben, so wechselt der Debugger zu diesem.
SD [<start> [<end>]]
Listet den Inhalt der Symboltabelle auf.
SET [<symbolname> <ausdruck>]
Nimmt den angegebenen Symbolnamen in die Symboltabelle auf.
8/10
Rechnertechnik
Fachbereich Informatik
Prof. Dr. Bayer/ Prof. Dr. Högl
NF300
Das Praktikumsboard (NF300) besteht im wesentlichen aus
•
Mikrocontroller M68332
•
externem SRAM-Speicher mit 256 Kbyte
•
externem FEPROM mit 1 Mbyte
Der Mikrocontroller selbst ist ein komplettes Rechensystem und enthält
•
internes RAM
•
serielle Schnittstellen (SCI und QSCI)
•
8 Bit Parallelports E und F
•
einfacher Timer
•
Timerprozessor (TPU)
•
SIM (System Integration Modul)
9/10
Rechnertechnik
Fachbereich Informatik
Prof. Dr. Bayer/ Prof. Dr. Högl
1.3
Die Lage der externen Speicher wird durch Konfigurationsregister im SIM-Block des
68332 bestimmt. Im Praktikum beginnt das SRAM an der Adresse $0, das FEPROM
beginnt ab Adresse $800000.
Der Adreßraum des 68332 umfasst 16 Mbyte und ist für das Praktikum folgendermaßen
aufgeteilt:
Belegung des Adressraums:
$FFFFFF
$FFFA00
Register
$8FFFFF
FEPROM
$800000
Daten
Programm
$C00
Stack
$3FFFF
SRAM
Vektortabelle
$0
$0
10/10