mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Device full


Autor: Bj (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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;
}

Autor: Tobias H. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Optimierung auf "-Os"?

Autor: Bj (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
sry kann dir nicht folgen

Autor: fieser Rahul (auch Oskar genannt) (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Optimierung auf "-Os"?

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

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nein sorry, statt 9% jetzt 11%.

Autor: Michael S. (mst)
Datum:

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

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

Autor: Bj (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Bj (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Michael S. (mst)
Datum:

Bewertung
0 lesenswert
nicht 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! :-)

Autor: fieser Rahul (auch Oskar genannt) (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Hast du evtl. das falsche Target/Device im makefile eingestellt?

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

Autor: Bj (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ne da steht der 128

#include <iom128v.h>

Autor: Sonic (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und im Makefile? Da sollte er auch stehen!

Autor: Michael S. (mst)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: Bj (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich habe das mit einem application builder gemacht. mit float oder 
memory habe ich nichts eingestellt

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Makefile macht Imagecraft automatisch, da hat man normalerweise 
nichts mit zu tun.

Autor: fieser Rahul (auch Oskar genannt) (Gast)
Datum:

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

Autor: Bj (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
kann das an meiner demoversion von imagecraft liegen?

Autor: Karl heinz Buchegger (kbucheg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> kann das an meiner demoversion von imagecraft liegen?

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

Autor: Michael S. (mst)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Bj (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.