Test.elf section `.text' will not fit in region `text'

Gast #2458145
Lesenswert?

Hallo zusammen,

ich hocke hier grad an einem Code und hab ein Problem, welches ich 
seither noch nie erhalten habe.

Ich muss dazu sagen, dass ich seit kurzem erst mit AVR 5.0 arbeite und 
damit noch nicht so ganz zurecht komme.

Also hier erstmal mein Code:

1
// Deklarationen ==============================================================
2

3
// Festlegung der Quarzfrequenz
4

5
#ifndef F_CPU          // optional definieren
6
#define F_CPU 18432000UL    // MiniMEXLE mit 18,432 MHz Quarz  
7
#endif                
8

9

10
// Include von Header-Dateien
11

12
#include <avr/io.h>        // I/O-Konfiguration (intern weitere Dateien)
13
#include <stdbool.h>       // Bibliothek fuer Bit-Variable
14
#include <avr/interrupt.h>    // Definition von Interrupts
15
#include <util/delay.h>      // Definition von Delays (Wartezeiten)
16
#include "lcd_lib_de.h"      // Header-Datei fuer LCD-Anzeige
17

18

19
// Makros
20

21
#define  SET_BIT(PORT, BIT)  ((PORT) |=  (1 << (BIT))) // Port-Bit Setzen
22
#define CLR_BIT(PORT, BIT)  ((PORT) &= ~(1 << (BIT))) // Port-Bit Loeschen
23
#define TGL_BIT(PORT, BIT)   ((PORT) ^=  (1 << (BIT))) // Port-Bit Toggeln
24

25

26
// Konstanten
27

28
#define ENABLE    7
29

30
int i;
31
int x;
32

33

34
int main(void)
35
{
36
    
37
  x=0;
38
  i=0;
39
  
40
  while(1)
41
    {
42
        
43
  char text[22]="  Treppenbeleuchtung  ";  // Text zum Schieben
44
  char schieben[16]="                ";  // Schieberegister
45

46
  {
47
  for(i=0; i<16; i++)        
48
    {
49
      if(i==15)
50
      {
51
        schieben[15]=text[x];    
52
      }
53
      else
54
      {
55
        schieben[i]=schieben[i+1];
56
      }
57
    }
58
  
59
  lcd_gotoxy(1,0);             // Cursor auf 2. Zeile, 1. Zeichen
60
  lcd_putstr("text[x]");        // Ausgabe Festtext: 16 Zeichen 
61
  lcd_gotoxy(0,0);
62
  lcd_putstr("-  Projekt 14  -");
63
  x++;
64
    if(x==22)
65
    {
66
      x=0;
67
      i=0;
68
    }
69
  _delay_ms(500);          // Alle 500ms um eins Schieben
70
  }
71
    }
72
}


Ich benutze einen ATMEGA88 und die lcd_lib ist im Programmordner 
eingefügt.


Zusätzlich zum Fehler Test.elf section '.text' will not fit in region 
region 'text' ; hat er scheinbar noch ein Problem:

#warning "Compiler optimizations disabled; functions from <util/delay.h> 
won't work as designed"  d:\programme\avr studio 5\avr 
toolchain\bin\../lib/gcc/avr/4.5.1/../../../../avr/include/util/delay.h

Die delay.h ist doch aber richtig eingebunden, oder was meint er damit?


Wäre schön ein paar Antworten und Vorschläge von euch zu hören.

Bis dahin schon einmal vielen Dank im Voraus.


Gruß Alex
Moderator Persönliche Seite #2458206
Lesenswert?

Alex schrieb:
> Die delay.h ist doch aber richtig eingebunden, oder was meint er damit?

Steht doch da: "Compiler optimizations disabled".

Aktiviere die Compiler-Optimierungen, und erstens werden deine Delays
wieder funktionieren, zweitens wird dein Code auch wieder passen.

Danach schreibste Atmel noch einen Bugreport, dass sie doch bitteschön
die Optimierungen standardmäßig einschalten mögen, auch für den
Debug-Build.  Code für einen (Semi-)RISC-Prozessor ohne aktivierte
Compiler-Optimierungen zu bauen, ist ziemlicher Unfug.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren