Dies ist der Befehl srec_examples, der beim kostenlosen Hosting-Anbieter OnWorks mit einer unserer zahlreichen kostenlosen Online-Workstations wie Ubuntu Online, Fedora Online, dem Windows-Online-Emulator oder dem MAC OS-Online-Emulator ausgeführt werden kann
PROGRAMM:
NAME/FUNKTION
srec_examples – Beispiele für die Verwendung von SRecord
BESCHREIBUNG
Die srec_cat Der Befehl ist aufgrund der Möglichkeit, die Eingabefilter zu kombinieren, sehr leistungsfähig
auf nahezu unbegrenzte Weise. Diese Handbuchseite beschreibt einige davon.
Auf dieser Handbuchseite wird beschrieben, wie Sie die verschiedenen Eingabedateien, Eingabefilter und Eingaben verwenden
Generatoren. Dies sind jedoch nur Beispiele. Ausführlichere Informationen finden Sie im srec_input(1)
Handbuchseite.
Die Befehle Linien Sind Too lang
Wenn Sie auf einem Betriebssystem mit absurd kurzen Beschränkungen der Befehlszeilenlänge festsitzen,
Einige der folgenden Befehle sind möglicherweise zu lang. Sie können dieses Handicap umgehen, indem Sie
Platzieren Sie beispielsweise Ihre Befehlszeile in einer Datei fred.txt, und dann erzählen srec_cat(1) um dies zu lesen
Datei für den Rest ihrer Befehlszeile, etwa so
srec_cat @fred.txt
Dies hat auch den Vorteil, dass Kommentare zulässig sind, sodass Sie Ihre Befehlszeile schreiben können
Optionen über mehrere Zeilen hinweg und sogar Einrückungen, um den Befehl klarer zu machen. Kommentare
Beginnen Sie mit einem „#” und bis zum Ende der Zeile verlängern. Leerzeilen werden ignoriert.
Natürlich könnte man jederzeit auf Linux upgraden, was seit über 27 Jahren weniger nervt
Jahre jetzt.
Ihr Beispiele Gesucht
Wenn Sie SRecord clever nutzen oder ein schwieriges Problem damit gelöst haben
SRecord, Sie könnten zu dieser Handbuchseite beitragen, um sie für alle nützlicher zu machen.
Senden Sie Ihr Beispiel per E-Mail an die E-Mail-Adresse am Ende dieser Handbuchseite.
KONVERTIEREN FILE FORMATEN
Das einfachste der Dinge srec_cat(1) Sie können von einem EPROM-Dateiformat in konvertieren
ein anderer. Bitte denken Sie beim Lesen dieses Abschnitts daran, dass Sie viele davon ausführen können
Dinge gleichzeitig in einem Befehl. Zur Herstellung werden sie lediglich einzeln herausgebrochen
leichter zu verstehen.
Intel zu Motorola
Eines der einfachsten Beispiele ist die Konvertierung von Dateien vom Intel-Hex-Format in das Motorola S-Format.
Aufnahmeformat:
srec_cat Intel-Datei -intel -o srec-Datei
Beachten Sie, dass der Formatbezeichner unmittelbar auf den Namen der Datei folgt, die er beschreibt.
Wählen Sie zwei beliebige Formate aus, die SRecord versteht, und es kann zwischen allen konvertieren.
(Mit Ausnahme der Assembler-, BASIC-, C- und FPGA-Ausgaben, die nur zum Schreiben geeignet sind.)
Motorola zu Intel
Die Umrechnung in die andere Richtung ist genauso einfach:
srec_cat srec-Datei -o Intel-Datei -intel
Das Standardformat ist das Motorola S-Record-Format und muss daher nicht angegeben werden
den Dateinamen.
Verschiedene Formen of die Gleich Format
Es kommt leider häufig vor, dass einige verwirrte EPROM-Programmierer nur einen Teil davon implementieren
der Spezifikation, die zur Darstellung ihrer Hex-Dateien verwendet wird. Zum Beispiel einige Compiler
erzeugt „s19“-Motorola-Daten (also S1-Datensätze mit S9-Startdatensätzen, 16 Bit).
Adressfelder), was in Ordnung wäre, außer dass einige dumme EPROM-Programmierer darauf bestehen
„s37“ Motorola-Daten (also S3-Datensätze mit S7-Startsätzen, 32-Bit-Adresse).
Felder).
Mit dem ist es möglich, von einer Motorola-Form in eine andere zu konvertieren -Adresslänge
Option:
srec_cat short.srec -o long.srec -address‐length=4
Dieser Befehl besagt, dass bei der Ausgabe vier Byte (32-Bit)-Adressen verwendet werden sollen.
Dieser Abschnitt gilt auch für Intel-Hex-Dateien, da auch diese über die Möglichkeit zur Auswahl verfügen
aus verschiedenen Adressbreiten. Um von einer Intel-Form in eine andere zu konvertieren, verwenden Sie die
gleich -Adresslänge Option:
srec_cat i32.hex -o i16.hex -address‐length=3
Dieser Befehl besagt, dass bei der Ausgabe „i16hex“ 20-Bit-segmentierte Adressen verwendet werden sollen. Eine Adresslänge
4 ist die Standardeinstellung („i32hex“ 32-Bit-lineare Adressierung), und eine Adresslänge von 2 würde dies tun
Anforderung „i8hex“ 16-Bit-Adressierung.
Line Längen
Von Zeit zu Zeit werden Sie auf einen schwachsinnigen EPROM-Programmierer stoßen, der damit nicht zurechtkommt
Bei langen Textzeilen gehen sie davon aus, dass es immer nur 46 Zeichen pro Zeile geben wird und
barf, wenn sie die Standardlinienlängen sehen srec_cat(1) schreibt (oder schlimmer noch, einen Stapel holen).
Gekritzel und Absturz).
Die Motorola S-Record-Formatdefinition erlaubt bis zu 255 Byte Nutzlast oder Zeilen davon
514 Zeichen, plus den Zeilenabschluss. Alle EPROM-Programmierer sollte ausreichend haben
große Zeilenpuffer, um mit so großen Datensätzen fertig zu werden. Nur wenige tun es.
Die Option -line-length kann verwendet werden, um die maximale Zeilenlänge anzugeben (ohne die
newline), der bei der Ausgabe verwendet werden soll. Zum Beispiel 16-Byte-Nutzdaten für Motorola Hex
srec_cat long.srec -o short.s19 -line‐length=46
Die Option „Zeilenlänge“ interagiert mit der Option „Adresslänge“, also muss man etwas daran herumbasteln
Eine Optimierung für Ihre spezielle Situation kann erforderlich sein.
Ausgang Blockieren Größe
Hin und wieder werden Sie auf einen uralten, dummen EPROM-Programmierer stoßen, der das nicht kann
Um mit langen Datensätzen zurechtzukommen, gehen sie davon aus, dass es immer nur maximal 16 Bytes sein werden
Daten pro Datensatz und barf, wenn sie die standardmäßigen 32-Byte-Nutzlasten sehen srec_cat(1)
schreibt (oder schlimmer noch, der Pufferüberlauf verursacht einen hohen Graslauf, der auf Ihrem Gerät kritzelt
EPROM).
Die Intel-Hex-Formatdefinition erlaubt bis zu 255 Byte Nutzdaten pro Datensatz. Alle
EPROM-Programmierer sollte über ausreichend große Datenpuffer verfügen, um diese Datensätze bewältigen zu können
groß. Viel Glück damit.
Die Option -Output-Block-Size kann verwendet werden, um die Datensatzdatengröße anzugeben, für die verwendet werden soll
Ausgabe. Beispiel: Intel Hex mit 16-Byte-Nutzdaten:
srec_cat long.srec -o short.hex -intel -obs=16
Achten Sie darauf, dass Sie das nicht hineinstecken -obs Option zwischen dem Namen der Ausgabedatei und dem Format
Bezeichner.
Just die Daten, Bitte kontaktieren Sie uns, wenn Sie Probleme im Zusammenhang mit dieser Website haben oder
Es gibt einige dumme EPROM-Programmierer, die nur mit Datensätzen zurechtkommen, und das tun sie auch
kann mit Header-Datensätzen oder Ausführungsstartadressen-Datensätzen nicht umgehen. Wenn Sie das haben
Problem, das -Nur Daten Mit dieser Option können Sie nahezu alles außer dem unterdrücken
Daten. Der tatsächliche Effekt hängt natürlich vom Format ab, da einige diese nicht haben
Funktionen sowieso.
Die -Nur Daten Option ist Kurzschrift. Es gibt vier Eigenschaften, die möglich sind -deaktiviert or
fähigen separat. Siehe die srec_cat(1) Manpage für eine Beschreibung von -deaktiviert und
fähigen nach.
Ihr Neandertaler-EPROM-Programmierer benötigt beispielsweise Motorola-Hex mit Header-Datensätzen
(S0), jedoch ohne Datensätze zur Datenzählung (S5). Nicht verwenden -Nur Daten Bei der Option kann es kotzen
der Datenzählungsdatensatz, aber unter Verwendung der -Nur Daten Mit der Option wird der fehlende Header ausgeblendet
aufzeichnen. Verwendung der -disable=Datenanzahl Option würde den Header-Datensatz währenddessen intakt lassen
Unterdrückung des Datenzählsatzes.
Datum Headers
Die srec_cat(1) Der Befehl versucht immer, Header-Datensätze unverändert zu durchlaufen
sie sind vorhanden. Es wird sogar versucht, sie über Dateiformatänderungen hinweg bis zum Äußersten beizubehalten
die Dateiformate dazu in der Lage sind.
Wenn kein Datei-Header-Datensatz vorhanden ist und Sie einen hinzufügen oder überschreiben möchten
Um einen vorhandenen Datei-Header-Datensatz zu verwenden, verwenden Sie den -Header=Schnur Möglichkeit. Sie müssen das zitieren
Zeichenfolge (um sie von der Shell zu isolieren), wenn sie Leerzeichen oder Shell-Metazeichen enthält.
Ausführung Start Adressen
Die srec_cat(1) Der Befehl versucht immer, die Startadressen der Ausführung zu passieren (normalerweise
am Ende der Datei stehen), sofern sie vorhanden sind. Sie werden entlang angepasst
mit den Datensätzen der -Versatz Filter. Es wird sogar versucht, sie dateiübergreifend beizubehalten
Formatänderungen bis zur Grenze, zu der die Dateiformate fähig sind.
Wenn kein Ausführungsstartadressendatensatz vorhanden ist und Sie einen hinzufügen möchten oder wünschen
Um einen vorhandenen Ausführungsstartadressendatensatz zu überschreiben, verwenden Sie die -Ausführung‐Start‐
Adresse=Anzahl .
Bitte beachten Sie: Die Ausführungsstartadresse ist ein anderes Konzept als die erste Adresse in
Speicherung Ihrer Daten. Betrachten Sie es als eine „Gehe zu“-Adresse, zu der der Monitor springen soll, wenn
Der Hex-Ladevorgang ist abgeschlossen. Wenn Sie ändern möchten, wo Ihre Daten im Speicher beginnen, verwenden Sie die
-Versatz Filter.
Festsetzung Prüfsummen
Einige Embedded-Firmware-Entwickler sind mit dümmlichen Werkzeugen ausgestattet, die dies ermöglichen
falsche Prüfsummen, die die wachsameren Modelle von EPROM-Programmierern nicht akzeptieren.
Um die Prüfsummen einer Datei zu korrigieren, verwenden Sie die -Prüfsummen ignorieren Möglichkeit. Zum Beispiel:
srec_cat kaputt.srec -ignore‐checksums -o behoben.srec
Die Prüfsummen in defekt.srec werden analysiert (es ist immer noch ein Fehler, wenn sie fehlen), aber sie werden analysiert
nicht geprüft. Das Ergebnis behoben.srec Die Datei hat korrekte Prüfsummen. Der -Prüfsummen ignorieren
Option gilt nur für die Eingabe.
Diese Option kann für jedes Dateiformat verwendet werden, das Prüfsummen enthält, einschließlich Intel Hex.
Discovering Mystery Formate
Weitere Informationen im Was Format Is Dieses? Im folgenden Abschnitt erfahren Sie, wie Sie mysteriöse EPROMs entdecken und konvertieren
Dateiformate laden.
BINARY DATEIEN
Es ist möglich, in und aus Binärdateien zu konvertieren. Sie können sogar Binärdateien und mischen
andere Formate zusammen im selben srec_cat(1) Befehl.
Schreiben Binär Mappen
Der einfachste Weg, eine Hex-Datei zu lesen und in eine Binärdatei umzuwandeln, sieht so aus:
srec_cat fred.hex -o fred.bin -binary
Dies liest die Motorola-Hexdatei fred.srec und schreibt es an die fred.bin als roh
binär.
Beachten Sie, dass die Daten an dem durch angegebenen Byte-Offset in die Binärdatei eingefügt werden
Adressen in der Hex-Datei. Sollten Lücken in den Daten vorhanden sein, werden diese mit Null aufgefüllt.
Dies ist natürlich bei Linker-Ausgaben üblich, bei denen der Code beginnend bei a platziert wird
besonderen Platz in der Erinnerung. Wenn Sie beispielsweise ein Bild haben, das bei 0x100000 beginnt,
Die ersten 1 MB der ausgegebenen Binärdatei sind Null.
Sie können diesen Versatz mit einem Befehl wie „automatisch“ aufheben
srec_cat fred.hex -offset − -minimum‐addr fred.hex -o fred.bin
Der obige Befehl funktioniert durch Versetzen der Fred.hex Datei um das Mindeste niedriger im Speicher
Adresse in der Fred.hex Daten der Datei.
Siehe auch die srec_binary(5) Manpage für weitere Details.
Lesebrillen Binär Mappen
Der einfachste Weg, eine Binärdatei zu lesen und zu konvertieren, sieht so aus
srec_cat fred.bin -binary -o fred.srec
Dies liest die Binärdatei fred.bin und schreibt alle seine Daten wieder als aus
Motorola S-Record-Datei.
Oft befindet sich diese Binärdatei nicht genau an der gewünschten Stelle im Adressraum, weil sie dort ist
Es wird davon ausgegangen, dass sich die Adresse an der Adresse Null befindet. Wenn Sie es bewegen müssen, verwenden Sie die -Versatz Filter.
srec_cat fred.bin -binary -offset 0x10000 -o fred.srec
Sie müssen auch Datei-„Löcher“ vermeiden, die mit Null gefüllt werden. Du kannst den ... benutzen -Ernte
Filter, von dem Sie den verwenden könnten -unfüllen Filtern Sie, wenn Sie nicht genau wissen, wo sich die Daten befinden.
srec_cat fred.bin -binary -unfill 0x00 512 -o fred.srec
Der obige Befehl entfernt Null-Byte-Läufe, die 512 Bytes oder länger sind. Wenn dein
Wenn die Datei 1 GB führende Null-Bytes enthält, ist dies langsam und daher möglicherweise besser zu verwenden
die dd(1) Befehl, zuerst zu schneiden und zu würfeln.
BEITRETEN DATEIEN ZUSAMMEN
Die srec_cat Der Befehl hat seinen Namen vom UNIX Katze(1) Befehl, die Abkürzung für
„verketten“ oder „verbinden“. Der srec_cat Der Befehl fügt EPROM-Ladedateien zusammen.
Alle In Eins
Das Zusammenfügen von EPROM-Ladedateien zu einer einzigen Datei ist einfach, indem Sie einfach so viele Dateien benennen
die Befehlszeile nach Bedarf:
srec_cat infile1 infile2 -o Outfile
In diesem Beispiel handelt es sich um alle Motorola S-Record-Dateien, da dies das Standardformat ist. Du kannst
mehrere Formate in einem Befehl haben und srec_cat(1) wird weiterhin funktionieren. Du nicht einmal
muss das gleiche Format ausgeben:
srec_cat infile1 -Spektrum infile2 -needham \
-o Outfile -Signetik
Dies sind alles alte Formate, es ist jedoch nicht ungewöhnlich, dass Intel gemischt und angepasst werden muss
und Motorola-Formate in einem Projekt.
Filterung Nach Der Übergang zu
Es gibt Zeiten, in denen Sie zwei Datensätze zusammenführen und dann einen Filter anwenden möchten
zum verbundenen Ergebnis. Dazu verwenden Sie Klammern.
srec_cat \
'(' \
im Ordner -exclude 0xFFF0 0x10000 \
-generate 0xFFF0 0xFFF8 -repeat‐string 'Bananas ' \
')' \
-b-e-length 0xFFF8 4 \
-b‐e‐checksum‐neg 0xFFFC 4 4 \
-o Outfile
Der obige Beispielbefehl verkettet eine Eingabedatei (wobei der generierte Datenbereich ausgeschlossen ist).
mit einer konstanten Zeichenfolge. Diese verkettete Eingabe wird dann gefiltert, um eine Länge von 4 Bytes hinzuzufügen
eine 4-Byte-Prüfsumme.
Der Übergang zu Ende zu Ende
Allzu oft überschneiden sich die Adressbereiche in den EPROM-Ladedateien. Sie erhalten eine
Fehler, wenn sie es tun. Wenn beide Dateien bei Adresse Null beginnen, weil jede in a geht
Wenn Sie ein separates EPROM verwenden, müssen Sie möglicherweise den Offset-Filter verwenden:
srec_cat infile1 \
infile2 -offset 0x80000 \
-o Outfile
Manchmal möchten Sie, dass die beiden Dateien genau aufeinander folgen, aber Sie wissen das nicht
im Voraus verrechnet:
srec_cat infile1 \
infile2 -Offset -maximale Addr infile1 \
-o Outfile
Beachten Sie, dass dort, wo zuvor eine Zahl (0x80000) war, jetzt eine Berechnung (-maximum) erfolgt.
Adr infile1). Dies ist an den meisten Stellen möglich, an denen eine Zahl verwendet werden kann (auch -minimum‐addr und).
-Reichweite).
ZUSCHNEIDEN DATEN
Es ist möglich, eine EPROM-Ladedatei zu kopieren und dabei die zu behaltenden Adressen und Adressen auszuwählen
verwerfen.
Was Zu Behalten
Eine häufige Aktivität besteht darin, Ihre Daten so zuzuschneiden, dass sie mit Ihrem EPROM-Standort übereinstimmen. Ihr Linker kann hinzufügen
anderer Müll, der Sie nicht interessiert, z.B am RAM-Speicherort. In diesem Beispiel,
An der 1-MB-Grenze befindet sich ein 2-MB-EPROM:
srec_cat im Ordner -crop 0x200000 0x300000 \
-o Outfile
Die untere Grenze für alle Adressbereiche ist inklusiv, die obere Grenze ist exklusiv. Wenn du
Subtrahieren Sie sie, erhalten Sie die Anzahl der Bytes.
Adresse Offsetdruck
Es ist durchaus möglich, dass Sie einen schwachsinnigen EPROM-Programmierer haben, der das EPROM-Image einfach nicht kennt
fängt nicht bei Null an. Um herauszufinden, wo es ist die Beginnen Sie im Speicher und verwenden Sie die
srec_info(1) Befehl:
$ srec_info example.srec
Format: Motorola S-Record
Kopfzeile: Extra-Whizz-Werkzeugkettenverbindungsstück
Startadresse der Ausführung: 0x00200000
Daten: 0x200000 - 0x32AAEF
$
Anstatt die Linker-Befehlsdatei abzuschlachten, versetzen Sie einfach die Adressen:
srec_cat im Ordner -crop 0x200000 0x300000 -offset −0x200000 \
-o Outfile
Beachten Sie, dass der angegebene Offset ist Negativ, es hat den Effekt, dass dieser Wert von subtrahiert wird
alle Adressen in den Eingabedatensätzen, um die Ausgabedatensatzadressen zu bilden. In diesem Fall,
das Bild wieder auf Null verschieben.
Dieses Beispiel zeigt auch, wie die Eingabefilter miteinander verkettet werden können: Zuerst die
Zuschneiden und dann den Versatz, alles in einem Befehl, ohne dass temporäre Dateien erforderlich sind.
Wenn Sie lediglich die Daten so versetzen möchten, dass sie bei Adresse Null beginnen, kann dies der Fall sein
automatisiert, sodass Sie die Mindestadresse nicht im Voraus kennen müssen, indem Sie verwenden srec_cat's
Möglichkeit, einige Dinge auf der Befehlszeile zu berechnen:
srec_cat im Ordner -offset − -minimum‐addr im Ordner \
-o Outfile
Beachten Sie die Leerzeichen auf beiden Seiten des Minuszeichens, sie sind obligatorisch.
Was Zu Werfen Auswärts
Es gibt Zeiten, in denen Sie einen kleinen Adressbereich aus einer EPROM-Ladedatei ausschließen müssen.
anstatt einen kleinen Adressbereich beibehalten zu wollen. Der -ausschließen Filter kann verwendet werden für
dieser Zweck.
Wenn Sie beispielsweise den Adressbereich ausschließen möchten, in dem die Seriennummer eines
Wenn das eingebettete Gerät beibehalten wird, beispielsweise 0x20 Bytes bei 0x100, würden Sie einen Befehl wie diesen verwenden:
srec_cat input.srec -exclude 0x100 0x120 -o output.srec
Die Ausgabe.srec Die Datei weist an den erforderlichen Stellen eine Lücke in den Daten auf.
Beachten Sie, dass Sie beides haben können -Ernte und -ausschließen auf derselben Befehlszeile, je nachdem, was funktioniert
natürlicher für Ihre Situation.
Diskontinuierlich Adresse Ranges
Adressbereiche müssen kein einzelner Bereich sein, Sie können mit einen Adressbereich erstellen
mehr als ein einzelnes Paar.
srec_cat im Ordner -crop 0x100 0x200 0x1000 0x1200 \
-o Outfile
Dieser Filter führt dazu, dass Daten von 0x100..0x1FF und Daten von 0x1000..0x1200 weitergeleitet werden
durch, der Rest entfällt. Dies ist effizienter als die Verkettung von a -Ernte und ein
-ausschließen zusammen filtern.
ZIEHEN UM DINGE UM
Es ist auch möglich, die Adresse von Datensätzen vorwärts und rückwärts zu ändern.
Es ist auch möglich, die Position der Datensätze im Speicher neu zu ordnen.
Offsetdruck Filter
Die -offset=Anzahl Der Filter arbeitet mit den Adressen von Datensätzen. Wenn die Zahl positiv ist
Die Adressen werden im Speicher um entsprechend viele Bytes nach oben verschoben, negative Werte nach unten.
srec_cat im Ordner -crop 0x200000 0x300000 -offset −0x200000 \
-o Outfile
Das obige Beispiel verschiebt den 1-MB-Datenblock bei 0x200000 auf Null (der Offset beträgt
Negativ) und verwirft den Rest der Daten.
Byte Tauschen
Es gibt Zeiten, in denen die Bytes in den Daten ausgetauscht werden müssen, um zwischen großen
Normalerweise werden Endian- und Little-Endian-Daten verwendet.
srec_cat im Ordner -byte‐swap 4 -o Outfile
Dadurch werden Bytes in 32-Bit-Werte (4 Bytes) umgedreht. Wenn Sie standardmäßig keine Breite angeben,
besteht darin, Bytes in 16-Bit-Werte (2 Bytes) umzukehren. Sie können tatsächlich jeden beliebigen seltsamen Wert verwenden
Es muss also nicht einmal eine Potenz von 2 sein. Vielleicht sind 64 Bit (8 Byte) nützlich
Eines Tages.
Binär Ausgang
Sie müssen bei der Ausgabe auf Binärdateien achten, da die Lücken mit Nullen gefüllt sind.
Ihr 100-kB-Programm an der Spitze des 32-Bit-adressierten Speichers erstellt eine 4-GB-Datei. Sehen
srec_binary(5) Wie Sie dieses Problem verstehen und vermeiden können, ist in der Regel mit dem -Versatz Filter.
Spaltung an Bild
Wenn Sie über einen 16-Bit-Datenbus verfügen, aber zwei 8-Bit-EPROMs zur Speicherung Ihrer Firmware verwenden,
Sie können die geraden und ungeraden Bilder erzeugen, indem Sie die verwenden -Teilt Filter. Vorausgesetzt, Ihr
Firmware ist in der Firmware.hex Datei verwenden Sie Folgendes:
srec_cat Firmware.hex -split 2 0 -o Firmware.even.hex
srec_cat Firmware.hex -split 2 1 -o Firmware.odd.hex
Dadurch entstehen die beiden notwendigen EPROM-Images. Beachten Sie, dass die Ausgabeadressen sind
dividiert durch das geteilte Vielfache. Wenn Ihre EPROM-Bilder also einen bestimmten Offset haben (z. B
0x10000, im folgenden Beispiel), müssen Sie den Offset entfernen und ihn dann ersetzen ...
srec_cat Firmware.hex \
-offset −0x10000 -split 2 0 \
-offset 0x10000 -o Firmware.even.hex
srec_cat Firmware.hex \
-offset −0x10000 -split 2 1 \
-offset 0x10000 -o Firmware.odd.hex
Beachten Sie, dass die Möglichkeit, mehrere Filter anzuwenden, das vereinfacht, was sonst sehr kompliziert wäre
längeres Drehbuch.
Striping
Eine zweite Verwendung für die -Teilt Filter ist Speicher-Striping.
Sie müssen nicht in bytebreite Teile aufteilen, Sie können auch andere Größen wählen. Es ist üblich
Sie möchten 32-Bit-breite Daten in zwei Sätze 16-Bit-breiter Daten konvertieren.
srec_cat Firmware.hex -split 4 0 2 -o Firmware.01.hex
srec_cat Firmware.hex -split 4 2 2 -o Firmware.23.hex
Das ist relativ einfach zu verstehen, man kann aber auch breitere Streifen verwenden.
In diesem nächsten Beispiel erfordert die Hardware, dass 512-Byte-Blöcke zwischen 4 und XNUMX-Byte-Blöcken abwechseln
EPROMs. Die Generierung der 4 Bilder würde wie folgt erfolgen:
srec_cat Firmware.hex -split 0x800 0x000 0x200 -o Firmware.0.hex
srec_cat Firmware.hex -split 0x800 0x200 0x200 -o Firmware.1.hex
srec_cat Firmware.hex -split 0x800 0x400 0x200 -o Firmware.2.hex
srec_cat Firmware.hex -split 0x800 0x600 0x200 -o Firmware.3.hex
Asymmetrisch Striping
Ein eigenartigeres Beispiel für Striping ist der Mikrocontroller dsPIC33F von Microchip, der über eine verfügt
seltsames Speichermuster und sie sind in der Lage, 3 Bytes an einer Adresse zu speichern, die es sollte
enthalten nur 2 Bytes. Das Ergebnis ist eine Hex-Datei, deren oberstes Byte (klein) mit Nullen gefüllt ist
Endian) und alle Adressen werden gegenüber dem, was sie im Chip sind, verdoppelt. Hier ist ein
Beispiel:
S1130000000102000405060008090A000C0D0E0098
S1130010101112001415160018191A001C1D1E00C8
S1130020202122002425260028292A002C2D2E00F8
S1130030303132003435360038393A003C3D3E0028
Um die 00 Füllbytes loszuwerden und nur die 3/4 signifikanten Bytes übrig zu lassen, verwenden Sie auch
der Split-Filter mit seinen zusätzlichen Breite argumentieren, wie folgt:
srec_cat example.srec -split 4 0 3 -o no_dross.srec
Dies führt zu einer Datei, in der die 00 Füllbytes entfernt wurden. Es sieht aus wie das:
S113000000010204050608090A0C0D0E1011121451
S1130010151618191A1C1D1E2021222425262829EC
S11300202A2C2D2E30313234353638393A3C3D3E87
Beachten Sie, dass auch die Adressen dreiviertel so groß sind. Sie können dies mit dem umkehren
-ungeteilt und -fill=0 Filter.
Unspaltend Bilder
Der ungeteilte Filter kann verwendet werden, um die Auswirkungen des geteilten Filters umzukehren. Notiere dass der
Der Adressbereich wird erweitert und hinterlässt Lücken zwischen den Streifen. Durch die Verwendung aller Streifen,
Der komplette Eingang wird wieder zusammengebaut, ohne Löcher.
srec_cat -o Firmware.hex \
Firmware.even.hex -unsplit 2 0 \
Firmware.odd.hex -unsplit 2 1
Das obige Beispiel kehrt das vorherige Beispiel für einen 16-Bit-Datenbus um. Im Allgemeinen sind Sie ungeteilt
mit den gleichen Parametern, mit denen Sie geteilt haben.
FÜLLUNG LEERZEICHEN
EPROM-Ladedateien weisen häufig „Löcher“ auf, Stellen, an denen der Compiler und der Linker Löcher hatten
nichts setzen. Für manche Zwecke ist das in Ordnung, für andere muss es so sein
mit den Löchern umgehen.
Die Füllen Filter
Es ist möglich, die Lücken dort zu füllen, wo Ihre Daten nicht liegen. Das einfachste Beispiel für
das füllt das gesamte EPROM:
srec_cat im Ordner -fill 0x00 0x200000 0x300000 -o Outfile
In diesem Beispiel werden die Lücken, sofern vorhanden, mit Nullen gefüllt. Sie müssen einen Bereich angeben – mit a
32-Bit-Adressraum, der alles ausfüllt, was generiert wird riesig Dateien laden.
Wenn Sie nur die Lücken in Ihren Daten füllen möchten und nicht das gesamte EPROM füllen möchten,
Versuchen:
srec_cat im Ordner -fill 0x00 -over im Ordner -o Outfile
Dieses Beispiel zeigt die Tatsache, dass überall dort, wo ein Adressbereich angegeben werden kann, der
-Über und -innerhalb Optionen verwendet werden können.
Unfüllend die Rohlinge
Es kommt häufig vor, dass ein EPROM-Image „entfüllt“ werden muss, nachdem es aus einem Chip gelesen wurde. Normalerweise,
Es werden alle Löcher mit 0xFF gefüllt sein (Bereiche des EPROMs, die Sie nicht programmieren, werden angezeigt).
als 0xFF, wenn Sie sie zurücklesen).
Um alle 0xFF-Bytes in den Daten zu entfernen, verwenden Sie diesen Filter:
srec_cat im Ordner -unfill 0xFF -o Outfile
Dies wird beseitigt alle die 0xFF-Bytes, einschließlich derjenigen, die Sie tatsächlich darin haben wollten.
Es gibt zwei Möglichkeiten, damit umzugehen. Zunächst können Sie eine Mindestlauflänge festlegen
un‐fill:
srec_cat im Ordner -unfill 0xFF 5 -o Outfile
Dies besagt, dass Läufe von 1 bis 4 Bytes von 0xFF in Ordnung sind und dass nur ein Loch erzeugt werden sollte
für Läufe von 5 oder mehr 0xFF-Bytes in Folge. Die zweite Methode ist das Nachfüllen
Zwischenlücken:
srec_cat Outfile -fill 0xFF -over Outfile \
-o outfile2
Welche Methode Sie wählen, hängt von Ihren Anforderungen und der Form der Daten in Ihrem EPROM ab.
Möglicherweise müssen Sie beide Techniken kombinieren.
Adresse Abdeckung Polsterung
Einige Datenformate sind 16 Bit breit und werden automatisch mit 0xFF-Bytes gefüllt, wenn dies der Fall ist
Es ist notwendig, die andere Hälfte eines Wortes auszufüllen, die nicht in den Daten enthalten ist. Wenn du musst
Um einen anderen Wert einzugeben, können Sie einen Befehl wie diesen verwenden:
srec_cat im Ordner -fill 0x0A \
-innerhalb im Ordner -range-padding 2 \
-o Outfile
Dadurch erhält der Füllfilter einen Adressbereich, der aus Details der Eingabedatei berechnet wird.
Der Adressbereich umfasst alle Adressbereiche, die von den Daten im abgedeckt werden im Ordner, erweitert
nach unten (falls erforderlich) am Anfang jedes Teilbereichs auf ein 2-Byte-Vielfaches und erweitert
nach oben (falls erforderlich) am Ende jedes Teilbereichs auf ein 2-Byte-Vielfaches. Das funktioniert auch
für größere Vielfache, z. B. 1-kB-Seitengrenzen von Flash-Chips. Dieser Adressbereich wird aufgefüllt
Funktioniert überall dort, wo ein Adressbereich erforderlich ist.
Füllen mit Urheberrecht
Es ist möglich, ungenutzte Teile Ihres EPROMs mit einer sich wiederholenden Copyright-Meldung zu füllen.
Jeder, der versucht, Ihre EPROMs zurückzuentwickeln, wird den Urheberrechtshinweis sehen
ihr Hex-Editor.
Dies wird mit zwei Eingabequellen erreicht, einer aus einer Datendatei und einer solchen
im laufenden Betrieb generiert.
srec_cat im Ordner \
-generate '(' 0 0x100000 -minus -within im Ordner ')' \
-repeat‐string „Copyright (C) 1812 Tschaikowsky. ' \
-o Outfile
Beachten Sie den Adressbereich für die Datengenerierung: Er übernimmt den Adressbereich Ihres
EPROM, in diesem Fall 1 MB, beginnend bei 0, und subtrahiert davon die von verwendeten Adressbereiche
die Eingabedatei.
Wenn Sie dies mit dem aktuellen Jahr skripten möchten (da 1812 etwas veraltet ist), verwenden Sie
die Fähigkeit der Shell zur Ausgabesubstitution (Backticks):
srec_cat im Ordner \
-generate '(' 0 0x100000 -minus -within im Ordner ')' \
-repeat‐string „Copyright (C) `date +%Y` Tchaikovsky. " \
-o Outfile
Die angegebene Zeichenfolge wird immer wieder wiederholt, bis alle Lücken gefüllt sind.
Verschleiernd mit Lärm
Manchmal möchten Sie Ihre EPROM-Bilder mit Rauschen füllen, um die tatsächlichen Daten zu verbergen
stoppt und startet. Sie können dies mit dem tun -zufällige Füllung Filter.
srec_cat im Ordner -zufällige Füllung 0x200000 0x300000 \
-o Outfile
Es funktioniert genau wie das -füllen Filter, verwendet jedoch Zufallszahlen anstelle eines konstanten Bytes
Wert.
Füllen Mit 16-Bit Wörter
Wenn das Bild mit einem konstanten Bytewert gefüllt wird, funktioniert das nicht und Sie benötigen eine Konstante
Verwenden Sie stattdessen den 16-Bit-Wortwert -Daten wiederholen Generator, was beliebig lange dauert
Folge von Bytes, die als Füllmuster verwendet werden sollen:
srec_cat im Ordner \
-generator '(' 0x200000 0x300000 -minus -within im Ordner ')' \
-repeat‐data 0x1B 0x08 \
-o Outfile
Beachten Sie, dass der Adressbereich des Generators erneut die von belegten Adressbereiche vermeidet
die im Ordner's Daten. Sie müssen selbst für die Endian-Näherung sorgen.
EINFÜGEN KONSTANTE DATEN
Von Zeit zu Zeit möchten Sie konstante Daten oder Daten einfügen, die nicht von Ihnen erstellt wurden
Compiler oder Assembler, laden Sie Bilder in Ihr EPROM.
Binär Meint Wörtlich
Eine einfache Möglichkeit besteht darin, die gewünschten Informationen in einer Datei zu haben. Zum Einfügen der Dateien
Inhalte wörtlich, ohne Formatinterpretation, verwenden Sie die binär Eingabeformat:
srec_cat im Ordner -binär -o Outfile
Es wird wahrscheinlich notwendig sein, eine zu verwenden Offset Filtern Sie, um die Daten dorthin zu verschieben, wo Sie möchten
Ich möchte es tatsächlich im Bild haben:
srec_cat im Ordner -binary -offset 0x1234 -o Outfile
Es ist auch möglich, die Standardeingabe als Datenquelle zu verwenden, was sich anbietet
wird geskriptet. Um beispielsweise das aktuelle Datum und die aktuelle Uhrzeit in eine EPROM-Ladedatei einzufügen,
Du könntest eine Pipe verwenden:
Datum | srec_cat - -bin -offset 0xFFE3 -o Outfile
Der spezielle Dateiname „-“ bedeutet, dass aus der Standardeingabe gelesen wird. Die Ausgabe der Datum
Der Befehl ist immer 29 Zeichen lang und wird durch den angezeigten Offset am Anfang von a platziert
64-KB-EPROM-Image.
Die Wiederholung Sobald
Die Füllen mit Urheberrecht Der obige Abschnitt zeigt, wie man eine Zeichenfolge immer wieder wiederholt. Wir
kann eine einzelne Wiederholung verwenden, um eine Zeichenfolge nur einmal einzufügen.
srec_cat -generate 0xFFE3 0x10000 -repeat‐string „`date`“ \
-o Outfile
Beachten Sie, dass der Adressbereich für die Datengenerierung genau mit der Länge des übereinstimmt
Datum(1) Ausgabegröße. Sie können Ihre Eingabedatei natürlich oben hinzufügen srec_cat(1)
Befehl, um Ihr EPROM-Image zusammen mit Datum und Uhrzeit zu verketten.
Einsetzen A lang
Eine andere Möglichkeit besteht darin, die Subversion-Commit-Nummer zu Ihrem EPROM-Image hinzuzufügen. In diesem
Beispielsweise fügen wir es als 4-Byte-Little-Endian-Wert an der Adresse 0x0008 ein. Der
Die Subversion-Commit-Nummer befindet sich in der $ version Shell-Variable in diesem Beispiel:
srec_cat -generate 0x0008 0x000C -l‐e‐constant $version 4 \
im Ordner -exclude 0x0008 0x000C \
-o Outfile
Beachten Sie, dass wir einen Filter verwenden, um sicherzustellen, dass in der Eingabe eine Lücke vorhanden ist, in der sich die Versionsnummer befindet
geht, nur für den Fall, dass der Linker dort etwas platziert.
DATEN ÜBER UNS DATEN
Es ist möglich, der Ausgabe verschiedene Daten zu den Daten hinzuzufügen.
Prüfsummen
Die -Big-Endian-Prüfsumme-negativ Der Filter kann verwendet werden, um die Daten zu summieren und dann einzufügen
Negativ der Summe in die Daten ein. Dies hat den Effekt, dass die Summierung auf Null erfolgt, wenn die
Die Prüfsumme selbst wird summiert, sofern die Summenbreite mit der Breite des eingefügten Werts übereinstimmt.
srec_cat im Ordner \
-crop 0 0xFFFFFC \
-random‐fill 0 0xFFFFFC \
-b‐e‐checksum‐neg 0xFFFFFC 4 4 \
-o Outfile
In diesem Beispiel haben wir ein EPROM im niedrigsten Megabyte Speicher. Der -crop-Filter
stellt sicher, dass wir die Daten nur im EPROM summieren und nicht anderswo. Der
-Random-Fill-Filter füllt alle Lücken in den Daten mit Zufallswerten. Schließlich ist das -b‐
Der E-Checksum-Neg-Filter fügt am Ende eine 32-Bit-Prüfsumme (4 Byte) im Big-Endian-Format ein
4 Bytes des EPROM-Images. Natürlich gibt es eine Little-Endian-Version dieses Filters als
Gut.
Ihr eingebetteter Code kann das EPROM mit C-Code ähnlich dem folgenden überprüfen:
unsigned long *begin = (unsigned long *)0;
unsigned long *end = (unsigned long *)0x100000;
vorzeichenlose lange Summe = 0;
while (Anfang < Ende)
sum += *begin++;
if (Summe != 0)
{
Hoppla
}
Die -big-endian-checksum-bitnot Filter ist ähnlich, außer dass die Prüfsumme summiert wird
sollte einen Wert ergeben, der nur aus Einsen besteht (−1). Verwenden Sie beispielsweise Shorts statt Longs:
srec_cat im Ordner \
-crop 0 0xFFFFFE \
-fill 0xCC 0x00000 0xFFFFFE \
-b‐e‐checksum‐neg 0xFFFFFE 2 2 \
-o Outfile
Vorausgesetzt, Sie haben den richtigen Endianness-Filter ausgewählt, kann Ihr eingebetteter Code das EPROM überprüfen
Verwenden von C-Code ähnlich dem folgenden:
unsigned short *begin = (unsigned short *)0;
unsigned short *end = (unsigned short *)0x100000;
vorzeichenlose Kurzsumme = 0;
while (Anfang < Ende)
sum += *begin++;
if (Summe != 0xFFFF)
{
Hoppla
}
Da ist auch ein -b-e-Prüfsumme-positiv Filter und einen passenden Little-Endian-Filter, der
fügt die einfache Summe ein und würde in C mithilfe eines Gleichheitstests überprüft.
srec_cat im Ordner \
-crop 0 0xFFFFFF \
-fill 0x00 0x00000 0xFFFFFF \
-b‐e‐checksum‐neg 0xFFFFFF 1 1 \
-o Outfile
Vorausgesetzt, Sie haben den richtigen Endianness-Filter ausgewählt, kann Ihr eingebetteter Code das EPROM überprüfen
Verwenden von C-Code ähnlich dem folgenden:
unsigned char *begin = (unsigned char *)0;
unsigned char *end = (unsigned char *)0xFFFFF;
vorzeichenlose Zeichensumme = 0;
while (Anfang < Ende)
sum += *begin++;
if (Summe != *Ende)
{
Hoppla
}
Im 8-Bit-Fall spielt es keine Rolle, ob Sie Big-Endian oder Little-Endian verwenden
Filter.
Schnellen Hex-Dump
Sie können die Prüfsumme Ihrer Daten anzeigen, indem Sie das Ausgabeformat „Hex-Dump“ verwenden. Das ist
Nützlich zum Betrachten berechneter Werte oder zum Debuggen eines srec_cat(1) Befehl vorher
es in einem Drehbuch verewigen.
srec_cat im Ordner \
-crop 0 0x10000 \
-fill 0xFF 0x0000 0x10000 \
-b‐e‐checksum‐neg 0x10000 4 \
-crop 0x10000 0x10004 \
-o - -hex-dump
Dieser Befehl liest die Datei ein, bildet die Prüfsumme der Daten und setzt die Prüfsumme auf 0x10000.
schneidet das Ergebnis so zu, dass es nur die Prüfsumme enthält, und gibt die Prüfsumme dann auf dem aus
Standardausgabe im klassischen hexadezimalen Dump-Format. Der spezielle Dateiname „-“ bedeutet
„die Standardausgabe“ in diesem Zusammenhang.
Zyklisch Redundanz Schecks
Die einfachen additiven Prüfsummen weisen eine Reihe theoretischer Einschränkungen auf, die mit Fehlern zusammenhängen
sie können es erkennen und können es nicht erkennen. Die CRC-Methoden weisen weniger Probleme auf.
srec_cat im Ordner \
-crop 0 0xFFFFFC \
-fill 0x00 0x00000 0xFFFFFC \
-b‐e‐crc32 0xFFFFFC \
-o Outfile
Im obigen Beispiel haben wir ein EPROM im niedrigsten Megabyte des Speichers. Der -Ernte Filter
stellt sicher, dass wir die Daten nur im EPROM summieren und nicht anderswo. Der -füllen
Der Filter füllt alle Lücken in den Daten. Endlich, das -b‐e‐Prüfsummeneg Filtereinsätze a
32-Bit-Prüfsumme (4 Byte) im Big-Endian-Format in den letzten 4 Bytes des EPROM-Images.
Natürlich gibt es auch eine Little-Endian-Version dieses Filters.
Die Prüfsumme wird mithilfe des branchenüblichen 32-Bit-CRC berechnet. Weil SRecord ist
Open Source, Sie können jederzeit den Quellcode lesen, um zu sehen, wie er funktioniert. Es gibt viele nicht‐
GPL-Versionen dieses Codes sind im Internet verfügbar und zum Einbetten geeignet
proprietäre Firmware.
Es ist auch ein 16-Bit-CRC verfügbar.
srec_cat im Ordner \
-crop 0 0xFFFFFE \
-fill 0x00 0x00000 0xFFFFFE \
-b‐e‐crc16 0xFFFFFE \
-o Outfile
Die Prüfsumme wird nach der CCITT-Formel berechnet. Weil SRecord Open Source ist, Sie
Sie können jederzeit den Quellcode lesen, um zu sehen, wie er funktioniert. Es gibt viele Nicht-GPL-Versionen von
Dieser Code ist im Internet verfügbar und für die Einbettung in proprietäre Firmware geeignet.
Sie können den CRC Ihrer Daten anzeigen, indem Sie das Ausgabeformat „Hex-Dump“ verwenden.
srec_cat im Ordner \
-crop 0 0x10000 \
-fill 0xFF 0x0000 0x10000 \
-b‐e‐crc16 0x10000 \
-crop 0x10000 0x10002 \
-o - -hex-dump
Dieser Befehl liest die Datei ein, berechnet den CRC der Daten und platziert den CRC bei
0x10000, schneidet das Ergebnis so zu, dass es nur den CRC enthält, und druckt dann die Prüfsumme darauf
Standardausgabe im klassischen hexadezimalen Dump-Format.
COHO Expo bei der Is My Daten?
Es gibt mehrere Eigenschaften Ihres EPROM-Images, die Sie möglicherweise in das einfügen möchten
Daten.
srec_cat im Ordner -b-e-Minimum 0xFFFE 2 -o Outfile
Das obige Beispiel fügt die minimale Adresse der Daten ein (niedrig Wasser) in die Daten, als
zwei Bytes in Big-Endian-Reihenfolge an der Adresse 0xFFFE. Dazu gehört auch das Minimum selbst. Wenn
Da die Daten bereits Bytes an der angegebenen Adresse enthalten, müssen Sie einen Ausschlussfilter verwenden.
Die Anzahl der Bytes beträgt standardmäßig 4.
Da ist auch ein -l-e-Minimum Filter zum Einfügen von Little-Endian-Werten und zwei weitere
Filter genannt -b-e-exklusives Minimum und -l-e-exklusives-Minimum das beinhaltet nicht die
Minimum selbst bei der Berechnung der minimalen Datenadresse.
srec_cat im Ordner -b‐e‐maximum 0xFFFFFC 4 -o Outfile
Das obige Beispiel fügt die maximale Adresse der Daten ein (Highs Wasser + 1, so wie
Adressbereiche) in die Daten ein, als vier Bytes in Big-Endian-Reihenfolge an der Adresse 0xFFFFFC.
Dazu gehört auch das Maximum selbst. Wenn die Daten zum angegebenen Zeitpunkt bereits Bytes enthalten
Adresse, Sie müssen eine verwenden -ausschließen Filter. Die Anzahl der Bytes beträgt standardmäßig 4.
Da ist auch ein -l-e-maximum Filter zum Einfügen von Little-Endian-Werten und zwei weitere
Filter genannt -b-e-exklusiv-maximum und -l-e-exklusiv-maximum das beinhaltet nicht die
Maximum selbst bei der Berechnung der maximalen Datenadresse.
srec_cat im Ordner -b-e-length 0xFFFFFC 4 -o Outfile
Das obige Beispiel fügt die Länge der Daten ein (Highs Wasser + 1 − niedrig Wasser) in die
Daten, als vier Bytes in Big-Endian-Reihenfolge an der Adresse 0xFFFFFC. Dazu gehört auch die Länge
selbst. Wenn die Daten bereits Bytes an der Längenposition enthalten, müssen Sie eine verwenden
-ausschließen Filter. Die Anzahl der Bytes beträgt standardmäßig 4.
Da ist auch ein -l-e-Länge Filter zum Einfügen einer Little-Endian-Länge und der -Sei-
exklusive Länge und -l-e-exklusive-Länge Filter, die die Länge selbst nicht enthalten
bei der Berechnung.
Was Format Is Dieses?
Sie können verschiedene Informationen über eine EPROM-Ladedatei erhalten, indem Sie die verwenden srec_info(1)
Befehl. Zum Beispiel:
$ srec_info example.srec
Format: Motorola S-Record
Header: "http://srecord.sourceforge.net/"
Startadresse der Ausführung: 00000000
Daten: 0000 - 0122
0456 - 0FFF
$
Dieses Beispiel zeigt, dass es sich bei der Datei um einen Motorola S-Record handelt. Der Text im Dateikopf lautet
zusammen mit der Startadresse der Ausführung ausgedruckt. Der letzte Abschnitt zeigt die Adresse
Bereiche, die Daten enthalten (die Obergrenze jedes Teilbereichs ist inexklusiv, statt der
exExklusive Form, die in der Befehlszeile verwendet wird.
$ srec_info some-seltsam-file.hex -vermuten
Format: Signetik
Daten: 0000 - 0122
0456 - 0FFF
$
Das obige Beispiel errät das EPROM-Ladedateiformat. Es ist nicht unfehlbar, aber normalerweise
macht es richtig. Sie können verwenden -vermuten Überall würde man ein explizites Format angeben, aber es
ist tendenziell langsamer und wird aus diesem Grund nicht empfohlen. Auch für automatisierte Builds
Systeme wollen Sie so früh wie möglich schwere Fehler; wenn eine Datei nicht im erwarteten Zustand ist
Format, Sie möchten, dass es kotzt.
ZERSTÖREN DATEN
Es gibt verschiedene Möglichkeiten, die Werte der Datenbytes zu ändern.
srec_cat im Ordner -und 0xF0 -o Outfile
Das obige Beispiel führt eine bitweise UND-Verknüpfung der Datenbytes mit der 0xF0-Maske durch. Der
Die Adressen der Datensätze bleiben unverändert. Ich kann mir eigentlich keine Verwendung für diesen Filter vorstellen.
srec_cat im Ordner -oder 0x0F -o Outfile
Das obige Beispiel führt eine bitweise ODER-Verknüpfung der Datenbytes mit den 0x0F-Bits durch. Der
Die Adressen der Datensätze bleiben unverändert. Ich kann mir eigentlich keine Verwendung für diesen Filter vorstellen.
srec_cat im Ordner -xor 0xA5 -o Outfile
Das obige Beispiel führt ein bitweises Exklusiv-ODER der Datenbytes mit den 0xA5-Bits durch.
Die Adressen der Datensätze bleiben unverändert. Sie könnten dies verwenden, um den Inhalt von zu verschleiern
Ihr EPROM.
srec_cat im Ordner -nicht -o Outfile
Das obige Beispiel führt ein bitweises NOT der Datenbytes durch. Die Adressen der Datensätze sind
unverändert. Sicherheit durch Dunkelheit?
URHEBERRECHT
srec_cat Version 1.58
Urheberrecht (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
2010, 2011 Peter Müller
Die srec_cat Programm kommt mit ABSOLUT KEINE GARANTIE; für Details verwenden Sie die 'srec_cat
-Ausführung Lizenz' Befehl. Dies ist kostenlose Software und Sie können sie gerne weiterverteilen
unter bestimmten Bedingungen; für Details verwenden Sie die 'srec_cat -Ausführung Lizenz' Befehl.
Verwenden Sie srec_examples online über die Dienste von onworks.net
