Hu. Kann mir den jemand diese Fragen noch beantworten...
a) Woher weiß ich, wie groß das Progrämmchen für den Bot im Speicher sein wird? (Genau so groß wie auf meiner Festplatte?)
b) Vielleicht ein kleiner Hinweis wie ich ne hex hinbekomm...
Hast du schonmal versucht C++-Code zu kompilieren oder vermutest du nur, dass C++ größeren Code erzeugt?
Nichts anderes habe ich vorhin behauptet. WinAVR beinhaltet jedoch neben dem Standard-C-Compiler auch noch einen C++-Compiler (der allerdings nicht standardkonform ist).Zitat von pebisoft
btw, "Standard" (nichts für Ungut).
Hu. Kann mir den jemand diese Fragen noch beantworten...
a) Woher weiß ich, wie groß das Progrämmchen für den Bot im Speicher sein wird? (Genau so groß wie auf meiner Festplatte?)
b) Vielleicht ein kleiner Hinweis wie ich ne hex hinbekomm...
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
Die Antowrt hatte ich bereits gegeben, aber offensichtlich war die "Elite" hier davon überzeugt, daß ein "Anhaltspunkt" alles notwendige aussagt... Na was solls...
[..] Signature failed to load!
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
Die Programmgröße ist "hexadezimal" 689
dezimal sind das 1688 Bytes. Im Konsolenfenster siehst du's ja
Als Hex-File braucht er dafür 4780 Bytes (properties)
mfg robert
Wer glaubt zu wissen, muß wissen, er glaubt.
...das mein ich!Code:AVR Memory Usage: ----------------- Device: attiny26 Program: 2636 bytes (128.7% Full) (.text + .data + .bootloader) Data: 0 bytes (0.0% Full) (.data + .bss + .noinit)
Mit aktuellem Makefile auch ohne rebuild mit "make sizeafter" auf den Bildschirm zu zaubern
[..] Signature failed to load!
also bei meiner Linux-Toolchain gibts ein »avr-size«. Dürfte unter Windows auch so heißen (ok, avr-size.exea) Woher weiß ich, wie groß das Progrämmchen für den Bot im Speicher sein wird? (Genau so groß wie auf meiner Festplatte?)
wenn mich mein Gedächtnis nicht gerade trügt ging das mit mfile resp. dem Makefile. Hab grad kein winavr-Projekt da, sonst könnte ich kurz nachgucken ...b) Vielleicht ein kleiner Hinweis wie ich ne hex hinbekomm...
Argl! Übersehen dass da noch / schon Antworten waren ... na ja, still for the record.
Wie man Fragen richtig stellt:
http://www.lugbz.org/documents/smart-questions_de.html
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. 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
Weiß den niemand bescheid?
Lesezeichen