Hallo Forum,
ich bin schon die ganze Zeit am rumsuchen, wie ich
anhand eines .hex-Files den tatsächlich
benötigten Speicherplatz von einem Atmel ATmega8 feststellen kann.
Hab schon mit avr-size -C --mcu=atmega8 Testprogramm.hex
herumexperimentiert, kam aber leider zu keinem Ergebnis.
Vielleicht kann mir einer von Euch Spezialisten weiterhelfen.
Danke schon mal im Voraus!
Bastler wrote:
> Das *.hex file ist doch das Programm oder versteh ich was falsch?> Größe vom *.hex file = Programmgröße ?
Nicht ganz, da ist noch ein wenig Overhead mit dabei.
Ansonsten steht die Größe des Programms im MAP-File.
Ich hätte mal gemeint: im Hexfile steht z.B. 12 34 56 78 9A usw. Dann
ist jedes Byte fürs Programm im Hexfile 3 Byte lang - zwei Ziffern und
ein Blank.
Da ich ATMEL HEX Files nicht kenne: in anderen ist oft auch noch pro
Zeile eine Adressangabe vorhanden. Die müsste dann ebfalls abgezogen
werden.
Hallo,
ich frage mich im Moment: wozu?
Wenn das .hex ein Programm für einen Mega8 ist, muß es passen.
Ansonsten sagt ja der Compiler/Assembler, wie die Belegung ist, beim
Erzeugen des .hex.
Wenn es für eine andere CPU ist, nutzt es im Mega8 nichts.
Ansonsten: .hex aufmachen mit einem Texteditor Deiner Wahl.
Formatbeschreibungen liegen im Internet (gibt verschiedene, meist
Intel-Hex).
Startadresse schauen, wo der Inhalt hin soll, Endadresse schauen, wo es
endet und ausrechenen, wie groß die Diferenz ist.
Gruß aus Berlin
Michael
Hallo,
eigentlich schon. Aber auf dem Rechner wird das Hex-File größer
abgespeichert als es Platz auf dem Mikrocontroller einnimmt.
Hab in diesem Forum gelesen, dass ein Hex-File ca. die dreifache Größe
hat, als es später im Controller benötigt. Ich hätte jetzt nur gerne
gewusst, wie ich dies konkret feststellen kann. Bin auf der Suche nach
einer exakten Aussage und keiner Daumenregel mit Circa-Angaben.
Vielleicht haben die Spezialisten hier einen Tip oder einen Link auf
eine Software. Theoretisch müßte es auch AVR-Studio können, oder?
Hi Walter,
falls Dein Programm keine ungenutzten "Lücken" im Flash hat, kannst Du
die HEX-Datei mit ReAVR ( http://avr.jassenbaum.de/ja-tools/reavr.html)
öffnen. Dort steht die letzte benutzte Adresse am Ende. Dann brauchst Du
nur noch die Startadresse zu subtrahieren. Einen direkteren Weg kenne
ich nicht, da ich das AVR Studio verwende, was die Dateigröße beim
Assemblieren oder Kompilieren angibt.
Gruß
Fred
Was soll denn das Theater immer?
Guckt euch doch einfach mal 5 Minuten an, WAS ein HEX-File überhaupt
ist.
http://en.wikipedia.org/wiki/.hex
Dann ist euch klar wieso das größer ist als die eigentlichen Binärdaten.
Und außerdem wie man daraus auf die Speicherbelegung zurückschließen
kann - warum auch immer man das tun will.
Hallo ARM-Fan (Gast),
jetzt mal ganz langsam...! Ruhig durchatmen!
Bis hierher war eigentlich noch gar kein Theater,
finde ich. Zum Theater hast Du meiner Meinung nach am Meisten
beigetragen.
Ich hab das Problem ein Hex-File zu haben, dass von einem anderen
generiert wurde. Jetzt möchte ich eben wissen, welchen Controller ich
bezüglich Speichergröße auswählen muss, um genügend Platz zu haben.
Dazu muss ich wissen, was z.B. bei 15 kByte als hex-File der Chip an
Platz
bieten muss!
Also dann servus
Walter P. wrote:
> Hallo ARM-Fan (Gast),>> jetzt mal ganz langsam...! Ruhig durchatmen!> Bis hierher war eigentlich noch gar kein Theater,> finde ich. Zum Theater hast Du meiner Meinung nach am Meisten> beigetragen.
Jetzt bist Du aber total ungerecht!
>> Ich hab das Problem ein Hex-File zu haben, dass von einem anderen> generiert wurde. Jetzt möchte ich eben wissen, welchen Controller ich> bezüglich Speichergröße auswählen muss, um genügend Platz zu haben.> Dazu muss ich wissen, was z.B. bei 15 kByte als hex-File der Chip an> Platz> bieten muss!
Alle Informationen, die Du zur Lösung Deines Problems brauchst, sind in
diesem Thread bereits genannt worden. Also nutze sie! Oder brauchst Du
auch zum Pullern fremde Hilfe?
>> Also dann servus
...
Wenn Du ein fremdes Programm nutzen willst, solltest Du noch etwas mehr
wissen, als nur die Speichergröße. Da wären auch die verwendeten
Ressourcen interessant.
Gruß Matthias
> Ich hab das Problem ein Hex-File zu haben, dass von einem anderen> generiert wurde. Jetzt möchte ich eben wissen, welchen Controller ich> bezüglich Speichergröße auswählen muss, um genügend Platz zu haben.> Dazu muss ich wissen, was z.B. bei 15 kByte als hex-File der Chip an> Platz> bieten muss!
Das hex-File wurde für EINEN bestimmten Controller erstellt!
Da kann man nichts mehr auswählen, sondern nur DEN RICHTIGEN nehmen!
Hallo Hannes Lux,
falls ich ungerecht wirkte, muss ich mich entschuldigen.
Sorry!
Ich bin aber AVR-Einsteiger und hab eben einfach eine Frage
ans Forum gestellt. Ich kenn mich hald nicht so gut aus bisher!
Wenn dann ein Beitrag kommt, der ohne "Hallo" oder der gleichen
beginnt und den Anfangskommentar:
"Was soll denn das Theater immer?"
besitzt, ist das meiner Meinung nach auch nicht gerade freundlich, oder?
Ich denke wir sollten wieder zum fachlichen übergehen.
Habe natürlich die Hilfestellungen vom Forum bereits schon genutzt und
umgesetzt!
Danke nochmal und schönen Nachmittag.
Walter P. wrote:
> Hallo Hannes Lux,>> falls ich ungerecht wirkte, muss ich mich entschuldigen.
Bei mir brauchst Du Dich nicht entschuldigen, mir hast Du (noch) nichts
getan.
> Sorry!> Ich bin aber AVR-Einsteiger und hab eben einfach eine Frage> ans Forum gestellt.
Dummerweise eine Frage, die schon öfters gestellt und erschöpfend
beantwortet wurde.
> Ich kenn mich hald nicht so gut aus bisher!
Dann wird es Zeit zu lernen.
>> Wenn dann ein Beitrag kommt, der ohne "Hallo" oder der gleichen> beginnt und den Anfangskommentar:>> "Was soll denn das Theater immer?"
Naja, es nervt, wenn immer dieselben Fragen kommen.
Und es nervt auch, wenn erschöpfend (mit Links, Suchbegriffen oder
anderen Hinweisend) geantwortet wird und als Dankeschön Sprüche wie
diese kommen:
>> Bin auf der Suche nach>> einer exakten Aussage und keiner Daumenregel mit Circa-Angaben.
Mach Dich mit dem Format der Intel-Hex-Datei vertraut, dann wirst Du
sehen, dass es keinen korrekten Umrechnungsfaktor dafür gibt. Du wirst
dann schon die Datei analysieren müssen und die gewonnenen Informationen
entsprechend umsetzen müssen. Oder Du nimmst entsprechende Software wie
Disassembler (brauche ich z.B. nicht, da ich zu meinen HEX-Dateien auch
die ASM-Quelltexte habe), Konverter oder ISP-Programm.
Dazu kommt noch die Tatsache, dass Deine Frage völlig irrelevant ist. Du
musst die exakte Dateigröße nicht wissen, wenn Du weißt, dass die Datei
für einen Mega8 assembliert oder compiliert wurde. Dann passt sie eben
nur zum Mega8. Die AVRs sind soooo unterschiedlich in ihrer
Hardwareausstattung, dass man fertige HEX-Dateien nicht mehr für einen
anderen Typ verwenden kann.
>> besitzt, ist das meiner Meinung nach auch nicht gerade freundlich, oder?
Aber verständlich und nachvollziehbar. Mit etwas Sucherei hättest Du Dir
diese Frage sparen können, sie wurde bereits mehrfach gestellt und
beantwortet. So ein Forum ist nämlich eine Diskussionsplattform und
keine kostenlose Hotline für Faule.
> Ich denke wir sollten wieder zum fachlichen übergehen.
Ich denke, das Fachliche ist erledigt. Deine Frage ist beantwortet.
>> Habe natürlich die Hilfestellungen vom Forum bereits schon genutzt und> umgesetzt!
Na siehste, geht doch...
>> Danke nochmal und schönen Nachmittag.
...
Danke Hannes für die Schützenhilfe ;-)
Ich wollte ja nicht stänkern, aber:
Mit "ihr" und "Theater" meinte ich tatsächlich die immer
wiederkehrenden Fragen zu HEX-Dateien und deren Größen
und die noch alberneren Antworten wie "ungefähr 3x so groß...",
anstatt einfach Mal "hex file format" in google einzugeben und
zu schauen, was das eigentlich ist.
Hallo,
Walter P. schrieb:
>> Ich hab das Problem ein Hex-File zu haben, dass von einem anderen>> generiert wurde. Jetzt möchte ich eben wissen, welchen Controller ich>> bezüglich Speichergröße auswählen muss, um genügend Platz zu haben.>> Dazu muss ich wissen, was z.B. bei 15 kByte als hex-File der Chip an>> Platz>> bieten muss!
Bastler antwortete:
>Das hex-File wurde für EINEN bestimmten Controller erstellt!>Da kann man nichts mehr auswählen, sondern nur DEN RICHTIGEN nehmen!
Auf diesen Umstand hatte ich bereits im Posting vom 18.03.2008 13:22
hingewiesen...
Gruß aus Berlin
Michael
Nunja, wenn der Fragende auf seine eigentlich unnötige Frage
erschöpfende Antworten erhält und daraufhin auch noch die Antworter
maßregelt, als wäre er hier der Moderator, dann rutscht auch mir ein
dummer Spruch heraus...
Sorry, ich kann auch nicht aus meiner Haut...
...