Liste der Anhänge anzeigen (Anzahl: 1)
Hio. Ich hab jetzt bissel rumgespielt und endlich ne hex-Datei bekommen. Nur ist die irgendwie (im Vergleich zur bin-Datei) riesig?! Ganze 4,6KB für 'n paar Zeilen Code. (Bevor die Frage kommt:Code Stammt von www.qfix.de und dient zum Testen des Crash-Bobby. Dort ISO-Datei runterladen, dann brennen oder als virtuelles Laufwerk einrichten und man hat den Code. Ist aus dem Ordner bobbyTest (/software/bobbyTest).). Ich erzeuge die hex dann so...
Ich hab die BAT-Datei (die auch im Ordner bobbyTest ist) ein bisschen modifiziert und zwar so:
@echo off
set TARGET=Shadowstriker
set CONTROLLER=atmega32
set INCLUDE=../include
<nul (set/p z=Clean... )
if exist %TARGET%.bin del %TARGET%.bin
echo OK
<nul (set/p z=Build... )
avr-g++ -c -o %TARGET%.o -g -O2 -Wall -I%INCLUDE% -mmcu=%CONTROLLER% %TARGET%.cpp
avr-g++ -g -Wall -O2 -mmcu=%CONTROLLER% -o %TARGET%.elf %TARGET%.o
avr-objcopy -j .text -j .data -O binary %TARGET%.elf %TARGET%.bin
echo OK
:End
Das kommt also alles in ne BAT-Datei rein und wird mit der Console (cmd.exe) ausgeführt. Danach findet man nen haufen Dateien in dem Ordner aus welchem die BAT-Datei aufgerufen wurde, wenn alles geklappt hat. Und dann ruf ich mein Makefile auf. Das erzeugt dann die Hex... Und die ist (im Vergleich zur produzierten BIN-Datei die man ja auch auf den Bobby laden kann) extrem groß. Was mach ich falsch??
Grüße
Lutz
Liste der Anhänge anzeigen (Anzahl: 1)
Hio. Also ich hab jetzt nochmal ne HEX erstellt und das avr-size (ich hoffe das ist das besagt Script, oder der Aufruf davon) aufgerufen und folgendes Ergebnis erhalten:
...
hex 689 ....
...
(Mehr siehe Bild im Anhang. Drüber sieht man auch noch das Ergebnis des make-Aufrufs). Heißt das jetzt die HEX-Datei ist 689 Bytes, Bits (ne Einheit wäre schön :)), oder was?
Grüße
Lutz
Liste der Anhänge anzeigen (Anzahl: 2)
Hio. Also mir ist das jetzt nicht so klar...
1.Wenn ich in der Console “make sizeafter” eingebe kommt zwar ein Output, aber der sieht ganz anders aus, als der von OldBug . Siehe dazu Bild make_sizeafter.jpg. Was mach ich den Falsch?? (Warum zeigt die Console immer nur Blablabla.elf an? Ich will doch aber Blablabla.hex. Ich bin an jeglichem Versuch gescheitert make sizeafter die HEX zu übergeben)...
2.Nach dem Output von a.jpg müsst das Programm ja dann (9326 / 1048 ) ca. 8,9 kB Speicher fressen!? Kann das sein??
3.Ich glaub ich mach da ja selber irgendwo nen Fehler. Ich ruf ja immer die BAT-Datei vor dem make auf. Die erzeugt mir dann Dateien, die von make benötigt werden. Erst dann ruf ich die Makedatei auf. Ist das vielleicht falsch?? Schauht euch doch bitte die beiden Dateien nochma an (ein paar Postings höher in Dateien.zip)...
4.Einfach so zum Test bin ich mal in den WinAVR\examples\demo-Ordner gegangen. Hab dann in der Console make aufgerufen. Es gab dann auch schön ne HEX-Datei. Beim Versuch make sizeafter aufzurufen gab's folgende Meldung: „make: *** No rule to make target 'sizeafter'. Stop“. Liegt das vielleicht daran, dass das Makefile sich ziemlich vom meinem (ich hab das Standardmakefile vom MFile verwendet und bissel modifiziert) unterscheidet??
Wenn ihr ganz nett sein wollt und einem verzeifeltem Schüler helfen wollt, dann schreibt mir doch einfach ne Liste, wo alles drin steht, was ich wie wo und wann tun soll. :D Danke! Ambesten wäre natürlich Beispielcode und dann könnt ma nen kleines Tut machen und das im Forum posten und niemand wird die Frage mehr stellen :)...
Grüße
Lutz