GNUARM Fehlermeldung und Frage

Gast #873624
Lesenswert?

Hallo ,

ich stelle gerade ein Programm für den LPC2138/48 von einem
anderen C-Compiler auf GCC um.
Dabei gibt es folgende Probleme bei denen ich um Hilfe bitte:

1. Ich bekomme folgende Fehlermeldungen und weiss jetzt nicht
   wo ich nach was suchen muss.

GNU C version 4.2.2 (arm-elf)
compiled by GNU C version 3.4.4 (cygming special, gdc 0.12, using dmd 
0.125).
GGC heuristics: --param ggc-min-expand=100 --param 
ggc-min-heapsize=131072
Compiler executable checksum: aa6792d977dfcb1158cc7131e51a7a40
/cygdrive/c/Programme/GNUARM/bin/../lib/gcc/arm-elf/4.2.2/../../../../ar 
m-elf/bin/as.exe  -mcpu=arm7tdmi-s -mfloat-abi=soft -o HSPIMMC.o 
/cygdrive/c/temp/ccLYwsfL.s
/cygdrive/c/temp/ccLYwsfL.s: Assembler messages:
/cygdrive/c/temp/ccLYwsfL.s:499: Error: flag for {c}psr instruction 
expected -- `msr CPSR_C,#0xDF'
/cygdrive/c/temp/ccLYwsfL.s:505: Error: flag for {c}psr instruction 
expected -- `msr CPSR_C,#0x1F'
make: *** [HSPIMMC.o] Error 1

2. Ich möchte bestimmte Funktionen des Programms in bestimmte
   Flash Sektoren legen. Der ganze Sektor muss dann ausschliesslich
   für diese reserviert sein. Auch wenn er nicht voll ist
   dürfen keine anderen Funktionen den Bereich belegen.
   Wie macht man das bei GCC?

Vielen Dank.
#873751
Lesenswert?

1) Das sieht eher nach einem Problem mit dem Assembler aus als mit dem 
Compiler. Problem könnte sein, dass der Code Inline-Assembler enthält, 
der portiert werden muss.

2) In gcc legt man die Funktion in eine bestimmte Section mittels 
__attribute__((section ("name"))) oder falls es vom Backend unterstützt 
wird mit #pragma. Die Lage der Section wird per Lnker-Script dem Linker 
mitgegben.

Denkbar ist auch ein Bug in dieser doch recht neuen gcc/binutils 
Version, also auch mal die gcc-bugs für arm durchlesen.

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