www.mikrocontroller.net

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


Autor: einsteiger (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Stephan Henning (stephan-)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: ARM-Fan (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: ARM-Fan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ASCII sollte das heißen... ;-)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.