Forum: Compiler & IDEs Frage bezüglich LIBS


von avrler (Gast)


Lesenswert?

Abend miteinander!

Ich bin gerade dabei mit AVR Studio ein GCC Projekt zu schreiben. Es
handelt sich dabei um ein kleines Program was im Grunde nur Werte von
der Seriellen Schnittstelle UART bekommen soll und diese 1:1 als PWM
Frequenz auf dem OC1A vom TINY2313 ausgiebt. Also brauche ich dazu die
UART dafür habe ich P. Fleuys LIB genommen, dann eine kleine delay
Funktion da habe ich #include <util/delay.h> diese genommen und
natürlich noch den Timer für den PWM.
Das klappt auch alles nur wenn ich das Builde bekomme ich einen HEX von
12,23KB !?!?! das kann doch nicht sein das scheint durch die LIBS zu
kommen das Programm alleine hat nur ca. 30 zeilen .... was mache ich
falsch bzw. welche alternativen gibt es zu diesen LIBS ?

Danke im Vorraus

Schönen abend an alle !

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Was hast du denn in LIBS alles drin?

Ich vermute mal, du hast Gleitkomma-printf() aktiviert, obwohl du
es gar nicht brauchst...  Außerde solltest du die Optimierung des
Compilers einschalten.  Aus mir nicht wirklich verständlichen
Gründen ist die Voreinstellung für ein GCC-Projekt in AVR Studio
hier ein Level 0, also keine Optimierung.

von avrler (Gast)


Lesenswert?

danke für die tips
ich bräuchte jedoch zum verständnis die erklärung wie ich die
Gleitkomma-printf() deaktiviere und welches ist die höchste
Optimierungsstufe

danke

gute nacht

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Ich habe keine Ahnung, was du denn derzeit als LIBS aktiviert
hast.  (Den Begriff hast du ja selbst in die Runde geworfen.)
Das mit dem Gleitkomma-printf war ja nur eine Vermutung.

Es kommt nicht auf die ,,höchste'' Optmierungsstufe an (die
unterscheiden sich u. U. drastisch für `speed' und `size'),
sondern darauf, dass du überhaupt die Optimierung des Compilers
einschaltest.  Die Erfahrung lehrt, dass `optimize for size'
(-Os) für den AVR in erster Näherung meist die beste Variante ist,
da Code geringer Größe letztlich auch schnell ausgeführt wird.

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
Noch kein Account? Hier anmelden.