This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Error: L6218E: Undefined symbol UARTStdioInit

Hi,
I'm trying to use the i2c "master_slave_loopback.c" example from the Stellarisware7248 directory for the LM3S1968 and have went through the getting started excercises and other example programs and have painstakingly made sure all Linker settings etc.. etc are as described both in the Keil getting started appnote and the other LM3S1968 examples.

The list of headers as they appear are:

#include "inc/hw_memmap.h"
#include "inc/hw_types.h"
#include "inc/hw_i2c.h"
#include "driverlib/i2c.h"
#include "driverlib/sysctl.h"
#include "driverlib/gpio.h"
#include "utils/uartstdio.h"

All those headers show up in the project under the master_slave_loopback.c file

The following error keeps persisting. The symbol in question IS defined in the properly linked header file. Can I be missing something obvious?

i2c_LoopBack.axf: Error: L6218E: Undefined symbol UARTStdioInit (referred from master_slave_loopback.o)

Parents
  • Same as thread:
    http://www.keil.com/forum/18993/

    and lots of other threads.

    Header files contains information for the compiler.

    *.axf, *.o etc are involving the linker. The linker needs object or library files when linking a project. The linker doesn't care the slightest if you tell it "there exists a function with the name UARTStdioInit". The linker wants a file that contains already compiled code for that specific function.

    So either UARTStdioInit() is missing because you have forgotten to add a library or an object file to your project. Or it is a function that you are expected to write your own customized version of.

Reply
  • Same as thread:
    http://www.keil.com/forum/18993/

    and lots of other threads.

    Header files contains information for the compiler.

    *.axf, *.o etc are involving the linker. The linker needs object or library files when linking a project. The linker doesn't care the slightest if you tell it "there exists a function with the name UARTStdioInit". The linker wants a file that contains already compiled code for that specific function.

    So either UARTStdioInit() is missing because you have forgotten to add a library or an object file to your project. Or it is a function that you are expected to write your own customized version of.

Children