ctr

DeMon48_128k

Intel 8049 (8048, 8748, 8749, 8035, 8039) / MCS-48 Hardware-Debugger & Monitor

Dokumentation - Inhalt


  • 1.0.0 Warum das DeMon48 Projekt entstand
    • 1.1.0 Erster Kontakt mit MCS-48
  • 2.0.0 MCS-48 Primer
    • 2.1.0 Die MCS-48 Mikrocontroller Familie
      • 2.1.1 Typen und On-Chip Ressourcen (1979)
      • 2.1.2 MCS-48 in Publikationen der 1970er und -80er Jahre
    • 2.2.0 Die MCS-48 Mikrocontroller
      • 2.2.1 Programmspeicher
      • 2.2.2 Reset- und Interrupt-Vektoren
      • 2.2.3 PSW (Program Status Word)
      • 2.2.4 Internes RAM
      • 2.2.5 Stack im internen RAM
      • 2.2.6 Timer/Counter
    • 2.3.0 Minimalsystem mit externem Programmspeicher
    • 2.4.0 DIP40 Pinbelegung, Steuersignale, Ports, Timing
      • 2.4.1 EA
      • 2.4.2 *RESET
      • 2.4.3 *INT
      • 2.4.4 ALE
      • 2.4.5 *PSEN
      • 2.4.6 *RD
      • 2.4.7 *WR
      • 2.4.8 PROG
      • 2.4.9 P1, P2
      • 2.4.10 BUS
      • 2.4.11 Timing
    • 2.5.0 Logik-Analysator Aufzeichnungen
  • 3.0.0 MCS-48 im 21. Jahrhundert
    • 3.1.0 Erste Inbetriebnahme
    • 3.2.0 NOP-Schleife
    • 3.3.0 Programm- und Daten-Speicher in einem RAM
    • 3.4.0 Debug-µC
      • 3.4.1 NOP-Schleife mit Debug-µC
      • 3.4.2 256Byte-Page Write mit Debug-µC
    • 3.5.0 Single-Step Hardware
    • 3.6.0 DeMon48_128k Speicherorganisation / MMU
      • 3.6.1 DBR - Data Bank Register
      • 3.6.2 PBR - Program Bank Register
      • 3.6.3 Nutzung mit "8243"-Portexpander
      • 3.6.4 DA16 - Data Address 16
      • 3.6.5 Expansion Register
      • 3.6.6 Befehle zum Zugriff auf die MMU
      • 3.6.7 Bildung der Adresse in verschiedenen Situationen
      • 3.6.8 Memory-Mapped I/O
    • 3.7.0 Hardware-Breakpoint
    • 3.8.0 Takterzeugung und Eingang für externen Takt
  • 4.0.0 Die Monitor-Software : der "God Mode" für den Entwickler
    • 4.1.0 Monitor-Aufruf
      • 4.1.1 PC, PBR, DBR retten
      • 4.1.2 Monitor-Start
      • 4.1.3 Interrupt-Erkennung
      • 4.1.4 "Pending Bank Switch"-Erkennung
      • 4.1.5 A, T, PSW, R0 retten
      • 4.1.6 P1, P2, T0, T1, *INT, F1 lesen
      • 4.1.7 Internes RAM lesen
      • 4.1.8 Stack modifizieren
    • 4.2.0 Monitor-Metazustand
    • 4.3.0 Monitor-Ausgang
      • 4.3.1 Gerettete und geänderte Inhalte zurückschreiben
      • 4.3.2 Internes RAM beschreiben
      • 4.3.3 PBR, DBR, P1, P2 und F1 beschreiben
      • 4.3.4 R0, PSW, T und A wiederherstellen
      • 4.3.5 Stack modifizieren
      • 4.3.6 PC, Timer-/Counter-Konfiguration und MB-FF wiederherstellen
  • 5.0.0 Speicherkonfigurationen
    • 5.1.0 Jumper
    • 5.2.0 DA16 (Data Address 16)
    • 5.3.0 Modes
    • 5.4.0 Memory Maps
      • 5.4.1 Memory Map 1
      • 5.4.2 Memory Map 2
      • 5.4.3 Memory Map 3
      • 5.4.4 Memory Map 4
      • 5.4.5 Memory Map 5
      • 5.4.6 Memory Map 6
  • 6.0.0 GUI / Windows-Software
    • 6.1.0 Status-Anzeigen
    • 6.2.0 Aux-/CPU-Registers & Ports
    • 6.3.0 External RAM (Program/Data)
    • 6.4.0 Internal RAM (Data)
    • 6.5.0 Schaltfläche 'File'
    • 6.6.0 Schaltfläche 'AS'
    • 6.7.0 Schaltfläche 'ROM'
    • 6.8.0 Schaltfläche 'Fill'
    • 6.9.0 Projekt-Konfiguration
    • 6.10.0 Schaltfläche 'Run'
    • 6.11.0 Schaltfläche 'Step'
    • 6.12.0 Schaltfläche 'Sync'
    • 6.13.0 Schaltfläche 'Reset'
    • 6.14.0 Optionen 'Mon.Entry' und 'Mon.Exit'
    • 6.15.0 Schaltfläche 'Auto'
    • 6.16.0 Software-Breakpoint
    • 6.17.0 Hardware-Breakpoint
    • 6.18.0 Stopwatch
  • 7.0.0 Anhang
    • 7.1.0 Befehlssatz der 8035, 8039, 8048, 8049, 8748, 8749, 8040, 8050 µC
    • 7.2.0 DeMon48_128k Code-Beispiel "RAM Test"