Forum: Mikrocontroller und Digitale Elektronik Binärdateien mit Offset verbinden und 0xff Default


von Binary (Gast)


Lesenswert?

Hallo,

ich möchte mehrere Binärdateien, die Funktional die Elemente, 
Bootloader, Applikation, Defaultwerte etc. repräsentieren miteinander 
verbinden und ein gesammeltes File in einen Controller spielen.

Nun sind die Dateien leider nicht exakt so groß, wie die 
Flash-Sektorgrenzen, d.h. ein einfaches Konkatieren geht nicht, weil 
noch ein paar 0xff zwischengefüllt werden müssen.
Die Applikation startet z.B. bei 0x1000, der Bootloader, der bei 0x0000 
startet, ist aber nur 3k groß, folglich müssen ein paar 0xff 
zwischengefülllt werden.

Dafür gibt es doch sicher ein Programm, das diese Aufgabe erfüllen kann?

von Jim M. (turboj)


Lesenswert?

Das "objcopy" aus binutils, das beim gcc immer mit dabei ist, kennt den 
Parameter "--gap-fill=0xFF".

Hex oder ELF Dateien würden Dir hier die Arbeit erleichtern, denn damit 
lassen sich auch "Löcher" darstellen.

von Erich (Gast)


Lesenswert?

Binary schrieb:
> Dafür gibt es doch sicher ein Programm, das diese Aufgabe erfüllen kann?

SRECORD
http://srecord.sourceforge.net/

Bei Binärdateien jeweils mit der Option -binary
Und bestimmt braucht es bei dir auch    -offset

Ähnliches Problem siehe bei
Beitrag "Re: Mit srec_cat Daten für EEPROM vorbereiten"

Gruss

von Nop (Gast)


Lesenswert?

Haha, srecord. Wenn ich solche Juwelen auf der Webseite schon lese:

Windows Exes? "or you could consider upgrading to Linux".

"From time to time you will come across a feeble-minded EPROM programmer 
that can’t cope with long text lines, they assume that there will only 
ever be 46 characters per line and barf when they see the default line 
lengths that srec_cat(1) writes (or worse, get a stack scribble and 
crash)."

"Every once in a while you will come across an ancient daft EPROM 
programmer that can’t cope with long data records, they assume that 
there will only ever be at most 16 bytes of data per record, and barf 
when they see the default 32 byte payloads that srec_cat(1) writes (or 
worse, the buffer over-run causes a tall grass walk that scribbles on 
your EPROM)."

Software von pubertierenden 15-jährigen Vollpfosten. Jeder Programmierer 
mit mehr Verstand als Ego hätte 16 Bytes pro Zeile gewählt, weil es am 
ehesten funktioniert. Aber absichtlich einen anderen Default zu wählen 
und sich daran hochzuziehen, wenn es nicht geht.. oh mann.

Ich würde solche Software nicht empfehlen.

von Erich (Gast)


Lesenswert?

Nop schrieb:
> Nop (Gast)

Hier geht es um -binary Dateien,
nach der Eingangsfrage.

Was dann ein Auszug aus der Bedienungsanleitung eines speziellen 
EEPROM-Programmiergeräts (der auch mit SRecord bewerkstelligt werden 
kann) damit zu tun hat, das ist wohl das Geheimnis von
> Nop (Gast)

Die Downloadseite für die Windows-Version von SRecord ist hier
http://srecord.sourceforge.net/windows.html
da es ja immer mehr Leute gibt die nicht 3 Zeilen tiefer lesen können.
Ist ja wahrscheinlich der bekannte 144-Zeichen-Überlauf.


Zu dem Satz
>Software von pubertierenden 15-jährigen Vollpfosten.
meine ich nur, daß allein die Ausdrucksweise des unpassenden Textes 
schon allerhand aussagt über den
> Nop (Gast)


https://en.wikipedia.org/wiki/Peter_Miller_(software_engineer)

Gruss

von Route_66 H. (route_66)


Lesenswert?


von Nop (Gast)


Lesenswert?

Erich schrieb:

> Was dann ein Auszug aus der Bedienungsanleitung eines speziellen
> EEPROM-Programmiergeräts

Das ist aus dem Manual von Srecord:
http://srecord.sourceforge.net/man/man1/srec_examples.html

> das ist wohl das Geheimnis von Nop (Gast)

Welcher in der Lage ist, manpages zu lesen - im Unterschied zu "Erich 
(Gast)".

von Erich (Gast)


Lesenswert?

Nop schrieb:
> Das ist aus dem Manual von Srecord:
> http://srecord.sourceforge.net/man/man1/srec_examples.html

Ja, und dieses Detail beschreibt, wie du selbst zitiert hast,
>>an ancient daft EPROM programmer
Wie man SRecord nutzen kann um mit solchen Geräten trotzdem arbeiten zu 
können.

Ein Zusammenhang mit der Frage des Threadstarters ist mit der paradoxen 
Antwort von
> Nop (Gast)
also nicht gegeben.

https://www.google.de/search?q=paradox

von Nop (Gast)


Lesenswert?

Erich schrieb:

> Wie man SRecord nutzen kann um mit solchen Geräten trotzdem arbeiten zu
> können.

Es ist weniger eine Beschreibung als eine pubertierende 
Selbstbeweihräucherung. Zudem, WENN man schon weiß, daß es mit 
bestimmten Geräten Probleme gibt bei 32 Byte pro Zeile und mit 16 nicht, 
dann würde jeder Programmierer mit etwas Grips im Kopf die 16 Byte als 
Default wählen.

Aber nein, die obercoolen Pfosten von srecord lassen den Nutzer lieber 
erstmal in Probleme rennen, damit sie über die Entwickler jener 
Programmer ablästern können, dann dürfen die Nutzer erstmal manpages 
studieren und dann nochmal flashen. Und genau deswegen würde ich 
Software von solchen Leuten nicht empfehlen, weil ja wohl die ganze 
Software mit dieser Haltung zusammengepfuscht wurde.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.