Kostenlose technische Bibliothek ENZYKLOPÄDIE DER FUNKELEKTRONIK UND ELEKTROTECHNIK So überprüfen Sie eine HEX-Datei. Enzyklopädie der Funkelektronik und Elektrotechnik Lexikon der Funkelektronik und Elektrotechnik / Mikrocontroller Viele Funkamateure, die versuchen, dieses oder jenes Gerät auf der Grundlage einer Zeitschriftenveröffentlichung auf einem Mikrocontroller nachzubilden, stoßen oft auf Schwierigkeiten, die auf den ersten Blick unerklärlich sind. Es scheint, dass die Funktionsfähigkeit des Mikrocontrollers außer Zweifel steht, der Programmierer in einwandfreiem Zustand ist und das Gerät genau nach dem Diagramm zusammengebaut ist, aber es weigert sich, so zu funktionieren, wie es sollte. In einer solchen Situation gibt es oft Beschwerden gegen den Autor der Entwicklung – er habe angeblich ein funktionsunfähiges Programm präsentiert! Tatsächlich ist in den allermeisten Fällen alles anders. Der Fehler liegt in Fehlern, die bei der manuellen Eingabe der HEX-Datei des Programms in den Computer gemacht wurden, nachdem sie auf den Seiten einer gedruckten Publikation „gedruckt“ wurde. Beim Kopieren von Dateien von Disketten oder beim „Herunterladen“ aus dem Internet treten Fehler deutlich seltener auf. Wie überprüfe ich eine HEX-Datei? Die Antwort auf diese Frage finden Sie im veröffentlichten Artikel. Jeder Tippfehler in der HEX-Datei, selbst der harmloseste auf den ersten Blick, führt dazu, dass der Mikrocontroller (MCU) einen falschen Befehl ausführt, wodurch der spezifizierte Algorithmus seiner Funktionsweise oft völlig verfälscht wird und zu einem völlig unvorhersehbaren Verhalten des hergestellten Geräts führen kann. Selbst der qualifizierteste Fachmann wird in dieser Situation nicht in der Lage sein, den Ort des Fehlers anhand äußerer Anzeichen genau zu bestimmen. Es bleibt nur noch, die HEX-Datei sehr sorgfältig und immer wieder mit dem Original zu vergleichen. Die Besonderheit unserer Psyche besteht darin, dass wir nach einmaliger Überprüfung unbewusst von unserer eigenen Unfehlbarkeit überzeugt sind und bei wiederholten Überprüfungen oft etwas übersehen, was uns beim ersten Mal nicht aufgefallen ist. Daher ist es sinnvoll, einen Assistenten zu haben, der, auch ohne sich mit dem Wesen der Arbeit auseinanderzusetzen, eine „unabhängige Kontrolle“ durchführt. Auf keinen Fall sollten Programmtexte, die von einem Scanner eingelesen und anschließend mit dem Programm FineReader und ähnlichen Programmen erkannt werden, ungeprüft bleiben. Die Praxis zeigt, dass Fehler bei der Zeichenerkennung auch bei sehr hochwertigen gedruckten Texten unvermeidlich sind. Bei der manuellen Eingabe von HEX-Dateien (über die Tastatur) oder deren durch Scannen erhaltenen elektronischen Versionen passiert am häufigsten Folgendes:
Der harmloseste dieser Mängel ist der letzte. Im Gegensatz zu anderen beeinträchtigt es die Leistung des Programms nicht. Das Gleiche gilt in den meisten Fällen auch für die Verletzung der Zeilenreihenfolge. Allerdings können Programmierer, die eine strenge Kontrolle über die Richtigkeit der eingegebenen Daten gewährleisten, eine Datei mit solchen Fehlern dennoch ablehnen. Es muss gesagt werden, dass die Software vieler Programmierer die korrekte Struktur der HEX-Datei beim Lesen von der Festplatte überwacht. Bestimmte Möglichkeiten hierfür liegen in der Struktur einer solchen Datei selbst, über die Sie beispielsweise im Artikel des Autors „Entwicklung und Debugging von Geräten auf MK“ („Radio“, 2001, Nr. 5, S. 19). Das Problem besteht darin, dass der Programmierer oft nur meldet, dass ein Fehler erkannt wurde, ohne nähere Angaben zu machen, sodass der Benutzer es selbst herausfinden muss. In diesem Fall stellt sich häufig heraus, dass die fehlerhafte Datei ganz oder teilweise in den Programmierer geladen wird und wenn Sie unachtsam den Befehl „Programmieren“ erteilen, werden die fehlerhaften Daten in den Speicher des MK übertragen. Danach ist die Überprüfung erfolgreich abgeschlossen (Überprüfung des Speicherinhalts des MK und des Programmierers) und der Benutzer erhält den Eindruck, dass alles in Ordnung ist. In dieser Hinsicht verhält sich das Programm PonyProg (Versionen 2.05 und früher) sehr gefährlich. Neben HEX stehen mehrere andere Eingabedateiformate zur Verfügung, und beim Laden versucht es, das benötigte Format auszuwählen. Da sie das korrekte Dateiformat mit Fehlern nicht erkennt, gibt sie es trotzdem als Binärformat ein. In Abb. Abbildung 1 zeigt die Ansicht des PonyProg-Programmierfensters nach einer solchen Eingabe. Der Speicher enthält keine Maschinencodes von Befehlen, sondern ASCI-Codes von Buchstaben und Zahlen, aus denen die Text-HEX-Datei besteht. Natürlich wird MK nach einem solchen „Programm“ nicht funktionieren. Die Ansicht desselben Fensters nach Eingabe einer fehlerfreien Datei, die mit der ersten identisch ist, ist in Abb. dargestellt. 2. Beachten Sie, dass der Programmierer in beiden Fällen keine Fehlermeldungen oder Informationen zum automatisch ermittelten Dateiformat ausgegeben hat. Das Programm kann Ihnen helfen, Fehler in der HEX-Datei zu finden und zu korrigieren, bevor Sie sie in den Programmierer eingeben ÜberprüfenHEX. Mit seiner Hilfe können Sie eine neue HEX-Datei erstellen, indem Sie deren Inhalt auf der Computertastatur eingeben. Im letzteren Fall erfolgt die Verifizierung gleichzeitig mit der Dateneingabe. Das Datenfenster des CheckHEX-Programms nach Eingabe einer HEX-Datei mit mehreren Fehlern ist in Abb. dargestellt. 3. Im oberen linken Teil werden die aktuellen Koordinaten des Cursors angezeigt und zeigen an, wo das Zeichen eingegeben wird, wenn die Taste gedrückt wird. Auf der rechten Seite befindet sich ein Fenster, durch Anklicken können Sie die Fehlerprüfung jederzeit abbrechen oder wieder aktivieren. Es kann sinnvoll sein, die Kontrolle während der manuellen Dateneingabe zu blockieren, da sonst jede unvollendete Zeile von vielen Meldungen begleitet wird, die nur die Aufmerksamkeit ablenken. Das Warn- und Fehlermeldungsfenster (Abb. 4) befindet sich unterhalb des Hauptfensters. Meldungen, die mit dem Wort „Information“ beginnen, weisen lediglich auf den Sonderstatus bestimmter Zeilen der HEX-Datei hin. In diesem Fall gibt es zwei solcher Zeilen. Die erste davon ist optional, da die Zählung der Adressen auch ohne sie bei Null beginnt. Mit solchen Zeilen (es können mehrere davon an verschiedenen Stellen der Datei vorhanden sein) können Sie mehr als 64 KB (32 Kwords) Speicher adressieren. Es ist ihr Vorhandensein, das HEX-Dateien im INX32-Format von ähnlichen Dateien im INX8M-Format unterscheidet. Zeile 25 markiert das Ende der HEX-Datei. Wenn sich danach Daten befinden (Zeile 26), werden diese vom Programmierer nicht akzeptiert. Dies kann beispielsweise verwendet werden, um einen Textkommentar in einer HEX-Datei zu platzieren. Im Beispiel wurde Zeile 20 der Quelldatei einfach hierher verschoben, so dass sie leer blieb. Im Prinzip ist das Vorhandensein von Leerzeilen in einer HEX-Datei akzeptabel, einige Programmierer betrachten sie jedoch möglicherweise dennoch als Fehler. Das CheckHEX-Programm warnt für alle Fälle davor. Beachten Sie die Prüfsummenfehlermeldung in Zeile 3. Dies kann auf eine falsche Eingabe eines beliebigen Zeichens (außer dem Doppelpunkt) in der Zeichenfolge zurückzuführen sein, was besonders sorgfältig überprüft werden sollte. Die in Klammern angezeigte „richtige“ Prüfsumme ist nützlich, wenn ein oder mehrere Zeichen in einer Zeichenfolge absichtlich geändert wurden (z. B. um einen echten Fehler im Programm zu beheben). In diesem Fall ist der Fehler auf die Eingabe der Zahl 8 anstelle des Buchstabens B zurückzuführen. Die Art des Fehlers im fünften Zeichen der vierten Zeile ist klar. Wir weisen lediglich darauf hin, dass die Textschrift im Hauptfenster zur Erleichterung der visuellen Fehlersuche keine kyrillischen Zeichen enthält, sondern durch Zeichen ersetzt wird, die mit den richtigen nichts gemeinsam haben. Fehlermeldungen enthalten jedoch russische Buchstaben. Rechts neben dem Datenfenster befindet sich ein Fenster, das ein Bild des MK-Speichers anzeigt, der mit Codes aus der analysierten Datei gefüllt wird. Ein Fragment dieses Fensters ist in Abb. dargestellt. 5. Weiße Farbe entspricht freien Zellen, blau oder rot - besetzt. Die erklärenden Beschriftungen in der Abbildung (sie befinden sich nicht im realen Fenster) beziehen sich auf die typische Speicherverteilung für PIC-Controller; bei anderen MKs und RPOMs kann sie völlig anders sein. Durch Bewegen des Mauszeigers innerhalb des Fensters können Sie die Adresse jeder der dort angezeigten Zellen ermitteln. In diesem Fall zeigt der Cursor (Fadenkreuz im oberen rechten Teil des Fensters) auf das Byte an der Adresse OOSON - niederwertig in einem Doppelbyte-Wort an der Adresse 0060H. Natürlich weiß ein Benutzer, der das zu ladende Programm nicht entworfen und nicht sorgfältig analysiert hat, in der Regel nicht, welche Zellen belegt werden sollen und welche nicht. Dennoch ist es sinnvoll, auf Unterbrechungen in der kontinuierlichen Abfolge belegter Zellen zu achten und noch einmal sicherzustellen, dass diese nicht wie im betrachteten Fall durch Fehler entstanden sind. Eine rote Linie zeigt an, dass die an diesen Adressen eingegebenen Codes mehr als einmal in der Datei vorkommen. Im Beispiel (siehe Abb. 3) sind die siebte und achte Zeile identisch. Wenn die doppelte Zeile auf Unachtsamkeit bei der manuellen Dateneingabe zurückzuführen ist, kann sie gelöscht werden. Aber häufiger ist der Schuldige ein Fehler im Adressteil der Zeile (Zeichen vom vierten bis zum siebten). In einem solchen Fall werden nicht nur die Codes an fehlerhaften Adressen verfälscht, sondern auch der Speicherbereich, zu dem die angegebene Zeile ursprünglich gehörte, bleibt undefiniert. All dies muss immer wieder überprüft werden. Abschließend stellen wir fest, dass es im CheckHEX-Programmfenster drei Steuerschaltflächen gibt: - Erstellen Sie eine neue HEX-Datei; - öffnen und vorhandene prüfen; - Speichern Sie die erstellte oder bearbeitete Datei. Wenn Sie versuchen, eine andere Datei zu laden oder zu erstellen, ohne zuvor eine geänderte Version der alten Datei zu speichern, werden Sie vom Programm immer daran erinnert, dies zu tun. Das Gleiche passiert, bevor das Programm beendet wird. Autor: A. Dolgiy, Moskau Siehe andere Artikel Abschnitt Mikrocontroller. Lesen und Schreiben nützlich Kommentare zu diesem Artikel. Neueste Nachrichten aus Wissenschaft und Technik, neue Elektronik: Das höchste astronomische Observatorium der Welt wurde eröffnet
04.05.2024 Steuern von Objekten mithilfe von Luftströmungen
04.05.2024 Reinrassige Hunde werden nicht häufiger krank als reinrassige Hunde
03.05.2024
Weitere interessante Neuigkeiten: ▪ Diamanten aus Erdnussbutter herstellen ▪ Reparieren Sie den Satelliten, der in die Umlaufbahn gebracht werden soll ▪ Hochspannungsgenerator im Weltraum ▪ Inforce 6309L Einplatinen-PC ▪ Nurflügler für die Fotografie des Mars News-Feed von Wissenschaft und Technologie, neue Elektronik
Interessante Materialien der Freien Technischen Bibliothek: ▪ Abschnitt der Website, Spionagematerial. Artikelauswahl ▪ Artikel Gerät für Asse (Kunstflug-Steadicam). Videokunst ▪ Artikel Brecher. Standardanweisung zum Arbeitsschutz ▪ Artikel Bläuung von Eisen und Stahl. Einfache Rezepte und Tipps
Hinterlasse deinen Kommentar zu diesem Artikel: Alle Sprachen dieser Seite Startseite | Bibliothek | Artikel | Sitemap | Site-Überprüfungen www.diagramm.com.ua |