Hi, Did you add the relevant processor lib file to your project? It has .a file extension and has the format libp30Fxxxx-coff.a, where xxxx is the processor. Best regards, WH Tan > -----Original Message----- > From: piclist-bounces@mit.edu [mailto:piclist-bounces@mit.edu]On Behalf > Of Thomas C. Sefranek > Sent: 05 June 2006 22:46 > To: piclist@mit.edu > Subject: [PIC] C30 Linker Problem > > > I could use some help with the C30 compiler/linker. > The compile process works just fine producing .o files. > The linking process fails. > > > The compiler error: > > Executing: "C:\Program Files\Microchip\MPLAB C30\bin\pic30-gcc.exe" > -Wl,"C:\NP\NeuroLogica\Analog\Software\ISRs.o","C:\NP\NeuroLogica\ > Analog\Sof > tware\HEX.o","C:\NP\NeuroLogica\Analog\Software\Inits.o",-L"C:\Program > Files\Microchip\MPLAB C30\lib",--script="C:\Program Files\Microchip\MPLAB > C30\support\gld\p24HJ256GP206.gld",-o"Hex Analog > Test.cof",-Map="Hex Analog > Test.map" > C:\NP\NeuroLogica\Analog\Software\ISRs.o(.text+0x2c): In function > `_U2RXInterrupt': > C:\NP\NeuroLogica\Analog\Software\ISRs.c:72: undefined reference to > DataRdyUART2' > C:\NP\NeuroLogica\Analog\Software\ISRs.o(.text+0x3c):C:\NP\NeuroLo > gica\Analo > g\Software\ISRs.c:74: undefined reference to `ReadUART2' > > Relevant code: > > #include /* UART Functions support. */ > > //UART_2 Receive ISR > char UART2Buffer[80]; > char * Received_data = UART2Buffer; > void __attribute__((__interrupt__)) _U2RXInterrupt(void) > { > IFS1bits.U2RXIF = 0; // Clear the UART2 RX IRQ Flag bit. > while(DataRdyUART2()) > { > ( *(Received_data)++) = ReadUART2(); > } > } > > Apparently the compiler knows where the reference is, (uart.h) > but the linker doesn't? > > > > For any help: > Ad(THANKS)vance > > Tom > > * > | __O Thomas C. Sefranek tcs@cmcorp.com > |_-\<,_ Amateur Radio Operator: WA1RHP > (*)/ (*) Bicycle mobile on 145.41MHz PL74.4 > -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist