i´m afraid, i´ve already done it, as you tell me in your example. It must be something else... another idea, please. Thanks for your help --- In lpc2000@yahoogroups.com, "brendanmurphy37" <brendanmurphy37@...> wrote: > > --- In lpc2000@yahoogroups.com, "dgaydou" <dgaydou@> wrote: > > > > Hi group, > > i`m doing my first steps with LPC2114 and gnuarm. I´ve found a > trouble > > when i try to link the objects files from c-sources and as- sources > with > > arm-elf-ld and the following parameters : -Map main.map - > TPruebaLPC.ld - > > t. The linker tell me: Undefined reference to `THOSE FUNCTIONS > THAT ARE > > WROTE IN ASSEMBLER`; although i´ve declared those functions in my > > headers files and properly included. Hope someone can help me. > Thanks. > > > > Do you have the assembler directive ".global" in the assembler > source file? Without it the function name is not visible to the > linker. This behaviour is different from 'C' in that the default is > NOT to make function names visible. > > Example: > > /* list functions exported from this file */ > > .global GetCPSR, SomeOtherFunction > > /* implementation of GetCPSR */ > > GetCPSR: > mrs r0, cpsr /* Get CPSR */ > bx lr /* return to caller */ > > This can be declared in 'C' as: > > unsigned int GetCPSR(void); > > and used as: > > unsigned int cpsr = GetCPSR(); > > My guess is that this is your problem. > > Brendan >
Message
Re: arm-elf-ld trouble
2006-05-27 by dgaydou
Attachments
- No local attachments were found for this message.