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

Moderator (Firma: Titel) Persönliche Seite #2561334
Lesenswert?

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
Lesenswert?

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
Lesenswert?

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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren