This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TMDSLCDK6748: GPIO_init is an undefined symbol when adding GPIO to current project.

Part Number: TMDSLCDK6748
Other Parts Discussed in Thread: OMAP-L138, OMAPL138

I am using the TMDSLCDK6748 with TI RTOS. I am trying to add GPIO to my current MCASP project. When I add GPIO_init, or other GPIO functions such as write, I am getting an undefined symbol error

I believe my header files are correct as they can be opened. 

I found some answers on here in regards to undefined symbols, and that it may be a linker error. I found a possible solution could be modifying the linker's file search path, but I haven't been able to do so with success. What should I be adding to the file search path?

I have compiled the GPIO example project and it works as expected. The problem only exists when I try to add GPIO to a current project.

  • Hello Ryan,

    The error you got was a linker error. You'll need to add the GPIO library to your project. If you use the RTSC configuration .cfg file in your project, you can add the following to the .cfg file:

    var Gpio = xdc.loadPackage('ti.drv.gpio');
    Gpio.Settings.enableProfiling = false;
    Gpio.Settings.socType = "c674";

    If you are not using RTSC configuration file, you'll need to add GPIO library to the linker library path. Go to Project Properties > Build > C6000 Linker > File Search Path. Add <pdk folder>\packages\ti\drv\gpio\lib\c674\release to library search path, and add ti.drv.gpio.ae674 to the library file list, as shown below:

    Regards,

    Jianzhong

  • Thank you for your response. I tried both of these methods individually and then together and I got a new undefined symbol as shown below.

    The following is my only board and GPIO code so far. Should I be doing something different?

    Thank you again.

  • GPIO_config is specific to development boards and is not defined in the GPIO library. Application code should provide this structure. There is an OMAP-L138 configuration file in the pdk: <pdk folder>\packages\ti\drv\gpio\soc\omapl138\GPIO_soc.c. I'm not 100% sure if it applies to C6748 LCDK, but you can give it a try.

    Please also refer to this FAQ for some additional information about creating RTOS project based on PDK.