Hi all !
I am getting an error when compiling a C application with references to an assembly function. Asm functions are defined in .s file and declared as extern in .c file. The linker error is undefined reference to ASM function.
Here are code:
jtag.s
Code:; ================================================; Function : JTAG_Read_Bkru ; ================================================; input parameters; r0 : address of the register to read ; ================================================; output parameters; r1 : address to store the result ; ================================================; r4 : used by TDO, TDI, TCK, TMS ; r5 : used by TDO, TDI, TCK, TMS; r6 : address bitmask ; r7 : output bitmask ; r8 : output value; r9 : scratch register; r10 : used to clear TDIJTAG_Read_Bkru INIT_JTAG MOV r6, #1 ; init address bitMask MOV r7, #1 ; init output bitMask MOV r8, #0 MOV r10, #0...
jtag.h
Code:...extern void JTAG_Read_Bkru(unsigned char address, unsigned int *data);...
jtag.c
Code:...unsigned int JTAG_Read_Debug_Status(){ unsigned int value; //* Select ICEBreaker Scan Chain JTAG_Select_Scan_Chain(ICE_BREAKER); //* Read the Debug Status register JTAG_Read_Bkru(ICE_DBG_STS, &value); return (value & ICE_DBG_STS_MASK);}... It seems that .s file is not passed into linker. But .s file is in project.
Could you please help me with this problem ?
Thanks.