We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Hi, I want to write some subroutines with µVision3 in assembler and use this in my C-Funktions (Philips LPC2148). For example I have wrote(copied) this one:
//-------------------------------------------- //cpu_asm.asm //-------------------------------------------- NO_INT EQU 0xC0 AREA OSCPUSRSave, CODE PUBLIC __OSCPUSRSave __OSCPUSRSave PROC CODE32 MRS R0,CPSR ORR R1,R0,#NO_INT MSR CPSR_c,R1 MRS R1,CPSR AND R1,R1,#NO_INT CMP R1,#NO_INT BNE __OSCPUSRSave BX LR ENDP END //--------------------------------------------
After that i declared in a C-File:
extern void __OSCPUSRSave(void);
Now i get every time the error Message: ***Warning L123: UNRESOLVED EXTERNAL SYMBOLS and ***ERROR L128: REFERENCE MADE TO UNRESOLVED EXTERNAL SYMBOL: __OSCPUSave?T ADDRESS: 000003AAH I think the linker have to find the procedur because i wrote: PUBLIC __OSCPUSRSave , but he didn't. I hope someone can help me, thanks.
"It still works."
So it does!
http://www.micrium.com./
Must just've been that it was taking so long that I gave up, and tried without the dot - and then got lucky!