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\NeuroLogica\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 ARRL Instructor, Technical Specialist, VE Contact. http://hamradio.cmcorp.com/inventory/Inventory.html http://www.harvardrepeater.org -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist