mikrocontroller.net

Forum: Compiler & IDEs region text is full


Autor: Axel J (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Zusammen,
ich bekomme den folgenden Text beim Projekt Output:


avr-gcc -c -g -03 -Wall -Vstrict-prototypes -V}a-ahIms~st_ test. Ist 
-mmcu~at90s2333 -1. st_ test. c -o st_ test. st test.c: In function 
>fahrt:
test. c: 194: warning: control reaches end of non-void function st_ 
test. c: In function jog:
st_ test. c: 287: warning: control reaches end of non-void function
avr-gcc st test. o -V}L-H awst test. map,-cref -mmcu~at90s2333 -o st_ 
test. elf 
0*AVR000\RIN\..\Iib\gcc-Iib\avr\2.95.2\..\..\..\..\avr\bin\Id.exe: 
region text is full (sL test.elf section .text)
0X4VR000\RIN\MAKE.D<E: [sLtest.elf] Error 1

1)mit der Meldung "region text is full " kamm ich nichts anfangen. Was 
bedeutet sie und wie bekomme ich sie weg?

2) warning: control reaches end of non-void function
Wie vermeide ich diese Meldung?


Grüße Axel

Autor: Sascha Weitkunat (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zu deinem ersten Problem kann ich nichts sagen, zu der Warnung 
allerdings schon.

Du hast einige Funktionen die ein Int zurückgeben, du gibst allerdings 
garnichts zurück, dein "return xyz" fehlt einfach, und genau das 
vermisst auch der Compiler, denn er kommt an das Ende eine nicht-Void 
Funktion; gibt folglich keinen Wert zurück.

Wenn die Funktionen wirklich nichts zurück geben sollen benutze Void.

Autor: Joerg Wunsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"region text is full" bedeutet einfach, daß zu viel Code für
den Controller produziert worden ist, der dann nicht mehr in
den Flash paßt.

Autor: Axel J (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Sascha, Hallo Joerg,
vielen Dank für Eure Antworten. Nun klappt es.

Grüße Axel

Autor: BAB (Kai K.) (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wenn du mit der aktuellen winavr version arbeitest solltest du die 
syntax dringends ändern wie z.b

outp(0xFF, DDRB);

IN:

DDRB = 0xff;

ansonsten bekommst du sehr wahrscheinlich in der nächsten winavr ausgabe 
probleme da befehle wie outp(), sbi(), cbi() usw. alt und aus der 
avrlibc heraus genommen werden bzw schon genommen wurden.

gruss,

BAB

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

sbi() und cbi() fliegen raus?

Sollte man also
PORTD&=.. zum löschen
und
PORTD|=.. zum setzen
verwenden?

Es scheint ja entsprechend optimiert zu werden.

Matthias

Autor: BAB (Kai K.) (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
eric weddington wrote:
outp, inp are deprecated now.
outb, inb, sbi, cbi will be deprecated with the next release.
But they will all still be included in the next release, so you have a 
while to make the transition.

du kannst auch zur besseren code übersicht

PIND |= _BV(PD7);

schreiben. dahinter steckt nix anderes wie:

PIND |= (1 << PD7);

Gruss,
BAB

Autor: BAB (Kai K.) (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
datt macht da oben natürlich keinen sinn..ist nur nen beispiel...

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.