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!
Das *.hex file ist doch das Programm oder versteh ich was falsch? Größe vom *.hex file = Programmgröße ?
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
@Walter Oder nimm ein Konvertierungsprogramm (z.B. HEX2BIN), dann siehst Du den kompletten Speicherbedarf.
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... ...
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.