Hallo Leuts Ich bin Anfänger und habe gerade mein erstes funktionsfähiges Programm fertiggestellt(im Anhang). Ich benutze die Software MyAVR-Plus und das MyAVR-Bord mit USB und LCD-Modul. Doch wenn ich das oben genannte Programm brennen will, werden 5.5 KBytes geschrieben. Da ich dies für ein bisschen viel hielt, wollte ich die Optimierung ändern doch ich habe keine entsprechende Option gefunden. Weis jemand wo ich so eine Option finden kann oder sind 5.5 KBytes normal? Meine 2. Frage wäre: Was ist der Programmer-Typ? Standartmässig ist "sp12" eingestellt. Danke für eure Hilfe
Hat nichts mit Optimierung zu tun, aber die wait-Routinen würde ich mal überdenken. Ich glaub nicht, das dabei das erwünschte rauskommt (=>";"). Dafür aber sorgen die delay-Routinen der avr-libc für unerwünschte und platzraubende Fliesskommaroutinen, wenn man den Compiler ohne Optimierung darauf loslässt.
Die Wait-Routinen habe nicht ich Programmiert. Die ist vom Code-Wizard vom MyAVR-Bord und wird für die LCD-Routinen verwendet. Du hast Recht. Die delay-Routine braucht ca. 1.5 KBytes. Aber wie bringe ich menen Compiler zum optimieren?.
Marcel wrote: > Die Wait-Routinen habe nicht ich Programmiert. Die ist vom Code-Wizard > vom MyAVR-Bord und wird für die LCD-Routinen verwendet. Das macht es auch nicht besser. Das ";" hinter dem for() ist zuviel und sorgt für komplette Wirkungslosigkeit der Schleife: wait_ms wartet unabhängig vom Parameter nur 1ms, ähnlich wait_us. Und so funktioniert lcd_send nur deshalb, weil nicht die üblichen 60µs sondern aus purer Verzweiflung gleich 1ms gewartet wird. Wenn der Rest vom Code-Wizard ähnlich programmiert ist, dann viel Spass. > Du hast Recht. Die delay-Routine braucht ca. 1.5 KBytes. Aber wie bringe > ich menen Compiler zum optimieren?. Seitens gcc die Option -Os. Wie du ihn das beibringst weiss ich mangels MyAVR-Plus nicht.
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.