Forum: Mikrocontroller und Digitale Elektronik Tatsächliche size des Maschinencodes


von Chris (Gast)


Lesenswert?

Wenn man seinen Code Compiliert erhält man ein hex file das meißtens im
Intel Hex format ist.

Dort sind noch zusätzlich weitere Infos miteingepackt.

Wie kann ich jetzt genau feststellen wieviel Byte bzw. kb mein
Maschinencode hat?

mfg

von peter dannegger (Gast)


Lesenswert?

Bin = Hex / 2,8


Peter

von Stefan M. (Gast)


Lesenswert?

avr-size *.hex
bzw.
avr-size *.*

is teil von avr studio 4.x

von Klaus F. (Gast)


Lesenswert?

Mit geeigneten Tools kann man .HEX  Dateien in Binärdateien umwnandeln,
z.B. mit  http://www.winhex.de/

1.) WinHex installieren
2.) .HEX Datei mit WinHex öffnen
3.) Bearbeiten - Konvertieren - "Intel-Hex -> Binär"
4.) Ergebnisdatei wahlweise als  .BIN abspeichern.

Kann auch andere Formate wandeln ; auch umgekehrt.

In .HEX Dateien (etc.) können jedoch auch Lücken sein, sodaß bei der
Wandlung eine viel größere .BIN Datei herauskommt.
Dies passiert regelmäßig, wenn Teile der .HEX Datei z.B. bei 0x0000
beginnen (Programmbereich), andere Teile aber "oben" bei z.B. 0xFF00
angesiedelt sind.
Dann kann aus einer "kurzen" .HEX Datei ganz schnell eine .BIN mit 64
kByte werden.

von Chris (Gast)


Lesenswert?

avr-size *.hex
bzw.
avr-size *.*

is teil von avr studio 4.x

wo gibt man das ein?

Danke für eure beiträge...

von crazy horse (Gast)


Lesenswert?

normalerweise geht es auch ganz ohne weitere Hilfsmittel: im Listing
sieht man die physikalischen Adresse. Auch im Hex-File ist die Adresse
direkt sichtbar. Und da normalerweise aufsteigend adressiert, ist die
vorletzte Zeile auch die Startadresse der letzten Bytes.
Und wozu brauchst du das Ganze überhaupt?

von Chris (Gast)


Lesenswert?

Weil es mich einfach interresiert wieviel speicherplatz ich mit meinem
Programm jetzt abdecke.

Kann ja mal sein das ich ein größeres programm schreibe und da ist das
ganz gut wenn man ein bisschen einen überblick hat.

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.