You (or perhaps some other piece of code) are supposed to define these functions, so that things like printf will use your UART code.
This is what I did, and it make printf work:
enum {
kUARTNoError = 0,
kUARTUnknownBaudRate,
kUARTConfigurationError,
kUARTBufferOverflow, /* specified buffer was too small */
kUARTNoData /* no data available from polling */
};
//
// these are my functions:
//
uint8_t Serial_rxbyte(int port, uint8_t *data);
uint8_t Serial_txbuf(int port,uint8_t * data, uint16_t len, uint16_t *sent);
// These make printf work...
int WriteUARTN(void* bytes, unsigned long length);
// This gets called with a length of 1.
int ReadUARTN(void* bytes, unsigned long length )
{
while(RX_EMPTY == Serial_rxbyte(0,(uint8_t *) bytes) )
;
WriteUARTN(bytes, 1);
return kUARTNoError;
}
int WriteUARTN(void* bytes, unsigned long length)
{
Serial_txbuf(0,(uint8_t *)bytes, (uint16_t) length, 0);
return kUARTNoError;
}
// Call other code to init UART, this is just to satisfy the linker...
int InitializeUART( int baudrate )
{
return kUARTNoError;
}
Even if you just define them empty, it will solve the build problem for now.