Gast
#410102
Hallo ich schon wieder ^^ Meine Frage diesmal kurz und bündig. Ich will mit meinem LPC2148 ein C-Projekt einspielen welches allerdings Assemblerroutinen Public zur verfügung stellt und das unter Keil AARM. Bsp. NO_INT EQU 0xC0 AREA FLASH, CODE, READONLY PUBLIC OS_CPU_SR_Save OS_CPU_SR_Save PROC CODE32 ; Set IRQ and FIQ bits in CPSR to disable all interrupts MRS R0,CPSR ORR R1,R0,#NO_INT MSR CPSR_c,R1 ; Confirm that CPSR contains the proper interrupt disable flags MRS R1,CPSR AND R1,R1,#NO_INT CMP R1,#NO_INT ; Not properly disabled (try again) BNE OS_CPU_SR_Save ; Disabled, return the original CPSR contents in R0 BX LR ENDP END Um diese Routine durchführen zu können muss ich davor eine Routine haben welche mich in den SVC Mode versetzt. Mein Ansatz währe folgender: AREA FLASH, CODE, READONLY PUBLIC SwitchToSVC SwitchToSVC PROC CODE32 MSR CPSR_cxsf, #0xD3 ENDP END in einer C Datei sag ich dem Linker bescheid das die Funktionen extern sind extern void OS_CPU_SR_Save(void); extern void SwitchToSVC(void); doch erhalte die Fehlermeldung: ***WARNING L23: UNRESOLVED EXTERNAL SYMBOLS ***ERROR L128: REFERENCE MADE TO UNRESOLVED EXTERNAL SYMBOL: OS_CPU_SR_Save?T ADDRESS: 000003AAH keine Ahnung was ich nun tun soll ^^