This page has been robot translated, sorry for typos if any. Original content here.

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

Die wichtigsten Debugging-Tools umfassen:

  • In-Circuit-Emulatoren.
  • Software-Simulatoren.
  • Entwicklungs-Board (Evaluation Board).
  • Debugging-Monitor.
  • ROM Emulatoren.

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

In-Circuit-Emulatoren.

In-Circuit-Emulator - Hardware und Software, die Fähigkeit, einen emulierten Prozessor in einer realen Schaltung zu ersetzen. In-Circuit-Emulator - das ist das leistungsfähigste und vielseitigste Debugging-Tool.

In der Tat, um das Funktionieren des Verfahrens wird die „gute“ In-Circuit-Emulator-Controller transparent ist debuggt macht, das heißt leicht zu kontrollieren, willkürlich steuerbar und veränderbar Willen des Entwicklers.

Funktionell sind in-circuit-Emulatoren unterteilt in mit dem externen Computer Paarung (in der Regel kommt es 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 Rechenmitteln, aber dafür muss der Anwender einen wesentlich höheren Preis oder reduzierte Funktionalität und Service-Funktionen im Vergleich zu ähnlich zahlen Modelle, Anstoßen mit dem IBM-PC.

Typischerweise wird in-Circuit-Emulator mit Fehlerbeseitigungssystem gedockt Emulation ausgeführt, um das Kabel mit einem speziellen Emulationskopf verwendet. Emulationskopf wird anstelle des Mikrocontrollers in das System eingefügt debuggt werden. Wenn das Gerät aus dem Zielsystem nicht entfernt werden, den Emulator ist nur möglich, wenn die Mikrocontroller einen Debug-Modus hat, in dem alle seine Stiften tristated sind. In diesem Fall wird ein Emulator verwendet, um einen Adapter-Clip zu verbinden, die direkt an die Anschlüsse des emulierten Mikrocontrollers verbunden ist.

Als Minimum umfasst der Emulator die folgenden Funktionsblöcke:

  • Debugger.
  • Mikrocontroller-Emulationsknoten;
  • Emulationsspeicher;
  • Subsystems Unterbrechungspunkte;

Fortgeschrittenere Modelle können weiter:

  • Prozessorunterbrechungspunkte;
  • Router;
  • Profiler (Analysator Effizienz Code);
  • Echtzeituhr;
  • Software und Hardware, die Fähigkeit, die Bereitstellung der emulierten Prozessorressourcen „on the fly“ zu lesen und zu ändern, das heißt während der Benutzerprogrammausführung in Echtzeit;
  • Hardware- und Software-Mittel zur synchronen Steuerung notwendig für die Emulation in einem Multiprozessorsystem;
  • eine integrierte Entwicklungsumgebung

Debugger

Debugger ist eine Brücke zwischen dem Entwickler und dem Debug-Tool. Die Zusammensetzung und die Menge an Information über die Eingabe-Ausgabe-Einrichtung vorbei, deren Verfügbarkeit zum Messen, Überwachen und falls erforderlich, Korrektur und Änderung - direkt abhängig von den Eigenschaften und die Qualität des Debuggers.

Ein guter Debugger ermöglicht Ihnen:

  • Herunterladen des Programms wird im Speicher korrigiert.
  • Ausgabe an den Überwachungszustand und die Inhalte aller Register und Speicher, und gegebenenfalls deren Modifikation.
  • Steueremulationsprozess.

Leistungsfähiger Debugger, gemeinhin als High-Level (High-Level-Debuggers), zusätzlich zu diesem bezeichnet, können Sie:

  • trägt symbolische Testen, den Debugger, weil die „weiß“ die Adressen aller Zeichenvariablen, Arrays und Strukturen (durch die Verwendung von spezifischen Informationen, die vom Compiler im Lieferumfang enthalten). So kann der Benutzer mehr akzeptabel für den menschlichen symbolischen Namen arbeiten, ohne ihre Auswendig Adressen stört.
  • überwachen und analysieren nicht nur den disassemble Text, sondern auch Code, um die Programmquelle in Hochsprache geschrieben und sogar mit ihren eigenen Kommentaren.

Dieser Debugger ermöglicht es den Benutzer, gleichzeitig den Fortschritt des Programms zu überwachen und die Übereinstimmung zwischen dem Ausgangstext, 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 nur alle Funktionen bietet, wenn Sie ein Cross-Compiler liefert vollständige und richtige Debug-Informationen (nicht alle Compiler, vor allem ihre Raubkopien, diese Informationen liefern) verwenden und zugleich seiner Präsentationsformat sollte " mit „Debugger.

Emulationsspeicher

Das Vorhandensein von Emulationsspeicher macht es möglich, sie in das Zielsystem anstelle des ROM des Debugging im Prozess zu verwenden, und darüber hinaus ein Programm zu debuggen, ohne das reale System oder Layout. Falls erforderlich, Änderungen an dem Programm debuggt werden, genug, um eine neue oder modifizierte Programm in den Emulator Speicher zu laden, anstatt durch Umprogrammieren des ROM in Eingriff ist. Es gibt Modelle von Emulatoren, die dem Benutzer auf „Ersatz“ statt ROM Emulationsspeichern erlauben nicht nur vollständig, sondern auch in den Blöcken (in einigen Modellen, eine minimale Blockgröße bis zu einem Byte sein kann), in der Reihenfolge durch den Benutzer definiert. Um dies zu tun, muss der Benutzer nur die Speicherzuordnungsdaten und Programmspeicher setzen, in Übereinstimmung mit dem der Prozessor Zugriff auf Inhalt und das ROM in dem Zielsystem und den Inhalt des Speicheremulationsschaltung Emulators. Dieser Speicher ist in der Regel Speicher mit Mapping bezeichnet.

Indikator

Im Wesentlichen ist der Tracer ein Logikanalysator synchron mit dem Prozessor betrieben wird, und Sperren der Strömungs ausführbare Anweisungen und den Status der ausgewählten externen Signalen. Es gibt Modelle von In-Circuit-Emulatoren, die es Ihnen ermöglichen, nicht nur Signale zu verfolgen, sondern auch den Zustand der internen Ressourcen des Mikrocontrollers, wie Register. Solche Simulatoren verwenden eine spezielle Version der Mikrocontroller (Emulation Kristalle).

Prozessor Stützpunkte

Der Prozessor ermöglicht Haltepunkte Ausführung des Programms zu stoppen oder andere Aktionen, wie Start oder den Tracer zu stoppen, wenn die benutzerdefinierten Bedingungen zu erfüllen. Im Gegensatz zu herkömmlichem Mechanismus Haltepunkte ermöglicht Unterbrechungsprozessor zu erzeugen, und Streckenbedingungen nahezu beliebige Komplexität und somit ist der Prozess nicht in Echtzeit von emulierten ausgegeben.

Former

Profiler (sonst die Wirksamkeit des Code Analyzer), können Sie die Ergebnisse des Programms erhalten gedebuggt läuft die folgenden Informationen:

  • Anzahl der Besuche in den 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 optimiert die Struktur des Programms an.

Integrierte Entwicklungsumgebung

Eine Reihe von Software-Tool, die alle Phasen der Software-Entwicklung unterstützen, den Quellcode des Programms zu seiner Zusammenstellung und das Debuggen von Schreiben und bietet eine schnelle und einfache Interaktion mit anderen Werkzeugen (Software-Debugger und Programmer-simulyatorm).

Die Präsenz in dem Shell-Programm Emulator integrierten Editor, integrierten Projektmanager und Management-System, kann erheblich die Arbeit des Entwicklers erleichtern, ihn aus einer Vielzahl von Routinetätigkeiten zu befreien. Für einen Entwickler die Linie zwischen dem Schreiben des Programms, seiner Bearbeitung und Debugging zu verwischen. Der Übergang von der Ausgangstext-Bearbeitung und Debuggen zurück auftritt „transparent“, und synchron mit der Aktivierung der jeweiligen Fenster, Projektmanager kompiliert werden bei Bedarf automatisch und aktivieren das entsprechende Software-Schnittstellenfenster.

So einfach und den Übergang, ein Projekt zu debuggen den vorhandenen Debugger-Simulator verwenden oder zu starten ROM etabliertes 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 Multi-Prozessor-Debugging. Die Besonderheit eines solchen Komplexes ist die Fähigkeit, einen synchronen Betrieb (mit einem Computer), um mehrere Emulatoren.

Im Allgemeinen können die verschiedenen Modelle der In-Circuit-Emulatoren bieten dem Anwender die Möglichkeit, den Betrieb von Debug-Geräte zu steuern und zu verwalten, mit allen möglichen Einschränkungen. Zum Beispiel kann er die falsche Handhabung einen Trap Schrittes für Schritt oder ein Verbot der Verwendung der seriellen Schnittstelle sein, etc .. Es ist auch daran zu erinnern, notwendig, dass jedes reales Modell Emulator seinen eigenen Satz von unterstützten Compiler hat. Einige Firmen Hersteller von Emulatoren versuchen bewusst die Anzahl der unterstützten Compilern zu begrenzen, vor allem ist es typisch für westliche Produzenten. In diesen Fällen ist der Emulator kann nur ein Zeichenformat verwenden.

Die Möglichkeit der „echten“ In-Circuit Emulator wird am Beispiel des Modells PICE-51 veranschaulicht.

PICE-51

Circuit-Emulator 8-Bit-8051-Familie von Mikrocontrollern

PICE-51 - eine neue Generation des Emulators mit dem Einsatz neuer Technologien Entwicklung von Hard- und Software erstellt.

Die Verwendung von Hochleistungs programmierbarer Arrays erlaubte die Emulator Größe zu verringern , ohne seine Funktionalität zu beeinträchtigen, minimiert die Abweichung von elektrischen und Frequenzcharakteristiken der emulierten Prozessor Emulators Eigenschaften und somit maximiert die Genauigkeit der Emulation bei Frequenzen bis zu 30 MHz bei Versorgungsspannungen von 3,3 V bis zu 5V.

Lädt die Hardwarestruktur des Emulators bietet Emulation von praktisch allen 8051 - Mikrocontroller - Familie als die inländische Produktion und Unternehmen: Intel, Philips, Siemens, Atmel , Dallas, Temic, OKI, AMD, MHS und andere.

Leistungsstarke Software - Schnittstelle unter Windowsv, ist eine integrierte Entwicklungsumgebung , die durch das Schreiben des Quellcodes des Programms an seine Erstellung und Debugging alle Phasen der Software - Entwicklung unterstützt. Emulator Support - Programm wird bei Debug - Programmen in High-Level - Sprache des Ausgangstextes richtet.

Der Emulator besteht aus einer Hauptplatine Größe 80h76mm, austauschbare Adapter an einen bestimmten Prozessor und austauschbaren Emulationskopf für eine bestimmte Art von Wohnungen. Die Hauptplatine implementiert: Tracer - Prozessor Stützpunkte. Die Gebühr beinhaltet eine abnehmbare Adapter-Prozessor für eine bestimmte Art von Mikrocontroller emuliert. Emulation Köpfe bieten Installations-Emulator in DIP und PLCC-Pads auf der Karte des Benutzers. Power-Emulator von der Spannungsversorgung +5 V, 0,5 A oder direkt von der Debugging-Einheit durchgeführt. Die Kommunikation mit dem Computer - auf Kanal galvanisch getrennte RS-232C-Schnittstelle mit einer Geschwindigkeit von 115 kBaud ..

Ausrüstungs Beschreibung

  • Genaue Emulation - das Fehlen jeglicher Beschränkungen für die Verwendung des Anwenderprogramms der Mikrocontroller-Ressourcen.
  • Bis zu 256K emuliert Programm- und Datenspeicher. Unterstützung bankirovannoy Speichermodell. Speicheraufteilung zwischen dem Emulator und dem Benutzergerät bis zu einem ersten Byte.
  • Bis zu 512K Hardware-Haltepunkten für den Zugriff auf das Programm und Datenspeicher.
  • Hardware-Unterstützung für das Debugging-Programme in Hochsprachen.
  • TRACE 8 beliebige externe Signale.
  • 4 Ausgänge Abgleich der Benutzerausrüstung.
  • Echtzeit-Tracers Puffervolumen von 16 K bis 64 K 64-Bit-Rahmen mit Zugriff „on the fly“. Spuren Adressen, Daten, Steuersignale, Echtzeit-Zeitgeber und 8 externe Benutzersignale.
  • Programmierbare Trace-Filter.
  • Hardware-Haltepunkte Prozessor für Stoppbedingungen Emulieren komplexe Kombination der Adreßsignale Einstellung, Daten-, Steuer-, 8- externe Signale, Echtzeit-Zeitgeber und Ereigniszähler Timer verzögern.
  • Vier komplexe Haltepunkte, die unabhängig voneinander oder in Kombination von UND / ODER / IF-THEN Bedingungen verwendet werden können.
  • 48-Bit-Echtzeituhr.
  • Transparente Emulation - Zugriff "on the fly", um das emulierte Speicher, Haltepunkte, Prozessor Breakpoints, Trace-Puffer-Timer Echtzeit.
  • Gesteuerten Taktgenerator für einen emulierten Prozessor. Eine glatte Änderung der Taktfrequenz von 500 kHz bis 40 MHz.
  • Galvanisch vom Rechner RS-232C-Verbindung zum Wechselkurs von 115 kBaud isoliert.
  • Built-in Self-Test-System Hardware-Emulator.

Software-Eigenschaften

  • Software ist so konzipiert, mit Prozessoren in Windowsv Umgebung auf IBM-somestimyh Computer arbeiten wie 386/486 / Pentium;
  • Integrierte Editor Multi-Fenster für Programme Quelle zu schreiben. Der Editor unterstützt Operationen mit Blöcken von Text, Suchen / Ersetzen, Farbhervorhebung 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 Ausgangstext-Bearbeitung und Debuggen zurück auftritt „transparent“, d.h. Projektmanager startet automatisch die Kompilierung des Projekts, falls erforderlich;
  • PICE-51 bietet die symbolische Testen und Debuggen von Quellcode für die Programme mit den folgenden Compiler erstellt:
    • Assembler ASM51 Firma Intel;
    • MCA-51 Montagefirma Fitton / Microcosm;
    • Compiler PL / M Firma Intel;
    • IAR Systems Assembler und Compiler - Unternehmen C;
    • Assembler und Compiler Avocet Systeme Inc./HiTech Unternehmen C;
    • Assembler und Compiler der Firma C Keil Software Inc. ;
  • speichern und laden automatisch die Hardware-Konfigurationsdateien, Schnittstellen- und Debugging-Optionen. Gewährleistet die Kompatibilität von Konfigurationsdateien mit der Simulator PDS-51. Stellen Sie sicher, Übertragbarkeit von Projekten zwischen dem Emulator PICE-51-Simulator und PDS-51;
  • Die Fähigkeit, die Farben, Schriftarten und anderen Einstellungen für alle Fenster gleichzeitig für jedes Fenster einzeln anpassen;

Der Emulator ist mit einer gedruckten Bedienungsanleitung und elektronischen Handbuch Kontext bereitgestellt , in der seine Arbeitsprinzipien im Detail beschrieben werden, kann das Menü Befehle, Hotkeys.

Das Blockdiagramm des Emulators PICE-51

Ausstattungspakete Emulator PICE-51

emulierte Mikrocontroller Emulation internen Programmspeicher Packungsinhalt
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 Emulatoren für 8051-Familie von Mikrocontrollern

Modell Lieferant EMUL-51 Nohau Corporation, 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 Menge an Speicher emuliert 320K 256K 128K 512K
Die Möglichkeit der Neuzuordnung zwischen dem Emulator und dem Benutzergerät In Blöcken von 4K In Blöcken von 256 Bytes In Blöcken von 16 Bytes Bis zum ersten Byte
Trace-Puffer Bis zu 16K Rahmen von 48-Bit Bis zu 32K Rahmen von 80 Bits Bis zu 4K Rahmen von 48-Bit Bis zu 64 KB Rahmen von 64 Bit
Zugriff „on the fly“ auf den emulierten Speicher und Tracer ja ja ja ja
PC-Schnittstelle Karte ISA-Steckplatz RS-232C, und 115 Kbaude RS-232C, und 115 Kbaude Isolierte RS-232C, und 115 Kbaude
Design und Dimensionen Zwei Karten in ISA-Format, Kabel 2 m, pody Gehäuse 260x260x64 mm, Kabel, POD 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 $ 5200 (Nohau Preisliste) $ 5300 (Signum Preisliste) $ 4000 (MetaLink Preisliste) $ 990

Weitere Informationen sowie eine Demoversion des Emulators, auf der Website präsentiert: 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 seine Speicher simulieren kann. In der Regel enthält der Simulator in seiner Zusammensetzung:

  • Debugger;
  • Modell der CPU und Speicher.

Fortgeschrittenere Simulatoren in der Struktur enthält, 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 Mikrocontroller Ressourcen anzuzeigen, sowie Möglichkeiten für Simulationsleistung des geladenen Programms in verschiedenen Modi zur Verfügung stellen. In dem Prozessmodell „führt eine“ Programm-Debugging und auf dem Computerbildschirm zeigt den aktuellen Status des Modells.

Nachdem das Programm im Simulator Laden ist der Benutzer in der Lage, es in einer schrittweisen oder kontinuierlichen Modus ausgeführt werden, bedingten oder unbedingten Unterbrechungs Monitor zu spezifizieren und frei den Inhalt der Speicher und Register des Mikroprozessors simuliert ändern. Mit dem Simulator können Sie schnell die Logik des Programms überprüfen, die korrekte Ausführung von arithmetischen Operationen.

In Abhängigkeit von der Klasse verwendet der Debugger können verschiedene Simulatoren unterstützen High-Level symbolischen Debugging-Programme.

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

In einem realen System wird typischerweise Mikrocontroller Lesen von Informationen von angeschlossenen externen Geräte (Sensoren), die Informationsverarbeitung und Bereitstellung von Steueraktionen auf die Betätigung der Vorrichtung in Eingriff gebracht. So, dass der Simulator den Betrieb des Sensors zu simulieren nicht die äußere Umgebung Schnittstelle besitzen, müssen Sie manuell den aktuellen Zustand des Peripheriegerätemodell ändern, die in einem realen System ist der Sensor angeschlossen ist. Wenn zum Beispiel, wenn das Byte über die serielle Schnittstelle der Aufnahme ein bestimmtes Feld spannte, und das Byte wird in ein Register, dann diese beiden Aktionen muß in einem Simulator manuell erfolgen. Das Vorhandensein der äußeren Umgebung Schnittstelle ermöglicht es der Benutzer und flexiblen Einsatz des Modells der Umgebung des Mikrocontrollers zu erstellen, betreiben und die Interaktion mit dem Programm, das Sie debuggen, einen bestimmten Algorithmus. Die Möglichkeit der „echten“ Debugger, Simulator, wird am Beispiel von PDS-PIC-Modell dargestellt.

PDS-PIC

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

PDS-PIC - ein bequemes und flexibles Werkzeug für das Schreiben und Debuggen von Programmen für Mikrocontroller Firma Microchip PICmicro.

Der Simulator verfügt über:

  • Integrierte Editor Multi-Window-Source-Programme zu schreiben. Der Editor unterstützt Operationen mit Blöcken von Text, Suchen / Ersetzen, Farbhervorhebung Syntax der Assemblersprache;
  • Built-in-Projektmanager ermöglicht die automatische Erstellung von Programmen für den Makro-Assembler geschrieben PASM-PIC Firma Phyton Makro-Assembler für Microchip MPASM Unternehmen.
  • Alle Assembler Optionen werden als benutzerfreundliche Dialoge festgelegt. Der Übergang von der Ausgangstext-Bearbeitung und Debuggen zurück auftritt „transparent“, d.h. Projektmanager startet automatisch Assembler falls erforderlich;
  • Viele Möglichkeiten für die Debugging-Programme: Verfolgung der Umsetzung des Programms in seinem ursprünglichen Text, anzeigen und die Werte aller Variablen bearbeiten, Einbau-Analysator Effizienz des Software-Code, Haltepunkte auf Bedingungen und Zugang zu den Speicherzellen, zeigen Sie die Call-Stack-Routinen, integrierten Assembler, eine genaue Anzahl von Zeitintervallen und vieles andere;
  • Die Fähigkeit, „zurück“ Programme für eine große Anzahl von Schritten durchzuführen, sowie im kontinuierlichen Modus. In diesem Zustand des Mikrocontrollers Modell ist vollständig restauriert;
  • Das genaue Modell des Verhaltens des Mikrocontrollers. Simulierte Arbeit alle in die Mikrocontroller-Peripheriegeräte gebaut. Timer, ADC Interrupt-System, Häfen, etc;
  • Erweiterte Modellierung „äußere Umgebung“ bedeutet, das heißt Geräte mit dem Mikrocontroller verbunden ist. Es ist möglich, leicht verschiedene periodische und nicht-periodische Signale zum Mikrocontroller externe Beine einzustellen Betrieb externer Logik zu simulieren. Mit Hilfe des integrierten Grafik-Display visuell kann verschiedene Indikatoren anzuzeigen, Grafiken zu bauen Tastatur zu simulieren;
  • Systemkonfiguration Fenster und die Einstellungen speichern. Die Fähigkeit, zu speichern und eine unbegrenzte Anzahl von Konfigurationsdateien wiederherzustellen;
  • Die Fähigkeit, die Farben und Schriftarten und andere Einstellungen für alle Fenster gleichzeitig für jedes Fenster einzeln anpassen;
  • kontextsensitive Hilfesystem. Von jedem Menü-Fenster oder Dialogfenster können Sie Informationen im Zusammenhang mit diesem Menü-Fenster oder Dialog erhalten;
  • PDS-PIC arbeitet in Windowsv Umgebung.

- Fiton Unternehmen MPlabSIM -firmy Microchip und PDS-PIC: Detailliertere Merkmale des Simulators sind in der Tabelle durch die Ergebnisse der vergleichenden Analyse von zwei Simulatoren zusammengestellt gezeigt. Die wichtigsten Funktionen und Auszeichnungen MPlabSIM PDS-PIC und aufgrund der Tatsache , dass in ihrem Design wurde Benutzeroberflächen und Umgebungen für die Simulation verwendet konzeptionell unterschiedlich.

MPlabSIM PDS-PIC
Management *
Maus
Menüsystem
"Hotkeys"
durch ein Modell der Umgebung
ja
ja
ja
Nein
ja
ja
ja
ja
Stützpunkte
die Adresse des ausführbaren Codes
der Inhalt des Registers
wenn der Wert des Ausdrucks
wenn die logische Bedingung
ja
ja
Nein
Nein
ja
ja
ja
ja
simulierte Ereignisse
synchron
asynchron
vorübergehende Erlaubnis
ja
Nein
4 Teams Zyklus
ja
ja
1 Befehlszyklus
CPU
rücksetzen
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 sync
nur sync
voll
voll
voll
ohne die hochauflösende
nur sync
voll
nur Register
Verzögerungen
ohne Schutzsequenz
Nur Verzögerungen 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 wird unabhängig von der Taktfrequenz eingestellt
Register für die analogen Eingänge
Simulation von äußeren Einflüssen
Einstellwerten Ziel am Eingang I / O-Port
Direkteinstieg in das Register
zyklische Effekte
die Auswirkungen der asynchronen
Beschreibung (Referenz Auswirkungen) Umgebungs algorithmisch
externe Analogsignale
Nur synchron (nach Anzahl Befehlszyklus)
ja
ja
die Schnittstelle zwischen dem Eingang und dem Knopf in dem entsprechenden Dialog
Nein
Nein
synchron / asynchron
ja
ja
ja
ja
ja
zusätzliche Funktionen
Programmablauf zurück (Backtrace)
Analysator Effizienz der Programmcode (Profiler)
grafische Darstellung von Prozessen
Leistung **
Nein

Nein


Nein

400 Befehlen / Sekunde
ja

ja


ja

100000-Team / s

* MPlabSIM verwendet das Menü als eine Add-on-Eingang Kleinprozesssteuerbefehle die Simulation und die Umsetzung 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 das „Was“ (Stach, Daten oder Code) (in diesem Fall die „DATA“) ändern werden - geben Sie die Adresse - einen neuen Wert eingeben - Eingabe bestätigen Mit diesem im Fenster Register Fall Dump Sie das Ergebnis der Veränderungen sehen werden, aber das Fenster wird nichts ändern können (nur durch das Menü - analog der Kommandozeile).

Unter Verwendung der PDS-PIC, ragistra den Wert ändern, indem Sie zwei Tasten drücken. Sie könnten genauso gut alle anderen Aktionen des Programms Debugging durchführen.

** Das Beispiel der MPLAB-SIM-Paket 16C54, wenn sie durch die empfohlene Konfiguration MICROCHIP P90 / 16RAM ausgeführt.

Ein offensichtliches Merkmal der Software-Simulation ist die Tatsache, dass die Ausführung der in den Simulator geladenen Programme auf einer Zeitskala erfolgt, die von dem realen unterscheidet. Doch der niedrige Preis, die Möglichkeit, das Debugging zu tun, auch in Abwesenheit einer Layout Vorrichtungsentstörung, Software-Simulatoren tun ein sehr effektives Debugging-Tool. Getrennt davon muss betont werden, dass es eine ganze Klasse von Fehlern ist, die mit Hilfe eines Simulators nur erkannt werden können.

Debug-Monitor

Debug Monitor - ein spezielles Programm wird in der Speicher-Debugging-System geladen. Es zwingt den Benutzer zu einem Prozessor, zusätzlich zu der Anwendung Aufgabe und sogar Debug-Funktionen zu erzeugen:

  • Benutzer-freier Speicher Monitor laden Anwendungscodes
  • Einstellung Stützpunkte
  • starten und das Programm geladen und in Echtzeit stoppen
  • Anwender durch die einzelnen Schritte des Programmablaufs
  • Betrachten, Bearbeiten Inhalte der Speicher und Steuerregister.

Monitor-Programm muss in Verbindung mit einem externen Computer arbeitet oder passive Endgerät, auf das es die Visualisierung und Steuerung des Debugging-Prozesses. Wir wiederholen, dass der Debug-Monitore den Prozessor verwenden, die bereits auf dem Benutzer Bord ist. Der Vorteil dieses Ansatzes sind sehr niedrig Kosten, während die Möglichkeit, das Debugging in Echtzeit durchführen zu halten. Der größte Nachteil ist die Ablenkung der Mikrocontroller-Ressourcen zu debuggen und Kommunikationsverfahren, wie zum Beispiel der Monitor einige Speicher in Anspruch nimmt, Interrupts, serielle Kanal. Das Volumen der umgeleitet Ressourcen hängt von der Art des Monitors Entwicklers. Vor kurzem gibt Artikel wurden, die praktisch nicht Prozessor-Hardware-Ressourcen nehmen, werden sie in dem Abschnitt „ROM Emulatoren“ unten diskutiert werden.

Entwicklungs-Board

Board-Entwicklung, oder, wie wir sie in der ausländischen Literatur nennen - Evaluation Board (Evaluation Boards), sind Original-Designer für Systeme Prototyping-Anwendung. In der letzten Jahren mit der Veröffentlichung eines neuen Modell der Mikrocontrollers Kristall-Hersteller produziert erforderliche und geeignete Entwicklungsgebühr. Typischerweise angebracht, um eine Leiterplatte mit seinen Mikrocontroller, und der notwendige Standard Umreifung ihn. Auf dieser Platine auch Verbindung mit dem externen Computer herstellen. In der Regel ist es ein freies Feld gibt es für die Benutzer der Installation von Anwendungen Schemata ist. Manchmal gibt es bereits fertig Verkabelung für die Installation zusätzlicher Geräte, die von der Firma empfohlen. Zum Beispiel, ROM, RAM, einem LCD-Display, Tastatur, ADC, und andere. Neben den Dummy oder Schulungszwecke, ein Benutzer eine solche modifizierte Bretter profitabel (Zeitersparnis) als Single-Board-Controller verwendet werden, in der Kleinserienfertigung (5..20 Stücke eingebettet. ).

Für zusätzlichen Komfort mit noch einfachsten Debugging-Tool der Entwicklungs-Board auf dem Debug-Monitor basiert ausgestattet. Allerdings schien es zwei verschiedene Ansätze: ein bis Mikrocontroller verwendet externen Bus aufweist und die zweite - für Mikrocontroller, die keine externen Bus haben.

Im ersten Fall wird der 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 dafür ist die Entwicklung der Intel-Vorstand für 8051-Mikrocontroller.

Im zweiten Fall hat die Entwicklungsplatine eine eingebaute Schaltung der internen ROM Mikrocontroller-Programmierung, die von einem externen Computer gesteuert werden. In diesem Fall wird das Überwachungsprogramm einfach in dem ROM Mikrocontroller in Verbindung mit dem Benutzeranwendungscode eingegeben. Eine Anwendung in diesem Fall speziell vorbereitet werden: an der richtigen Stelle fügt es eine Debug-Routinen Anrufmonitor. Dann wird ein Probelauf. Um das Programm zu machen den Benutzer behebt das ROM zu löschen und neu aufnehmen. Das fertige Anwendungsprogramm wird von optimierten erhalten durch alle Anrufe zu löschen und die Funktionen des Debug-Monitor überwachen. Beispiele hierfür sind die Entwicklung des Unternehmens Board Microchip für seine PIC-Controller. Das gleiche Prinzip und Boards für das Debuggen von 80S750 Philips Mikrocontroller oder 89C2051 Atmel.

Wichtig ist, sowie Monitor, manchmal Bord abgeschlossen noch und Debug-Programme, die auf einem externen PC in Verbindung mit einem Monitor laufen. Dieses Programm wurde vor allem komplizierter und haben oft eine sehr professionelle Set-Funktionen Debugging wie Simulation Debugger oder die verschiedenen Elemente, das in einer reinen IDE. Die Struktur der Versorgungskomponenten können eingeben und angewandte Art des Programms, die am häufigsten in der Praxis anzutreffen.

Die Fähigkeit, zu debuggen, eine Reihe von „Entwicklungsgebühr plus Monitor“ sicherlich nicht so vielseitig wie möglich In-Circuit-Emulator gegeben, und einige der Ressourcen des Mikroprozessors in dem Debug-Prozess wird für den Monitor ausgewählt. Dennoch ist die Verfügbarkeit eines vollständigen Satzes von vorgefertigter Software und Hardware, die keinen Zeitverlust ermöglicht die Installation und Fehlersuche des Anwendungssystemes 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 Universal-Emulator.

ROM Emulatoren.

ROM-Emulator - Hardware- und Softwaremittel ermöglicht, das ROM auf der Zielplatine ersetzen und ersetzt das Symbol RAM in dem ein Programm von einem Computer über einen der Standard-Kommunikationskanäle heruntergeladen werden können. Dieses Gerät ermöglicht es dem Benutzer, mehrere ROM Umprogrammierung Zyklen zu vermeiden. ROM Emulator ist nur sinnvoll für Mikrocontroller, die externen Programmspeicher zugreifen können. Dieses Gerät ist vergleichbar in Komplexität und Kostenentwicklung Boards. Es hat einen großen Vorteil: Flexibilität. ROM Emulator kann mit jeder Art von Mikrocontrollern arbeiten.

Frühe ROM Emulatoren erlaubt nur das Programm herunterladen, starten Sie es und beenden Sie das Master-Reset verwendet wird. Dann kam die komplizierten Modelle mit Hardware-Generation Routing von Signalen über eine bestimmte Adresse an das Oszilloskop. Emulierte Speicher in solchen Produkten zur Verfügung standen zur Überprüfung und Modifikation, aber es ist sehr wichtig für die Steuerung der internen Steuerregister des Mikrocontrollers war bis vor kurzem unmöglich Zeit.

Aber es gibt Modelle von Smart-ROM-Emulatoren, die Sie erlauben zu „Look“ innerhalb des Mikrocontrollers auf der Anwenderkarte und General Management für das Debuggen, stahlähnlichen In-Circuit-Emulator. Cactus Firma selbst präsentiert sein eigentlich intelligentes ROM Emulator als In-Circuit-Emulator Reihe von Mikroprozessoren, 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 Board steht.

Intelligent ROM Emulatoren ist eine Mischung aus einem herkömmlichen ROM-Emulator, zu überwachen und Austestschaltungsanordnung schnellen Umschalten von einem Bus zu einem anderen. Dadurch entsteht ein Effekt, als ob der Debug-Monitor auf der Benutzerkarte installiert ist, und somit ist es keine Mikrocontroller-Hardware-Ressourcen nehmen, mit Ausnahme eines kleinen Programmschritte Zone, etwa 4K. Zum Beispiel ist eine solche Vorrichtung wurde durch „Fitton“ für alle aktuellen und zukünftigen Mikrocontroller entwickelt, die einen Kern aus 8051 haben, sondern ist ferner mit einer Vielzahl von Eingangs \ Ausgabevorrichtungen gesättigt. Dieses Gerät unterstützt viele verschiedene Mikrocontroller von Philips, Siemens, OKI.

IDEs.

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

In dem traditionellen Ansatz, die erste Phase ein Programm zu schreiben, ist wie folgt aufgebaut:

  • Der Quellcode wird in einem beliebigen Texteditor eingegeben. Nach Abschluss des Satzes, mit einem Texteditor arbeiten beendet und Cross-Compiler laufen. In der Regel enthält das neu geschriebene Programm Syntaxfehler, den Compiler und meldet sie an die Bedienerkonsole.
  • Neustart mit einem Texteditor, und der Bediener finden und beheben die Fehler identifiziert, weil der Bildschirm von einem Texteditor mit der Meldung über die Art des Fehlers belegt wird vom Compiler abgeleitet ist nicht sichtbar.

Und dieser Zyklus kann mehrmals wiederholt werden. Wenn das Programm nicht zu klein und trivial ist, aus verschiedenen Teilen gehen, werden bearbeitet oder aktualisieren, auch dieser erste Schritt sehr viel Mühe und Zeit Programmierer benötigen und im Wesentlichen die Begeisterung der Entwickler dämpfen.

Vermeiden Sie hochvolumige Routine und deutlich die Effizienz der Entwicklung und Debugging verbessern, ermöglicht neue und schnell wachsende Beliebtheit sogenannte IDEs (Shell) Entwicklung (Integrated Development Environment, IDE).

Typischerweise bringt ein „gut“ IDE unter einem Flügel des Debuggen vorhandenen Werkzeuge (In-Circuit-Emulator, einen Software-Simulator, Programmierer), und zugleich bietet mit Programmtexten im Stil des „Turbo“ den Programmierer arbeiten.

Die Arbeit in einer integrierten Umgebung gibt den Programmierer:

  • Die Fähigkeit, den eingebauten Texteditor zu verwenden, ein großer Teil der Datei, und zwar mit dem Quellcode von Programmen orientiert zu arbeiten.
  • Diagnose von Fehlern während des Kompilierens festgestellt, und den Quellcode zur Verfügung Bearbeitung, werden gleichzeitig in einem Multi-Modus 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 jedes Projekt als Vorlage zu verwenden. Optionen, die von dem Compiler und der Liste der Projektquelldateien werden im interaktiven Menü installiert und wird im Projekt gespeichert, entfällt die Notwendigkeit, mit umständlichen Batch-Dateien zu arbeiten.
  • Recompilation wirkt sich nur bearbeiten Module.
  • Die Fähigkeit, das Programm herunterzuladen wobei auf die Debugging-Tools zur Verfügung, getestet und mit ihnen arbeiten, ohne die Schale zu verlassen.
  • Fähigkeit zur Schale von praktisch jede Software zu verbinden.

In den letzten Jahren sind die Funktionen integrierten Entwicklungsumgebungen APIs Zugehörigkeit fortschrittlichste Emulatoren, Debugger und Simulatoren. Diese Funktionalität, mit einer benutzerfreundlichen Schnittstelle kombiniert, ist in der Lage das Leben leichter für Entwickler zu machen und ihre Arbeit zu beschleunigen.