Hallo Peter,
Ich hab die -Os jetzt zugefugt im Powerpoint.
http://home.planet.nl/~winko001/Asur...uInfPagFrm.htm
Gruss
Henk
Hallo Klaus_K,
Henk hat in seiner Power Point Dokumentation eine Fehler! Ich habe ihm das auch schon mitgeteilt. Der GCC (GNU-C-COMPILER) hat verschiedene Optimierungs-Stufen für die Code-Generierung. Bei der Einstellung [Project][Configuration Options] muss du die Optimization (Compiler-Optimierungs-Stufe) auf -Os stellen! Durch die Einstellung -Os optimiert der Compiler das Programm auf Size! Diese Optimierung solltest du immer wählen (auch für neue Projekte), da sie gleichzeitig auch sehr schnellen Code erzeugt. Du kannst ja mal ein wenig mit den Verschiedenen Optimierungs-Stufen experimentieren. Du solltest aber nach der Änderung zur erneuten Code-Generierung (Compilierung deines Programms) im Menü [Build][Rebuild All] wählen, da du an deinem Programmcode nichts geändert hast und der Compiler deshalb evtl. nicht aufgerufen wird. Mit Rebuild All erzwingst du eine komplette Neu-Compilierung deines Programms!
Gruß, Peter (Ronny10 ex peli51)
Hallo Peter,
Ich hab die -Os jetzt zugefugt im Powerpoint.
http://home.planet.nl/~winko001/Asur...uInfPagFrm.htm
Gruss
Henk
Hallo Peter,
vielen Dank für deinen Hinweis.
Ich habe beim AVR Studio 4 alle vier Optimierungseinstellungen durch probiert:
-Os 69 pages
-O0 91 pages
-O1 71 pages
-O2 71 pages
-O3 71 pages
Wie gesagt, mit dem PN2 werden mit dem gleichen Programm nur 29 pages geflasht!
Das heißt, dass das AVR Studio mehr als das Doppelte an Platz braucht.
Es scheint als ob zwischen dem AVR Studio und dem WinAVR doch erhebliche Unterschiede bestehen.
Oder gibt es noch weitere Einstellmöglichkeiten?
Gruß
Klaus
Hallo Ronny10,
leider klappt (nur bei mir ?) der link zur 3. Datei avrgccplugin.exe
nicht.
Kennt jemand eine alternative download site ?
Gruß,
Alex (IrishCoffee)
@Klaus_k:
Also dann compilierst du zwei verschiedene Programme! Es besteht in der Code-Generierung in beiden Fällen kein Unterschied ob du mit PN arbeitest oder mit AVRStudio. Beide rufen den GCC (GNU-C-Compiler) aus dem Ordner WinAVR mit der Option -Os auf. In beiden Fällen wird auch das gleiche make (Projektverwaltungsprogramm) verwendet. Also wenn du die gleichen Programme compilierst und mit der Option -Os arbeitest, wird in beiden Fällen ein von der Grösse völlig identisches Hex-File's erzeugt!
@Gast:
Schick mir doch eine private Nachricht hier im Forum mit deiner E-Mail-Adresse, dann schicke ich dir das dritte Programm als E-Mail-Anhang zu!
Asurorische Grüße, Peter (Ronny10 ex peli51)
@Klaus_K:
Wichtig ist natürlich auch, welche Library du in dein Projekt einbindest. Wahrscheinlich hast du keine Angaben dazu in deiner Projekt-Datei gemacht. Wenn du ein von der Größe zu PN und dem mit mfile erzeugten Makefile identisches Programm (Hex-File) erzeugen willst, muss du auch die richtige Library in dein Projekt einbinden! Das machst du so: Im AVRStudio unter [Project][Configuration Options] wählst du unter [Libraries] die libm.a aus (anklicken) und mit Add Library fügst du diese Library in dein Projekt ein. Also im rechten Library-Fenster muss dann die libm.a stehen! Damit hast du eine "minimal Library" ausgewählt die für ein kleines bzw. gleich großes Hex-File sorgt! Wenn du keine Angaben zur verwendeten Library machst, erzeugt AVRStudio ein Makefile mit einer default-Einstellung. Das bewirkt, dass eine andrere Library in dein Projekt eingebunden wird und damit das Programm (Hex-File) größer wird.
Asurorische Grüße, Peter (Ronny10 ex peli51)
Moin!
Gibts in AVRStudio irgendwo eine Einstellung, so dass er einem anzeigt, welche geschweiften Klammern zusammengehören?
gruß
Norki
Hi,
kann mir vielleicht mal jemand sagen wie denn jetzt die vorgehensweise ist wenn ich ein programm im AVR studio schreiben wil und dann auf den asuro flashen?
habe mal henks präsentation durchgemacht, da hat auch alles funktioiert, erstelle ich jetzt aber ein eigenes projekt kllappt gar nichts.
hier habe ich wieder wie henk beschrieben hat, die asuro.c und asuro.h in den projekt ordner kopiert, schreibe ich dann aber c-code in der projekt.c und will diesen in ein hex compilieren werden nur errors ausgegeben...was mache ich falsch??
Bei folgendem code:
erscheint diese fehlermeldung:Code:#include asuro.h int main(void){ Init(); StatusLED(GREEN); while(1); return(0); }
Build started 13.12.2006 at 13:59:38
avr-gcc.exe -mmcu=atmega8 -Wall -gdwarf-2 -DF_CPU=8000000UL -Os -fsigned-char -MD -MP -MT aaa.o -MF dep/aaa.o.d -c ../aaa.c
../aaa.c:1:10: #include expects "FILENAME" or <FILENAME>
../aaa.c: In function `main':
../aaa.c:5: warning: implicit declaration of function `Init'
../aaa.c:7: warning: implicit declaration of function `StatusLED'
../aaa.c:7: error: `GREEN' undeclared (first use in this function)
../aaa.c:7: error: (Each undeclared identifier is reported only once
../aaa.c:7: error: for each function it appears in.)
make: *** [aaa.o] Error 1
Build failed with 3 errors and 2 warnings...
Also ich hab ehrlich gesagt ncihts ausprobiert, aber was mit gelaf auffällt ist, dass du die asuro.c einbindest und nicht die .h.
Das macht man sonst nciht so.
Andun
www.subms.de
Aktuell: Flaschcraft Funkboard - Informationssammlung
mein fehler, hab ich falsch getippt....aber die fehlermeldung bleibt diesselbe
Lesezeichen