mikrocontroller.net

Forum: Compiler & IDEs Fehler beim Kompilieren von startup_LPC177x_8x.s


Autor: Thomas T. (runout)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Gemeinde,

setze gerade ein leeres Projekt für
einen NXP-Controller auf.

Target: LCP1778 cortex-m3

verwende:
CMSIS Cortex-M3 Core Device Startup File
for the NXP LPC177x_8x Device Series
V1.20
07. October 2010

IDE/Compiler Embitz / ARM GCC

das kompilieren von "startup_LPC177x_8x.s"
wirft Fehler ohne Ende, z.B.

Src\startup_LPC177x_8x.s:23: Error: junk at end of line, first 
unrecognized character is `<'
Src\startup_LPC177x_8x.s:24: Error: junk at end of line, first 
unrecognized character is `<'
Src\startup_LPC177x_8x.s:25: Error: junk at end of line, first 
unrecognized character is `<'
Src\startup_LPC177x_8x.s:27: Error: bad instruction `stack_size EQU 
0x00000800'
Src\startup_LPC177x_8x.s:29: Error: bad instruction `area 
STACK,NOINIT,READWRITE,ALIGN=3'
Src\startup_LPC177x_8x.s:30: Error: bad instruction `stack_mem SPACE 
Stack_Size'
Src\startup_LPC177x_8x.s:31: Error: bad instruction `__initial_sp'
Src\startup_LPC177x_8x.s:34: Error: junk at end of line, first 
unrecognized character is `<'
Src\startup_LPC177x_8x.s:35: Error: junk at end of line, first 
unrecognized character is `<'

Nach einiger Recherche wird wohl das Assembler-File nicht richtig 
interpretiert. (speziell Kommentare)

Gibt es einen Kompilerschalter der ";" als Kommentar interpretiert?

Mit einem LPC1768-Projekt wird alles fehlerfrei übersetzt...

Ratlos Runout

Autor: Christopher Johnson (christopher_j23)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Thomas T. schrieb:
> IDE/Compiler Embitz / ARM GCC

Thomas T. schrieb:
> das kompilieren von "startup_LPC177x_8x.s"
> wirft Fehler ohne Ende, z.B.
> [...]
> Src\startup_LPC177x_8x.s:27: Error: bad instruction `stack_size EQU
> 0x00000800'

Der startup-code ist ja offenbar nicht für den GCC, sondern für den 
ARMCC von Keil. Die beiden Assembler sind grundsätzlich nicht 
kompatibel. Da hilft nur ein passendes Startup-File für den GCC zu 
nehmen.

Autor: runout (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Christopher,

ja habe ich gemacht.

Eine "startup_ARMCM3.S" und dann
die Interruptvektoren für den LPC1778 angepasst.
Der Compiler von Embitz ist wohl ein
ARM-GCC (arm-none-eabi)

Die Extension "*.S" der Startupdatei
ist übrigens Case-Sensitive.
Also muss groß geschrieben sein.
strange...

grüße
runout

Autor: Markus F. (mfro)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
runout schrieb:
> Die Extension "*.S" der Startupdatei
> ist übrigens Case-Sensitive.
> Also muss groß geschrieben sein.
> strange...

Das ist nicht "strange", sondern völlig normal.

Der gcc schickt nur die Assembler-Sourcen durch den Präprozessor (und Du 
hast offensichtlich eine, die so behandelt werden will), die ein grosses 
"S" haben.
Die mit dem "kleinen S" werden direkt an den Assembler übergeben und der 
kann mit Präprozessor-Direktiven nichts anfangen.

Autor: Thomas T. (runout)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ahhh, die Erleuchtung zum Freitag...

Ja, im File stehen Präprozessor-Direktiven.
Ich werde mich wohl doch mal mit dem "Unterbau" beschäftigen müssen ;-)

Danke Markus

Runout

Beitrag #5216029 wurde von einem Moderator gelöscht.

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.

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