www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Fehlermeldung bei WinARM


Autor: Jansus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen!

Ich nutze WinARM für einen LPC2103. Ich verwende angepasste 
Linkerskripte, d.h. ich habe die Skripte eines LPC2106 verwendet und die 
Speichergrößen entsprechend angepasst. Als Startup-Code verwende ich 
den, der bei WinARM dabei war (crt0.s). Wenn ich jetzt den Build-Befehl 
aufrufe, erhalte ich folgende Fehlermeldung, aus der ich leider nicht so 
recht schlau werde:

Linking: Test.elf
arm-elf-gcc -mthumb -mcpu=arm7tdmi-s -mthumb-interwork -I. -gdwarf-2 
-DROM_RUN  -Os -Wall -Wcast-align -Wcast-qual -Wimplicit 
-Wpointer-arith -Wswitch -Wredundant-decls -Wreturn-type -Wshadow 
-Wunused -Wa,-adhlns=crt0.lst  -I./inc -I./conf -MD -MP -MF 
.dep/Test.elf.d crt0.o    Test.o      --output Test.elf -nostartfiles 
-Wl,-Map=Test.map,--cref -lc -lnewlib-lpc -lm -lc -lgcc  -lstdc++ 
-TLPC2103-ROM.ld
c:/winarm/bin/../lib/gcc/arm-elf/4.1.1/../../../../arm-elf/bin/ld.exe: 
address 0x600 of Test.elf section .stack is not within region RAM
collect2: ld returned 1 exit status
make.exe: *** [Test.elf] Error 1

> Process Exit Code: 2
> Time Taken: 00:01

Vielleicht kann mir jemand sagen, wo ich den Fehler gemacht habe? Habe 
ich evtl was im Linkerskript vergessen?
Bin für jeden Tipp dankbar!

MFG
Jansus

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ein fehlerhaftes Linkercontrolscript ist eine gute Vermutung. Wie sieht 
deins aus?

Speziell der Abschnitt MEMORY interessiert und was darin als 
Startadresse (!) für ram bzw. RAM eingetragen ist.

Sowie, ob darin der Abschnitt für .stack in dieser Art vorhanden ist:
http://en.mikrocontroller.net/topic/101678

Es gibt im Netz Linkercontrolscripte ohne den Abschnitt und welche mit 
problematischem Abschnitt, der in Verbindung mit leerem DATA/BSS 
Sektionen ähnliche Fehler produziert:
http://en.mikrocontroller.net/topic/67766

Autor: Jansus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Super! Vielen, vielen Dank! Es funktioniert!
Werde in Zukunft auch die englischsprachigen Seiten durchforsten.

MFG
Jansus

Autor: Jansus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
... ich vergaß!

.stack ALIGN(256) :
  {
    . = ALIGN(256);        // Diese Zeile hat gefehlt
    . += STACK_SIZE;
    PROVIDE (_stack = .);
  } > RAM

Autor: Jansus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ach Mist! Zu früh gefreut!
Hatte die Linkerskripte für den LPC2106 noch drin. Mit denen hat's 
natürlich geklappt.
Habe mal mein Linkerskript angehängt.

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das mit deinem Anhang hat nicht geklappt.
.stack ALIGN(256) :
  {
    . = ALIGN(256);        // Diese Zeile hat gefehlt
    . += STACK_SIZE;
    PROVIDE (_stack = .);
  } > RAM

ist doppelt gemoppelt bzw. enthält einen Rest des alten, problematischen 
Skripts.
.stack :
  {
    . = ALIGN(256);        // Diese Zeile hat gefehlt
    . += STACK_SIZE;
    PROVIDE (_stack = .);
  } > RAM

sollte gehen.

Autor: Jansus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oh, Asche auf mein Haupt! Klar, so klappt's! Danke nochmals!

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.