Entwicklung und Debugging-Tools für Single-Chip-Mikrocontroller

Die wichtigsten Debugging-Tools gehören:

  • In-Circuit-Emulatoren.
  • Software-Simulatoren.
  • Entwicklungsplatine (Evaluation Board).
  • Debug-Monitor.
  • ROM Emulatoren.

Diese Liste umfasst nicht alle Arten von bestehenden Debugging-Tools. Neben diesen gibt es auch kombinierte Geräte und Kits, die es Ihnen ermöglichen, für die Mängel des Anlagevermögens zu kompensieren, getrennt genommen.

In-Circuit-Emulatoren.

In-Circuit-Emulator - Software-Hardware, in der Lage den emulierten Prozessor in einer realen Schaltung zu ersetzen. In-Circuit-Emulator - es ist das vielseitigste und leistungsstarke Debugging-Tool.

In der Tat macht das "gute" In-Circuit-Emulator die Funktion des Prozesssteuerung transparent gedebuggten, das heißt, leicht zu kontrollieren, willkürlich steuerbar und veränderbar, indem der Entwickler.

Funktionell die Teilerschaltung Emulatoren für mit dem externen Computer Paarung (in der Regel geschieht IBM PC), und arbeitet autonom. Stand-alone-In-Circuit-Emulatoren sind Rechenressourcen angepasst, Input-Output-Mittel, nicht für den normalen Betrieb erforderlich ist, Verbindungen zu beliebigen externen IT-Ressourcen, aber dafür muss der Anwender einen wesentlich höheren Preis zu zahlen, oder reduzierter Funktionalität und Service-Funktionen im Vergleich zu ähnlichen Modelle, mit dem IBM PC dockt.

Normalerweise dockt In-Circuit-Emulator an das Zielsystem Emulation erfolgt über ein Kabel mit einem speziellen Emulationskopf verwendet. Emulation Kopf wird anstelle des Mikrocontrollers in das System eingefügt gedebuggten. Wenn der Mikrocontroller nicht von dem Zielsystem entfernt werden kann, dann ist die Verwendung eines Emulators nur möglich, wenn die MCU eine Debug-Modus hat, in dem alle seine Stifte Tristate-Zustand sind. In diesem Fall den Emulator mit einem speziellen Adapter, Gürtelclip zu verbinden, die direkt an den Anschlüssen des emulierten Mikrocontrollers verbunden ist.

Als Minimum umfasst der Emulator die folgenden Funktionsblöcke:

  • Debugger.
  • Emulation der Mikrocontroller-Einheit;
  • Emulationsspeicher;
  • Subsystem Grenzwerte;

Fortgeschrittenere Modelle können ferner umfassen:

  • Prozessor Grenzwerte;
  • Tracer;
  • Profiler (Parser Code-Effizienz);
  • Echtzeit-Uhr;
  • Software und Hardware, die Möglichkeit bietet, die emulierten Prozessor-Ressourcen "on the fly" zu lesen und zu ändern, das heißt während der Benutzerprogrammausführung in Echtzeit;
  • Software und Hardware, synchrone Steuerung notwendig für die Emulation in Multi-Prozessor-Systeme bereitstellt;
  • eine integrierte Entwicklungsumgebung

Debugger

Der Debugger ist eine Brücke zwischen dem Entwickler und Debugging-Tool. Die Zusammensetzung und die Menge an Informationen über die Eingabe-Ausgabe-Mittel vorbei, dessen Verfügbarkeit zur Erfassung, Überwachung und, falls erforderlich, Korrektur und Änderung - direkt abhängig von den Eigenschaften und der Qualität des Debuggers.

Ein guter Debugger ermöglicht Ihnen:

  • Herunterladen von in dem Speichersystem debuggt wobei das Programm.
  • Der Status-Monitor-Ausgang und die Inhalte aller Register und Speicher, und wenn nötig, deren Änderung.
  • Steueremulationsprozess.

Weitere leistungsstarke Debugger, die allgemein als High-Level (High-Level-Debuggers), zusätzlich zu diesen genannten, können Sie:

  • tragen symbolische Testen, den Debugger aufgrund der Tatsache, dass "weiß" die Adressen aller symbolischen Variablen, Arrays und Strukturen (durch die Verwendung von spezifischen Informationen, die vom Compiler im Lieferumfang enthalten). Der Benutzer kann mehr akzeptabel für die menschlichen Charakternamen arbeiten, stört nicht ihre Adressen zu erinnern.
  • überwachen und analysieren nicht nur die disassemble Text, sondern auch den Quellcode in Hochsprache geschrieben und sogar mit ihren eigenen Kommentaren.

Dieser Debugger ermöglicht es dem Benutzer, gleichzeitig den Fortschritt des Programms zu überwachen und die Korrespondenz zwischen den Quelltext, um das Bild des Programms in Maschinencode und den Zustand der emulierten Mikrocontroller-Ressourcen zu sehen.

Es sei darauf hingewiesen, dass ein High-Level-Debugger alle seine Funktionen nur im Fall bietet, wenn Sie ein Cross-Compiler verwenden liefert eine vollständige und korrekte Debug-Informationen (nicht alle Compiler, insbesondere ihre Raubkopien, liefern diese Informationen) und zugleich seiner Präsentationsformat sollte " mit "Debugger.

Emulationsspeicher

Verfügbarkeit Emulationsspeicher ermöglicht seine Verwendung in der Debug-Prozess anstelle des ROM in das Zielsystem und darüber hinaus ohne die Verwendung des Debug-Programm oder ein reales System-Layout. Falls erforderlich, Änderungen an dem Programm gedebuggten, genug, um eine neue oder geänderte Programm in den Emulator den Speicher zu laden, anstatt sich mit der ROM-Neuprogrammierung. Es gibt Modelle von Emulatoren, die der Benutzer auf "Ersatz" statt ROM-Emulation Speicher erlauben nicht nur in seiner Gesamtheit, sondern auch in den Blöcken (in einigen Modellen kann die minimale Blockgröße bis zu einem Byte sein), in der Reihenfolge vom Benutzer definiert. Um dies zu tun, muss der Benutzer nur die Speicherzuordnungsdaten und Programmspeicher zu setzen, in Übereinstimmung mit dem der Prozessor den Zugriff auf Inhalt und den ROM in dem Zielsystem, und den Inhalt des Speicheremulationsschaltung Emulator. Dieser Speicher ist in der Regel Speicher mit Mapping bezeichnet.

Indikator

In der Tat ist der Router einen Logikanalysator, die synchron mit dem Prozessor und der Verriegelungsgewinde führt Befehle und den Status von ausgewählten externen Signalen arbeitet. Es gibt Modelle von in-circuit-Emulatoren, die Sie erlauben nicht nur Signale zu verfolgen, sondern auch den Zustand der internen Ressourcen des Mikrokontrollers, wie beispielsweise Register. Diese Emulatoren verwenden eine spezielle Version der Mikrocontroller (Emulation Kristalle).

Prozessor Stützpunkte

Der Prozessor ermöglicht Haltepunkte, die Ausführung des Programms zu stoppen oder andere Aktionen, wie Start oder den Router zu stoppen, wenn die benutzerdefinierten Bedingungen. Im Gegensatz zu den herkömmlichen Mechanismus Haltepunkte Haltepunkte Prozessor ermöglicht es Ihnen, den Zustand von fast jedem Grad an Komplexität zu erstellen und zu überwachen und somit emuliert der Prozess nicht von Echtzeit abgeleitet wird.

Shaper

Profiler (sonst die Wirksamkeit des Code-Analyse), können Sie die Ergebnisse des Programms zu erhalten gedebuggten läuft die folgenden Informationen:

  • Anzahl der Besuche in verschiedenen Teilen des Programms;
  • verbrachte Zeit in den verschiedenen Teilen des Programms.

Analyse statistischer Daten durch die Profiler bereitgestellt macht es einfach "tot" oder Überspannung Programmbereiche zu erfassen, und als Ergebnis optimieren die Struktur des Programms an.

Integrierte Entwicklungsumgebung

Die Sammlung von Software-Tools, die vom Schreiben des Quellcodes des Programms an seiner Erstellung und Debuggen aller Phasen der Software-Entwicklung unterstützt und bietet eine schnelle und einfache Interaktion mit anderen Werkzeugen (Software-Debugger und Programmer-simulyatorm).

Die Präsenz in der Shell-Programm Emulator integrierten Editor, integrierte Projektmanager und Kontrollsystem, kann erheblich die Arbeit des Entwicklers erleichtern, ihn von vielen Routinetätigkeiten zu befreien. Für Entwickler, die Grenze zwischen dem Schreiben des Programms, seine Bearbeitung und Debugging-Unschärfe. Der Übergang von der Bearbeitung Quellcode zu debuggen und umgekehrt ist "transparent" und synchron mit der Aktivierung der jeweiligen Fenster, Projektmanager startet automatisch die Zusammenstellung als notwendig und aktiviert die entsprechenden Programm-Interface-Fenster.

Genauso einfach durchgeführt und der Übergang ein Projekt zu debuggen den vorhandenen Debugger-Simulator verwenden oder zu starten ROM etablierte Programm "Flashen".

Einige Modelle der In-Circuit-Emulatoren können die Benutzer und andere erweiterte Funktionen zur Verfügung stellen. Unter ihnen erwähnen wir eine, wenn auch sehr spezifisch, aber in einigen Fällen von grundlegender Bedeutung sind: die Möglichkeit mnogoemulyatornyh Komplexe zu bauen, die für Systeme Multiprozessor-Debugging. Eine Besonderheit dieser Anlage ist die Möglichkeit der gleichzeitigen Steuerung (mit einem Computer) mehrere Emulatoren.

Im Allgemeinen können die verschiedenen Modelle von in-circuit-Emulatoren bieten dem Benutzer die Möglichkeit, den Betrieb des Debugging-Geräte zu steuern und zu verwalten, mit allen Arten von Einschränkungen. Zum Beispiel kann es eine falsche Interrupt sein, einen Schritt für Schritt Handhabung oder ein Verbot der Verwendung der seriellen Schnittstelle, etc .. Es ist auch daran zu erinnern, notwendig, dass jeder realen Modell Emulator seinen eigenen Satz von unterstützten Compiler hat. Einige Firmen Hersteller von Emulatoren versuchen bewusst die Anzahl der unterstützten Compiler zu begrenzen, vor allem ist es typisch für westliche Produzenten. In diesen Fällen kann der Emulator nur ein Zeichenformat verwendet werden.

Merkmale von "echten" In-Circuit-Emulator wird am Beispiel des Modells PICE-51 dargestellt werden.

PICE-51

In-Circuit-Emulator ist ein 8-Bit-Mikrocontroller-Familie 8051

PICE-51 - eine neue Generation Simulator, mit dem Einsatz neuer Technologien Entwicklung von Hard- und Software erstellt wurden .

Die Verwendung von programmierbaren Hochleistungs Matrices erlaubt , die Größe des Emulators ohne Beschädigung um seine Funktionalität zu reduzieren, zu minimieren , die Abweichung von elektrischen und Frequenzeigenschaften der emulierten Prozessor Emulators Eigenschaften und somit zu maximieren , die Genauigkeit der Emulation bei Frequenzen bis zu 30 MHz mit Versorgungsspannungen von 3,3 V bis 5V.

Lädt die Hardwarestruktur des Emulator emuliert praktisch alle 8051 - Mikrocontroller - Familie als die inländische Produktion und Unternehmen: Intel, Philips, Siemens, Atmel , Dallas, Temic, OKI, AMD, MHS und andere.

Leistungsstarke Software - Schnittstelle zwischen Windowsv, ist eine integrierte Entwicklungsumgebung , die vom Schreiben des Quellcodes des Programms an seiner Erstellung und Debuggen aller Phasen der Software - Entwicklung unterstützt. Emulator Support - Programm wird bei Austesten von Programmen in der Sprache der High-Level - Quellcode ausgerichtet.

Der Emulator besteht aus einer Hauptplatine Größe 80h76mm, austauschbare Adapter prozessorspezifische und wandelbar Emulation Kopf für einen bestimmten Typ von Wohnungen. Auf der Hauptplatine implementiert: Router - Prozessor - Grenzwerten. Die Gebühr beinhaltet einen abnehmbaren Adapter-Prozessor für eine bestimmte Art von Mikrocontroller emuliert. Emulation Köpfe bieten Installation des Emulators in DIP und PLCC-Pads auf der Benutzer Bord. Power-Emulator wird durch die Spannungsversorgung von + 5V, 0.5A oder debuggt direkt vom Gerät zur Verfügung gestellt. Kommunikation mit dem Computer - auf dem Kanal sind galvanisch getrennt RS-232C mit einer Geschwindigkeit von 115 kBaud ..

Ausrüstungs Beschreibung

  • Genaue Emulation - das Fehlen von Beschränkungen für die Verwendung des Anwenderprogramms der Mikrocontroller-Ressourcen.
  • Bis zu 256K emulierten Programm- und Datenspeicher. Unterstützung bankirovannoy Speichermodell. Speicherzuordnung zwischen dem Emulator und dem Benutzergerät mit einer Genauigkeit von bis zu 1 Byte.
  • Bis zu 512K Hardware Breakpoints auf den Zugang zum Programm und Datenspeicher.
  • Hardware-Unterstützung für das Debugging-Programme in Hochsprachen.
  • Trace alle 8 externe Signale.
  • 4 Ausgänge Synchronisierung Benutzergerät.
  • Echtzeit-Kapazität Tracerpuffer von 16K bis 64K Rahmen 64-Bit-Zugriff "on the fly". Trace-Adresse, Daten, Steuersignale und Echtzeituhr 8 externe Benutzersignale.
  • Programmierbare Trace-Filter.
  • Hardware-Breakpoints Prozessor mit der Fähigkeit, komplexe Bedingung zu spezifizieren durch Emulation Kombinationen von Adresssignalen zu stoppen, Daten, Steuerung, 8 externe Signale, Echtzeituhr, Ereigniszähler und Timer-Verzögerung.
  • Vier komplexe Unterbrechungspunkte, die unabhängig voneinander oder in Kombinationen verwendet werden, können nach AND / OR / IF-THEN Bedingungen.
  • 48-Bit-Timer Echtzeit.
  • Transparente Emulation - Zugriff "on the fly" zu dem emulierten Speicher, Haltepunkte, CPU Breakpoint, der Trace-Puffer-Timer Echtzeit.
  • Kontrollierte Takt für den emulierten Prozessor. Die Fähigkeit, sanft die Taktfrequenz auf 40 MHz von 500 kHz ändern.
  • Galvanisch von der mit dem Wechselkurs von 115 KBaud RS-232C-Kommunikationskanal des Computers isoliert.
  • Built-in Self-Test Hardware-Emulator.

Software-Eigenschaften

  • Die Software ist auf Job Windowsv Umgebung auf IBM-somestimyh Computer mit Prozessoren vom Typ 386/486 / Pentium ausgerichtet sind;
  • Built-in - Editor Multi-Fenster für Programme Quelle zu schreiben. Der Editor unterstützt Operationen mit Textblöcke, Suchen / Ersetzen, farbliche Hervorhebung Syntax der Assemblersprache und C;
  • Built-in - Projektmanager ermöglicht die automatische Erstellung von Programmen. Alle Optionen werden in Dialogform gesetzt. Der Übergang von der Bearbeitung Quellcode zu debuggen und umgekehrt ist "transparent", dh Projektmanager startet automatisch die Erstellung des Projekts, falls erforderlich;
  • PICE-51 bietet das symbolische Testen und Debuggen auf Quellcode für die Programme mit den folgenden Compiler erstellt:
    • Assembler ASM51 Firma Intel;
    • MCA-51 Montagefirma Fitton / Mikrokosmos;
    • Compiler PL / M Firma Intel;
    • IAR Systems Assembler und Compiler - Unternehmen C;
    • Assembler und Compiler Avocet Systeme Inc./HiTech Unternehmen C;
    • Assembler und Compiler - Unternehmen C Keil Software Inc. ;
  • speichern und laden automatisch die Hardware-Konfigurationsdateien, Interface und Debugging-Optionen. Sorgt für Kompatibilität von Konfigurationsdateien mit den Simulator PDS-51. Stellen Sie sicher, Portabilität von Projekten zwischen dem Emulator PICE-51-Simulator und PDS-51;
  • Die Fähigkeit, die Farben, Schriftarten und andere Einstellungen für alle Fenster gleichzeitig für jedes Fenster einzeln anpassen;

Der Emulator ist mit einer gedruckten Bedienungsanleitung und im elektronischen Handbuch Kontext, in der seine Prinzipien des Betriebs werden im Detail beschrieben, das Team, das Menü - Shortcuts.

Blockschaltbild des Emulators PICE-51

COMPONENTS Emulator PICE-51

Der emulierte Mikrocontroller Emulation internen Programmspeicher Paket-Inhalt
Hauptplatine Ersatz-Adapter Emulation Kopf
Intel: 80C31 / 32, 80C51 / 52, 80L / C51FA, 80C51RA;
Philips: 80S31 / 32, 80C51 / 52, 80C51FA; 80C51RA +, 80CL410, 80C524 / 528/550/652/654/575/576/851;
Atmel: 89C51, 89C52, 89C55, 89S8252, 89S53;
Siemens: SAB501 / 502/504/505/511/513;
MHS: 80C31, 80C51, 80C32, 80C52, 80C154;
Oki: 80C31, 80C51, 80C154;
AMD: 80C31, 80C51, 80C52;
Nein PICE-51 POD-51-31 ADP-51-DIP40 oder ADP-51-LCC44
Intel: 80C31 / 32, 8XS51 / 52/54/58, 8XL / C51FA / FB / FC , 8XC51RA / RB / RC;
Philips: 80S31 / 32, 8XC51 / 52/54/58, 8XC51FA / FB / FC; 8XC51RA + / RB + / RC + / RD +, 8XC524 / 528/550/652/654/575/576/851; 89C535 / 536/538;
Atmel: 89C51, 89C52, 89C55; Siemens SAB501;
MHS: 80C31, 8XC51, 80C32, 8XC52, 8XC154;
Oki: 80C31, 8XC51, 8XC154; AMD: 80C31, 8XC51, 8XC52;
64K PICE-51 POD-51-RX ADP-51-DIP40 oder ADP-51-LCC44
Atmel: 89C4051, 89C2051, 89C1051; 4K PICE-51 POD-51-31 oder POD-51-RX ADP-51-2051
Philips: 80C451, 80C453; 87C451, 87C453 64K PICE-51 POD-51-453 ADP-51-LCC68
Philips: 80C552, 80C562; 80C554
Philips: 80C552, 80C562; 80C554, 87C552, 87C562, 87C554
Nein
64K
PICE-51
PICE-51
POD-51-552
POD-51-554
ADP-51-LCC68
ADP-51-LCC68
Intel: 80C51GB Nein PICE-51 POD-51-GB ADP-51-LCC68
Dallas: DS80C310, DS80C320, DS8XC520 64K PICE-51 POD-51-DS530 ADP-51-DIP40 oder ADP-51-LCC44
Dallas: DS8XC530 64K PICE-51 POD-51-DS530 ADP-51-DS530

Vergleichende Merkmale von einigen der Emulatoren für die 8051-Familie von Mikrocontrollern

Modell Lieferant EMUL-51 Nohau Gesellschaft USP-51 Signum Systems IceMaster-8051 MetaLink PICE-5 Fiton1
Emulierte Mikrocontroller 8051 Alle bekannten Arten Alle wichtigen Sorten Alle wichtigen Sorten Alle wichtigen Sorten
Die maximale Frequenz der Emulation 42 MHz 40 MHz 24 MHz 33 MHz
Die maximale Größe des emulierten Speicher 320K 256K 128K 512K
Eigenschaften Umschichtung zwischen dem Emulator und dem Gerät des Benutzers Bausteine ​​für 4K Die Blöcke von 256 Bytes Die Blöcke von 16 Bytes Bis zum ersten Byte
Trace-Puffer Bis zu 16K von 48-Bit-Rahmen Bis zu 32K von 80-Bit-Rahmen Bis zu 4K-Frames für 48-Bit Bis zu 64 KB 64-Bit-Rahmen
Zugriff "on the fly", um das emulierte Speicher und tracer ja ja ja ja
PC-Schnittstelle Karte ISA-Steckplatz RS-232C, 115 Kbaude RS-232C, 115 Kbaude Isolierte RS-232C, bis zu 115 Kbaude
Design und Dimensionen Zwei Karten in ISA-Format, Kabel 2 m, Pody Das Gehäuse 260x260x64 mm, Kabel, POD Das Gehäuse 178x140x25 mm, Kabel, POD Alle Emulator - in Emulation Kopfgröße 80x76x50 mm
Der Preis für eine vergleichbare Versorgungskonfiguration: Unterstützung 80C51 25 MHz, 128 KB RAM, die Trace-Puffergröße 16K freymovm $ 5.200 (Nohau Preisliste) 5300 $ (Signum Preisliste) $ 4.000 (MetaLink Preisliste) $ 990

Weitere Informationen sowie eine Demoversion des Emulators wird in Webseite angezeigt: http://www.phyton.ru

Natürlich ist eine solche Vielzahl von Funktionen macht In-Circuit-Emulatoren leistungsfähigste und vielseitigste Debugging-Tool.

Simulationen

Simulator - ein Software-Tool, das den Mikrocontroller und seinem Speicher simulieren kann. In der Regel enthält der Simulator in seiner Zusammensetzung:

  • Debugger;
  • Modell der CPU und Speicher.

Fortgeschrittenere Simulatoren in der Struktur enthalten, die für integrierte Peripheriegeräte ein Modell, wie Timer, Häfen, ADC, und das System unterbrechen.

Der Simulator muss in der Lage sein, die Programmdateien in allen gängigen Formaten zum Download, so vollständig wie möglich Informationen über den Zustand der simulierten Mikrocontrollers Ressourcen anzuzeigen, sowie bieten die Möglichkeit, die Simulationsprogramme in verschiedenen Modi geladen auszuführen. Im Prozessmodell "ausführt" -Programm von Debuggen und auf dem Computer-Bildschirm zeigt den aktuellen Status des Modells.

die Software im Simulator Durch das Herunterladen der Benutzer die Möglichkeit, es in Schritt für Schritt oder kontinuierlichen Modus, stellen Sie die bedingte oder unbedingte Haltepunkte, die Kontrolle zu laufen hat und frei den Inhalt der Speicherzellen und simulierte CPU-Register ändern. Mit Hilfe eines Simulators können Sie schnell die Logik des Programms zu überprüfen, die korrekte Ausführung von arithmetischen Operationen.

In Abhängigkeit von der Klasse verwendet der Debugger können verschiedene Simulationen unterstützen High-Level-symbolischen Debuggen von Programmen.

Einige Simulationsmodell kann eine Reihe zusätzlicher Software enthalten, wie zum Beispiel: die äußere Umgebung Schnittstelle, integrierten IDE.

In realen Mikrocontroller-System in der Regel beteiligt die Informationen aus den angeschlossenen externen Geräten lesen (Sensoren), die Verarbeitung dieser Informationen und die Kontrollmaßnahmen an den Aktoren. An den Simulator den Betrieb des Sensors zu simulieren, nicht die äußere Umgebung Schnittstelle besitzen, müssen Sie manuell den aktuellen Zustand des Peripheriegeräts Modell zu ändern, die in einem realen System, wobei der Sensor angeschlossen ist. Wenn, beispielsweise, wenn über den seriellen Port byte Empfangen spannte bestimmten Feld und das Byte fällt in ein bestimmtes Register, die beide dieser Aktionen manuell in einem Simulator durchgeführt werden muss. Das Vorhandensein der äußeren Umgebung-Schnittstelle ermöglicht es dem Benutzer zu schaffen und ein flexibles Modell der Umgebung des Mikrocontrollers verwendet werden, den Betrieb und die Interaktion mit dem Programm von einem gegebenen Algorithmus debuggt werden. Merkmale von "echten" Debugger-Simulator zeigen ein Beispiel PDS-PIC-Modell.

PDS-PIC

Simulator Debugger für die Entwicklung und das Debuggen Programme auf der Basis von PIC16 / PIC17 Mikrocontroller.

PDS-PIC - eine bequeme und flexible Werkzeug für Schreiben und Debuggen von Programmen für Mikrocontroller Firma Microchip PICmicro.

Der Simulator verfügt über:

  • Built-in-Editor Multi-Window-Source-Programme zu schreiben. Der Editor unterstützt Operationen mit Textblöcke, Suchen / Ersetzen, farbliche Hervorhebung Syntax der Assemblersprache;
  • Integriertes Projektmanager, der für das Makro-Assembler PASM-PIC Firma Phyton Makro Assembler MPASM für Firma Microchip geschrieben automatische Zusammenstellung von Programmen unterstützt.
  • Alle Assembler Optionen werden als benutzerfreundliche Dialoge angegeben. Der Übergang von der Bearbeitung Quellcode zu debuggen und umgekehrt ist "transparent", dh Project Manager startet automatisch den Assembler falls erforderlich;
  • Viele Möglichkeiten für das Debugging-Programme: Verfolgung der Umsetzung des Programms in seiner ursprünglichen Text, Ansicht und die Werte aller Variablen, Einbau-Analysator Effizienz des Codes zu bearbeiten, der Haltepunkt auf einem Zustand und den Zugriff auf die Speicherzellen, zeigen Sie den Call-Stack-Routinen, integrierte Assembler, eine genaue Anzahl von Zeitintervallen und vieles andere;
  • Die Fähigkeit, "rückwärts" die große Anzahl von Programmschritten durchzuführen, sowie im kontinuierlichen Modus. In diesem Zustand ist der Mikrocontroller Modell, komplett restauriert;
  • Das genaue Modell des Verhaltens von Mikrocontrollern. Es simuliert den Betrieb aller eingebauten Mikrocontroller-Peripherie. Timer, ADC Interrupt-System, Häfen, etc;
  • Erweiterte Modellierung "die Umwelt" ist, das heißt, Geräte mit dem Mikrocontroller verbunden ist. Sie können ganz einfach verschiedene periodische und nicht-periodische externe Signale an den Mikrocontroller Beine stellen Sie die Arbeit externer Logik zu simulieren. Mit der eingebauten Grafik-Display graphisch eine Vielzahl von Indikatoren, bauen Pläne angezeigt werden können, simulieren Tastatur;
  • Fenster Systemkonfiguration und die Einstellungen zu speichern. Sie können eine unbegrenzte Anzahl von Konfigurationsdateien zu speichern und wiederherzustellen;
  • Die Fähigkeit, die Farben und Schriftarten und andere Einstellungen für alle Fenster gleichzeitig für jedes Fenster einzeln anpassen;
  • Die kontextsensitive Hilfesystem. Von jedem Menü oder Dialogfeld können Sie Informationen im Zusammenhang mit diesem Menü-Fenster oder Dialog erhalten;
  • PDS-PIC arbeitet Windowsv Medium.

- Firma Fitton MPlabSIM -firmy Microchip und PDS-PIC: Weitere Informationen Merkmale des Simulators sind in der Tabelle durch die Ergebnisse einer vergleichenden Analyse zusammengestellt von zwei Simulatoren dargestellt. Die wesentlichen Merkmale und Unterschiede MPlabSIM und PDS-PIC aufgrund der Tatsache , dass in ihrem Design konzeptuell unterschiedliche Benutzerschnittstellen und -umgebungen für die Simulation verwendet wurden.

MPlabSIM PDS-PIC
Management *
Maus
Menüsystem
"Hotkeys"
durch ein Modell der Umgebung
ja
ja
ja
Nein
ja
ja
ja
ja
Haltepunkte
die Adresse des ausführbaren Codes
der Inhalt des Registers
wenn der Wert des Ausdrucks
wenn der logische Zustand
ja
ja
Nein
Nein
ja
ja
ja
ja
simulierten Ereignisse
synchron
asynchron
vorübergehende Erlaubnis
ja
Nein
4 Teams Zyklus
ja
ja
1 Befehlszyklus
CPU
zurückstellen
Interrupt
Timer0
Timer1
Timer2
CCP1
CCP2
PWM1 / 2
PSP
SSP
I2C
SCI (USART)
EEPROM
ADC
Komparatoren
Vref
RC-Oszillator
ADC-Modul
unverzüglich
voll
nur synchron
nur synchron
voll
voll
voll
hohe Auflösung ohne
nur synchron
voll
nur Register
Verzögerungszeit
ohne Schutz bestellen
Nur Verzögerung und Register
nur Register
nur Register
dchastota konstant
Verzögerung nur
voll
voll
synchron / asynchron
synchron / asynchron
voll
voll
voll
voll
synchron / asynchron
Nur Register und Interrupt-Flags
nur Register
nur Register
voll
voll
voll
voll
Frequenz unabhängig von der Taktfrequenz eingestellt
Register für die analogen Eingänge
Simulation von äußeren Einflüssen
Sollwert am Eingang des I / O-Port
Direkteinstieg in das Register
zyklische Effekte
asynchrone Exposition
Beschreibung (Task-Effekte) der Umgebung algorithmisch
externe analoge Signale
Nur synchron (nach Anzahl Befehlszyklus)
ja
ja
die Schnittstelle zwischen dem Eingang und der entsprechenden Schaltfläche im Dialog
Nein
Nein
synchron / asynchron
ja
ja
ja
ja
ja
Zusätzliche Funktionen
Programmablauf zurück (Backtrace)
Analyzer Wirksamkeit des Programmcodes (Profiler)
die grafische Darstellung der Prozesse,
Geschwindigkeit **
Nein

Nein


Nein

400 Befehle / Sekunde
ja

ja


ja

100.000 Befehle / s

* MPlabSIM verwendet das Menü als Add-on Kleineingangsprozesssteuerbefehle die Simulation und Implementierung von linearen Sequenzen von Befehlen zu speichern. Zum Beispiel, um den Inhalt des Registers Notwendigkeit zu ändern, um die folgenden Funktionen ausführen:

- Wählen Sie den Menüpunkt "WINDOWS" - wählen Sie das Untermenü Option "MODIFY" - wählen Sie "Was" (Stach, Daten oder Code) (in diesem Fall die "DATA") ändern werden - die Adresse eingeben - einen neuen Wert eingeben - mit bestätigen Diese im Fenster Register halyard Dump Sie das Ergebnis der Veränderungen sehen werden, aber das Fenster wird nichts ändern können (nur durch das Menü - analog der Kommandozeile).

Mit Hilfe der PDS-PIC, ändern ragistra Wert von zwei Tasten drücken. Nur einfach können alle anderen Aktionen des Programms Debugging durchführen.

** Auf dem Beispiel des MPLAB-SIM-Pack für 16C54, wenn sie auf einer empfohlenen Konfiguration MICROCHIP P90 / 16RAM läuft.

Ein offensichtliches Merkmal der Simulationssoftware ist die Tatsache, dass die Ausführung der in den Simulator geladenen Programme auf einer Zeitskala nimmt, die von der realen unterscheidet. Doch der niedrige Preis, die Möglichkeit, das Debugging zu tun, auch in Abwesenheit eines Layout-Gerät Debuggen, Software-Simulatoren tun ein sehr effektives Debugging-Tool. Gesondert muß betont werden, daß es eine ganze Klasse von Fehlern ist, die mittels eines Simulators nur erkannt werden kann.

Debug Monitor

Debug Monitor - ein spezielles Programm werden in den Speicher geladen Debugging-System. Es zwingt den Benutzer, einen Prozessor andere als ein Anwendungsproblem zu machen, und auch Funktionen Debug:

  • laden Sie die kostenlose Anwenderspeicher der Monitor Anwendungscodes
  • Einstellung Grenzwerte
  • starten und das Programm geladen und in Echtzeit stoppen
  • der Benutzer Schritt für Schritt Programmlauf
  • Ansicht, bearbeiten Sie die Inhalte der Speicher und Steuerregister.

Monitor-Programm muss unbedingt in Verbindung mit einem externen Computer arbeiten oder einen passiven Terminal, auf dem sich die Visualisierung und Verwaltung der Debug-Prozess. Verwenden Sie wieder das Debuggen überwacht den Prozessor, der bereits auf dem Benutzer Bord. Der Vorteil dieses Ansatzes sind sehr geringen Kosten, während die Möglichkeit, das Debugging in Echtzeit durchzuführen, aufrechterhalten wird. Der größte Nachteil ist die Umleitung von Ressourcen zu debuggen Mikrocontroller und verbundenen Verfahren, wie zum Beispiel der Monitor einige Speicher in Anspruch nimmt, Interrupts, serielle Kanal. Die Menge an umgeleitet Mittel hängt von dem Monitor Kunst Entwickler. Vor kurzem gab Artikel waren, die praktisch keine CPU-Hardware-Ressourcen nehmen, werden sie im Abschnitt "ROM Emulator" unten diskutiert werden.

Entwicklungsboards

Beschwerde oder, wie es angenommen wird, um sie in der ausländischen Literatur zu nennen - Evaluation Board (Evaluation Boards), sind Original-Designer für das Prototyping Anwendungssysteme. In den letzten Jahren produziert mit der Veröffentlichung eines neuen Modells des Mikrocontrollers Kristall-Hersteller und notwendigerweise eine entsprechende Entwicklungskosten. Normalerweise ist es eine Leiterplatte mit dem Mikrocontroller auf sie montiert sind, sowie alle erforderlichen Standard Umreifung ihn. Auf dieser Leiterplatte und die Kommunikation mit einem externen Rechner. In der Regel ist es ein freies Feld für die Benutzeranwendungsinstallation Schemata zur Verfügung. Manchmal gibt es bereits fertig Verkabelung für die Installation zusätzlicher Geräte von der Firma empfohlen. Zum Beispiel, ROM, RAM, LCD-Display, Tastatur, ADC und andere. Neben der Lehre oder Prototyping Zwecke, wie durch die Benutzungsgebühr geändert wurde profitabel (Zeitersparnis) als Single-Board-Controller zu verwenden, in der Kleinserienfertigung eingebettet (5..20 pc. ).

Für zusätzlichen Komfort ist die Entwicklungs-Board auch mit einfachen Debugging-Tool basiert auf dem Debug-Monitor ausgestattet. Allerdings schien es zwei verschiedene Ansätze: Die eine ist für Mikrocontroller mit externen Bus verwendet wird, und die zweite - für Mikrocontroller, die keine externen Bus haben.

Im ersten Fall wird die Debug-Monitor von einem ROM-Chip geliefert, die in eine spezielle Buchse auf der Entwicklungsplatine eingesetzt ist. Die Platine hat auch einen Speicher für Anwenderprogramme und einen Kommunikationskanal an einen externen Computer oder ein Terminal. Ein Beispiel hierfür ist die Entwicklung von Intels integrierten Mikrocontroller 8051.

Im zweiten Fall der Platte verfügt über einen internen ROM integrierten Schaltung Mikrocontroller-Programmierung, die von einem externen Computer gesteuert werden. In diesem Fall wird ein Überwachungsprogramm im ROM des Mikrocontrollers gespeichert wird, zusammen mit der Benutzer-Anwendungscode. Die Anwendung in diesem Fall speziell vorbereitet werden: an der richtigen Stelle es Insert-Debugging-Monitor-Routinen aufruft. Dann wird ein Probelauf. Um eine Korrektur an den Programmbenutzer machen müssen den ROM löschen und neu aufnehmen. Das fertige Anwendungsprogramm wird von optimierten erhalten durch alle Anrufe und Monitorfunktionen des Debug-Monitor zu entfernen. Beispiele dafür sind die Entwicklung des Unternehmens Board Microchip für seine PIC-Controller. Das gleiche Prinzip und Boards für das Debugging-Mikrocontroller Philips 80S750 oder 89C2051 von Atmel.

Wichtig ist, dass Plus-Monitor, manchmal Bord abgeschlossen noch und Debug-Programme, die auf einem externen PC in Verbindung mit dem Monitor laufen. Dieses Programm wurde besonders kompliziert und haben oft eine sehr professionelle Set-Funktionen zur Fehlersuche wie Simulation Debugger oder verschiedene Elemente inhärent in reinen IDE. Die Zusammensetzung geliefert Kits können kommen und angewandte Art des Programms, das am häufigsten in der Praxis auftreten.

Debugging-Funktionen durch eine Reihe von "Entwicklungsgebühr plus Monitor" zur Verfügung gestellt sicher nicht so vielseitig wie möglich In-Circuit-Emulator, und einige der Mikroprozessorressourcen in den Prozess der Fehlersuche wird für den Monitor ausgewählt. Dennoch ist die Verfügbarkeit eines vollständigen Satzes von vorgefertigten Software und Hardware, so dass kein Verlust der Zeit, um die Installation und Fehlersuche des Anwendungssystems zu starten, in vielen Fällen ist der entscheidende Faktor. Besonders wenn man bedenkt, dass die Kosten eines solchen Satzes ist etwas geringer als die Kosten eines universellen Emulator.

ROM Emulatoren.

Emulator ROMs - Software und Hardware ermöglicht, ersetzen Sie das ROM auf der Zielplatine, und erweitern Sie es in den Speicher, in dem das Programm von einem Computer über eine der Standard-Kommunikationskanäle geladen werden können. Dieses Gerät ermöglicht es dem Benutzer, mehrere Zyklen der Neuprogrammierung des ROM zu vermeiden. ROM Emulator ist nur nützlich für Mikrocontroller, die externen Programmspeicher zugreifen können. Diese Vorrichtung ist in Komplexität und die Kosten der Platten vergleichbar. Es hat einen großen Vorteil: Flexibilität. ROM Emulator kann mit jeder Art von Mikrocontrollern arbeiten.

Frühe ROM-Emulatoren sind nur erlaubt, das Programm zu laden, starten und den Master-Reset nicht mehr verwenden. Dann kamen die komplizierte Modelle mit Hardware-Ausgabe der Spursignale für eine bestimmte Adresse an das Oszilloskop. Emulierte Speicher in solchen Produkten zur Verfügung standen zur Überprüfung und Modifikation, aber sehr wichtig für die Steuerung der internen Steuerregister des Mikrocontrollers nicht möglich war, bis vor kurzem Zeit.

Allerdings gibt es Modelle von Smart-ROM Emulatoren, die es Ihnen ermöglichen, "Look" in der MCU auf dem Benutzer-Board und General Management für das Debuggen, stahlähnlichen In-Circuit-Emulator. Das Unternehmen Cactus selbst ist eigentlich ein intelligentes ROM Emulator, Emulator in-Schaltung als die Anzahl der Prozessoren, so ist es unmöglich, die Arbeit mit den beiden zu unterscheiden. In der Tat ist der Prozessor nicht ersetzt, und verwenden Sie die eine, die auf den Benutzer Bord.

Intelligent ROM Emulatoren sind ein Hybrid aus einem herkömmlichen ROM Emulator, zu überwachen und zu debuggen Schaltungen schalten schnell von einem Reifen zum anderen. Dies erzeugt einen Effekt, als ob der Debug-Monitor auf der Benutzerplatine installiert wurde, und somit ist es keine Mikrocontroller Hardwareressourcen übernehmen, mit Ausnahme einer kleinen Programmschritte Zone etwa 4K. Zum Beispiel hat er eine Firma ", Fitton" für alle gegenwärtigen und zukünftigen Mikrocontroller entwickelt, die einen Kern aus 8051 haben, sondern ist ferner mit einer Vielzahl von Eingabe \ Ausgabevorrichtungen gesättigt. Dieses Gerät unterstützt viele verschiedene Mikrocontroller von Philips, Siemens, OKI.

Integrierte Entwicklungsumgebung.

Streng genommen ist die integrierte Entwicklungsumgebung gehören nicht zu den Debugging-Tools, doch ignorieren diese Klasse von Software-Tools, die erheblich erleichtern und die Entwicklung und das Debugging von Mikroprozessorsystemen zu beschleunigen, wäre es falsch.

In dem traditionellen Ansatz, die erste Phase eines Programms zu schreiben ist wie folgt aufgebaut:

  • Der Quellcode wird in einem beliebigen Texteditor eingegeben. Am Ende des Satzes, mit dem Texteditor arbeiten beendet und läuft Cross-Compiler. In der Regel enthält das neu geschriebenes Programm Syntaxfehler, Compiler und meldet sie an die Bedienerkonsole.
  • Neu mit einem Texteditor gestartet, und der Bediener hat die Fehler identifiziert zu finden und zu beheben, da der Bildschirm mit einem Texteditor mit der Meldung über die Art des Fehlers durch den Compiler abgeleitet besetzt wird, ist noch nicht sichtbar.

Und dieser Zyklus mehr als einmal wiederholt werden. Wenn das Programm nicht zu klein und trivial ist, aus verschiedenen Teilen geht, wird die Bearbeitung oder das Upgrade unterzogen, auch dieser erste Schritt sehr viel Mühe und Zeit Programmierer benötigen und im Wesentlichen die Begeisterung der Entwickler dämpfen.

Vermeiden Sie hohe Volumen Routine und signifikant die Effizienz der Entwicklung und Debugging verbessern, ermöglichen neue und schnell an Popularität gewinnt von sogenannten integrierte Umgebung (Shell) Entwicklung (Integrated Development Environment, IDE).

Normalerweise "gut" IDE vereint unter einem Flügel der Debugging-Tools zur Verfügung (In-Circuit-Emulator, ein Software-Simulator, Programmierer) und stellt somit einen Job als Programmierer mit dem Programm im Stil von "Turbo".

in einer integrierten Umgebung Arbeiten bietet dem Programmierer:

  • Die Fähigkeit, die eingebaute in vielen Datei Text-Editor zu verwenden, speziell zugeschnitten für mit Source-Programmen arbeiten.
  • Diagnose-Fehler während der Kompilierung erkannt und der Quellcode zur Verfügung Bearbeitung, werden gleichzeitig in einem Multimodus angezeigt.
  • Die Fähigkeit zu organisieren und parallele Arbeiten an mehreren Projekten durchzuführen. Project Manager ermöglicht es Ihnen, für das neu erstellte Projekt ein beliebiges Projekt als Vorlage zu verwenden. Optionen, die von den Compiler und die Liste der Projektquelldateien werden im Dialogmenü installiert und im Projekt gespeichert, wodurch die Notwendigkeit mit umständlichen Batch-Dateien zu arbeiten.
  • Recompilation betrifft nur bearbeiten Module.
  • Die Fähigkeit, das Programm, das in bestehende Debugging-Tools zum Download auf Fehler, und mit ihnen zusammenarbeiten, ohne die Schale zu verlassen.
  • Die Fähigkeit, die Schale praktisch jeder Software zu verbinden.

In den letzten Jahren sind die Funktionen IDEs Software-Schnittstellen Mitgliedschaft der fortschrittlichsten Emulatoren und Debugger, Simulatoren. Solche Funktionalitäten, verbunden mit einer benutzerfreundlichen Schnittstelle, können das Leben leichter für den Entwickler zu machen und seinen Betrieb zu beschleunigen.