Gast
#4100218
Guten Tag,
ich habe ein Problem, und zwar habe ich unter ubuntu Eclipse mit openocd
und arm-elf-gcc (GCC) 4.1.0 am laufen. Jetzt habe ich ein Prgramm
geschrieben, welches ein einfaches Display ansteuern sollte, und die
Display.c einbinden sollte. Das hat auch alles gut geklappt, bis dann
beim Compilieren der folgende Fehler auftrat:
Compiling C: display.c
arm-elf-gcc -c -mcpu=arm7tdmi -I. -gdwarf-2 -DROM_RUN -D__WinARM__
-O0 -Wall -Wcast-align -Wimplicit -Wpointer-arith -Wswitch
-Wredundant-decls -Wreturn-type -Wshadow -Wunused
-Wa,-adhlns=display.lst -Iinclude/ -MD -MP -MF .dep/display.o.d
-Wnested-externs -std=gnu99 display.c -o display.o
/tmp/ccngc6wm.s: Assembler messages:
/tmp/ccngc6wm.s:22: Error: bad instruction `lsl r3,r0,#2'
make: *** [display.o] Fehler 1
In der Display.c Datei ist das diese Stelle:
//**************************************************************
// delay1us(uiK) verzögert um uiK * 1us bei MCK=24Hz
// uiK <= 1.073.741.823 us = 17,8957 sec
//**************************************************************
_attribute_ ((naked)) void delay1us(unsigned int uiK){
asm(" lsl r3, r0, #2 \n\t" // Multi *4
"Label: cmp r3, #0 \n\t" //1
" beq Ende \n\t" //2
" sub r3, r3, #1 \n\t" //1
" b Label \n\t" //2
"Ende: mov pc, lr \n\t");
}
Nun weiß ich nicht genau woran es liegt. Bitte um Hilfe. Danke
