Forum: Mikrocontroller und Digitale Elektronik Device full


von Bj (Gast)


Lesenswert?

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;
}

von Tobias H. (Gast)


Lesenswert?

Optimierung auf "-Os"?

von Bj (Gast)


Lesenswert?

sry kann dir nicht folgen

von fieser Rahul (auch Oskar genannt) (Gast)


Lesenswert?

>Optimierung auf "-Os"?

Das gehört zum Compiler-Aufruf. Sollte irgendwo im Makefile stehen...

von Thomas (Gast)


Lesenswert?

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.

von Thomas (Gast)


Lesenswert?

Nein sorry, statt 9% jetzt 11%.

von Michael S. (mst)


Lesenswert?

...dito bei mir, von 83% auf 84%! Mit was compiliert du? avr-gcc?

Poste mal, was der Compiler zum Schluss ausspuckt, Speicherübersicht.

von Bj (Gast)


Lesenswert?

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.

von Bj (Gast)


Lesenswert?

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

von Michael S. (mst)


Lesenswert?

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! :-)

von fieser Rahul (auch Oskar genannt) (Gast)


Lesenswert?

>Hast du evtl. das falsche Target/Device im makefile eingestellt?

Oder das Speicher-Modell falsch eingestellt?
Die Float-Handhabung richtig eingestellt?

von Bj (Gast)


Lesenswert?

Ne da steht der 128

#include <iom128v.h>

von Sonic (Gast)


Lesenswert?

Und im Makefile? Da sollte er auch stehen!

von Michael S. (mst)


Lesenswert?

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...

von Bj (Gast)


Lesenswert?

ich habe das mit einem application builder gemacht. mit float oder 
memory habe ich nichts eingestellt

von Thomas (Gast)


Lesenswert?

Das Makefile macht Imagecraft automatisch, da hat man normalerweise 
nichts mit zu tun.

von fieser Rahul (auch Oskar genannt) (Gast)


Lesenswert?

>Das Makefile macht Imagecraft automatisch, da hat man normalerweise
>nichts mit zu tun.
Kenne ich vom IAR auch so...

von Bj (Gast)


Lesenswert?

kann das an meiner demoversion von imagecraft liegen?

von Karl heinz B. (kbucheg)


Lesenswert?

> kann das an meiner demoversion von imagecraft liegen?

Was sasgen die Leute von imagecraft? Demo-versionen
sind oft größenbeschränkt.

von Michael S. (mst)


Lesenswert?

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

von Bj (Gast)


Lesenswert?

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