ROM Atmega128

Gast #256363
Lesenswert?

Mal ne wahrscheinlich ganz doofe Frage. Ich chreibe hier nen Programm
für den Atmega128 mit Codevision AVR. Das inzwischen entstehende
HEX-File ist 112 kb gross und dass ROM-File 258 KB. Jetzt stellt sich
mir die Frage warum das ROM-File 258 KB ist, wenn der Atmega128 doch
nur 128 KB Programmspeicher hat ?  Kann mein HEX File dann doch größer
als 128 KB werden, das glaube ich fast garnicht, aber wo flasht der die
258 KB hin ?

Freudi
#256364
Lesenswert?

Das INTEL-HEX-Format (Google-Tip) ist eine Textdatei, die die Werte in
den einzelnen Bytes darstellt und dadurch einen großen Overhead hat.
Eine BIN-Datei würde der wahren Größe entsprechen.

Schau mal, ob und wo dein Compiler die Meldung ausgibt, wieviele Bytes
(Worte?) im Flash belegt sind.

...
Gast #256365
Lesenswert?

Oh schnelle Antwort. Danke. Sitze gerade nicht vor dem PC mit dem
Compiler. Schau nachher mal. Aber ich weiss das der Chipprogrammer nach
dem ROM File und dem EEP File fragt. Das ROm File hat 258 KB wo flasht
der das hin ? Oder mal präziser gefragt. Was ist denn im ROM File. Bis
heute bin ich davon ausgegangen, das das sozusagen der Inhalt des Flash
ist. ABer das kann ja dann nicht sein wenn das doppelt so gross ist.

Freudi
#256366
Lesenswert?

> Was ist denn im ROM File. Bis
> heute bin ich davon ausgegangen, das das sozusagen der Inhalt des
> Flash ist.

In der Datei ist Text.
Und dieser Text beschreibt nach einem festgelegten Protokoll Adresse
und Inhalt jeder einzelnen Speicherzelle. Weiterhin enthält der Text
noch Prüfsummen.

Frage doch mal Google nach dem oben genannten Suchtipp. Dann fällt es
dir wie Schuppen von den Augen...

...
#256367
Lesenswert?

Es gibt ja 2 Rom Files. Im *.bin sind die reinen Rohdaten enthalten, wie
sie spaeter auch im Flash legen. D.h. Groesse *.bin = Programmgroesse.

im *.hex dagegen befinden sich zu den Rohdaten auch noch die Adressen,
an die die einzelnen Bytes bzw. Bloecke geschrieben werden (dazu,
Checksummen etc.). Diese Informationen brauchen natuerlich Platz,
weswegen das *.hex File immer das ca. 2,8-Fache der Groesse des *.bin
Files besitzt.

http://www.keil.com/support/docs/1584.htm

Die Dateien lassen sich uebrigens einfach ineinander umwandeln.

MfG
Gast #256368
Lesenswert?

Danke für die Infos werde mal googlen. Habe jetzt auch die Stelle
gefunden in der CodeVision anzeigt wieviel Flash belegt ist. Das ist
einfach ein Thema um das ich mich noch nie gekuemmert habe, der
Programmspeicher war immer gross genug.

Dank an alle
Freudi

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