Größe der Binärdaten in einer HEX-Datei ermitteln

Gast #2561299
Hallo,

stehe im Moment vor dem Problem, dass ich eine HEX-Datei habe und daraus 
die tatsächliche Programmgröße (die Größe der Binärdaten auf dem 
Mikrocontroller) ermitteln will.
Wäre schön, wenn mir jemand einen Tipp geben könnte, wie ich das 
realisieren kann.
Moderator (Firma: Titel) Persönliche Seite #2561334
Ralf schrieb:
> wie man direkt aus der HEX-Datei ohne den Umweg über die AVR-Tools
> die Dateigröße auslesen kann?
Sieh dir die Dateiinfo zuur Hex-Datei im Eplorer an...
BTW: was willst du mit einer Dateigröße?

> Kennt vielleicht jemand eine Möglichkeit, wie man direkt aus der
> HEX-Datei ohne den Umweg über die AVR-Tools die Dateigröße auslesen
> kann?
Du meint die Speicherauslastung?
Faustformel: nimm etwas weniger als die Hälfte...
Und wenn du es genau wissen willst, dann machs wie beschrieben. Denn ich 
kann mit zwei "jumps" die Binärdatei ziemlich aufblasen: vom Resetvektor 
weg wird ans Speicherende gesprungen, und von dort wird in einer 
Schleife immer ans Speicherende gesprungen...
Damit ist die Binärdatei genauso lang wie dein uC Speicherplatz hat. Die 
Hex-Datei ist aber nur 2 Zeilen lang.   :-o
Gast #2561346
Ne, ich möchte die tatsächliche Programmgröße (die Größe der Binärdaten 
auf dem Mikrocontroller) aus der HEX-Datei herauslesen. Habe schon 
herausgefunden, dass in der HEX-Datei für jeden Datensatz eine Adresse 
vorhanden ist. Meine Programme beginnen immer an der Adresse 0x0000.

Die letzten Zeilen meiner Datei lauten z.B.
1
:1002A8005A65696368656E20676573656E64657411
2
:0402B8003A200000E8
3
:00000001FF

Wie kann ich, bzw. kann ich daraus die Größe der Binärdaten/der letzten 
Speicheradresse herausfinden?
Gast #2561365
Danke, hab's jetzt verstanden.

Ich nehme also die vorletzten Zeile der HEX-Datei
1
:0402B8003A200000E8
02B8 ist die Adresse der letzten Speicherzelle, dazu zähle ich noch die 
Anzahl der Bytes der letzten Zeile, die davor stehen (04).
Macht 02B8(696) + 4 = 700, was sich auch mit der Ausgabe des AVR-Studios 
deckt.

Danke.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 14 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.