Forum: Mikrocontroller und Digitale Elektronik größe von speicher und hex.file


von einsteiger (Gast)


Lesenswert?

Hi.
Ich hätte da mal ein Frage zur Größe von hex.files und der
Speichergröße von Microcontrollern.
Laut Datenblatt hat der ATmega169 16K Bytes In-System Programmable
Flash
und derATmega8 8K Bytes In-System Programmable Flash
Das sollte IMHO der Speicher sein, in dem mein Programm drin steht?
Jetzt habe ich mal ein kleines, wohl nicht ganz sauberes Programm
geschrieben das allerdings ein main.hex erzeugt, dass 32.2kB gross ist,
wenn man dem Dateimanager von Windows glauben darf.
Jetzt habe ich Angst, dass ich mir viel Mühe mit der Hardware mache und
das Programm am Ende da garnicht reinpasst.
Versuchsweise habe ich es jetzt mal in den 16K - Speicher des Butterfly
(ATmega169) geschrieben was zu meinem großen Erstaunen auch
funktionierte.
Das Hex-file. das ich zuvor zur Sicherheit von der Butterfly-Software
gelesen und danauch auch wieder dort reingeschrieben habe war mit 45KB
auch beutlich größer als die 16KB die laut Datenblatt in den controller
reinpassen.
Wie bekomme ich jetzt raus, ob mein programm in den Speicher passen
wird, oder nicht?

Das spuckt der compiler aus:
Size after:
main.elf  :
section             size       addr
.data              0xa54   0x800100
.text             0x283a        0x0
.bss                0xc9   0x800b54
.noinit              0x0   0x800c1d
.eeprom              0x0   0x810000
.debug_aranges      0x8c        0x0
.debug_pubnames    0x3db        0x0
.debug_info        0xb75        0x0
.debug_abbrev      0x406        0x0
.debug_line        0xeb0        0x0
.debug_str         0x3e0        0x0
Total             0x59c9

von Stephan H. (stephan-)


Lesenswert?

High Low Einsteiger,

wandle oder Speicher es ins BIN Format. dann solltest Du die richtige
Größe sehen. HEX Dateien haben auf Grund des Formates viel unnötige
Luft drin.

Stephan

von ARM-Fan (Gast)


Lesenswert?

Jag dein Hex-File z.B. mal hier durch

http://www.keil.com/download/docs/7.asp

und schau dir dann das enstandene _Binär_-File mal in der Größe an.
Hex-Files sind in ADCII codiert und enthalten zusätzlich noch
die Adressen, Prüfsummen, etc.

von ARM-Fan (Gast)


Lesenswert?

ASCII sollte das heißen... ;-)

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.