hallo zusammen. Ich bin gerade in c einen Atmega 128 am programmieren. DEr Code ist noch nicht wirklich lang. Divice 17% full. Füge ich folgende Funktion hinzu ist mein Device voll. Kann das sein? double gy_Werte (int countsY) { double ArcSin, ArcSinRet; double ArcSinValue; ArcSinValue = ((countsY-1024)/819); if(ArcSinValue>1) { ArcSinValue = 1; }else if(ArcSinValue<-1){ ArcSinValue = -1; } //ArcSin = asin(ArcSinValue)* 57.29582790; ArcSinRet = sin (ArcSin); ArcSinRet *=100; return ArcSinRet; }
>Optimierung auf "-Os"?
Das gehört zum Compiler-Aufruf. Sollte irgendwo im Makefile stehen...
Kann ich mir nicht vorstellen, dass er voll ist. Ich habe deine Funktion eben mal in eines meiner Projekte eingefügt und kompiliert, statt 11% sind jetzt 12% voll. Also nicht der Rede wert.
...dito bei mir, von 83% auf 84%! Mit was compiliert du? avr-gcc? Poste mal, was der Compiler zum Schluss ausspuckt, Speicherübersicht.
läuft die denn bei dir so ohne weiteres? Bei mir wird immer "area 'text' not large enough" angezeigt. habe gelesen das der myc voll ist wenn das erscheint. wie gesagt bei mir is das ohne diese funktion 17% voll. Wenn ich den asin wie oben weglasse sind es 89% und mir asin kommt der text.
ich mache das mit imagecraft das spuckt er am ende aus: C:\Winapps\iccv7avr\bin\imakew -f INCLINOMETER_SSI.mak iccavr -c -IC:\Winapps\iccv7avr\include -IC:\Software\Neigungssensor\h -e -D__ICC_VERSION="7.09" -DATMEGA -DATMega128 -l -g -Mavr_enhanced -Wf-use_elpm C:\Software\Neigungssensor\c\main.c iccavr -o INCLINOMETER_SSI -LC:\Winapps\iccv7avr\lib -g -ucrtatmega.o -bfunc_lit:0x8c.0x1000 -dram_end:0x10ff -bdata:0x100.0x10ff -dhwstk_size:30 -beeprom:0.4096 -fihx_coff -S2 @INCLINOMETER_SSI.lk -lcatmega !E <library>(1061): area 'text' not large enough want size 198 lo 3988 hi 4096 size 109 !E <library>(1061): area 'text' not large enough want size 228 lo 3988 hi 4096 size 109 !E <library>(1061): area 'text' not large enough want size 620 lo 3988 hi 4096 size 109 !E <library>(1061): area 'text' not large enough want size 702 lo 3988 hi 4096 size 109 C:\Winapps\iccv7avr\bin\imakew.exe: Error code 1 Done: there are error(s). Exit code: 1. Thu Jan 04 14:45:44 2007
ja, d.h. die "text" area ist voll! Gut, ich hab das jetzt grad auf einem Projekt mit einem CAN128 durch laufen lassen, aber CAN128 und Mega128 sind von der Speichergröße her ja identisch... Hast du evtl. das falsche Target/Device im makefile eingestellt? In einen Tiny15L bekommst du das natürlich net rein! :-)
>Hast du evtl. das falsche Target/Device im makefile eingestellt?
Oder das Speicher-Modell falsch eingestellt?
Die Float-Handhabung richtig eingestellt?
jo passt, die compilieroptionen stimmen wohl, bei imagecraft muss ich aber passen, hab den avr-gcc... Aber mir scheint so, als stimmt irgendwas mit deinen Areas net; Bei scheint der speicher bei 4k aufzuhören...
ich habe das mit einem application builder gemacht. mit float oder memory habe ich nichts eingestellt
Das Makefile macht Imagecraft automatisch, da hat man normalerweise nichts mit zu tun.
>Das Makefile macht Imagecraft automatisch, da hat man normalerweise >nichts mit zu tun. Kenne ich vom IAR auch so...
> kann das an meiner demoversion von imagecraft liegen?
Was sasgen die Leute von imagecraft? Demo-versionen
sind oft größenbeschränkt.
hmpf Kenn mich mit Imagecraft zwar net aus, aber der erste Link bei Dr. google liefert so in etwa das: [cut] Der Demo-Modus der Version 7 unterscheidet sich von der Kauf-Variante durch eine Beschränkung bei der Größe des Maschinencodes auf 4kB, was für die allermeisten Anwendungen mehr als ausreichend ist. [cut] Gruß Micha, PS: http://www.imagecraft.com/software/demos.html
ne nicht wirklich. habe jetzt mal eine dongelversion und es funzt einwandfrei. is jetzt auch nur 8% voll. trotzdem wiedereinmal danke für eure hilfe
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.