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.

BIOS PSP gpioSample undefined symbols?

Guru 15580 points
Other Parts Discussed in Thread: OMAPL138

I am trying to use the BIOS PSP to implement an interrupt input on one of my GPIO pins. I have successfully imported, built, and run the gpioSample code in the PSP package.

Now I have copied the gpioSample code into my program and included the search paths to the PSP package location. However, I get the following undefined symbols during linking. What path or library have I left out?

undefined                   first referenced                                                                                             

  symbol                         in file                                                                                                  

 ---------                   ----------------                                                                                             

 _ECM_dispatchTab            C:/Program Files (x86)/Texas Instruments/bios_5_41_07_24/packages/ti/bios/lib/bios.a674<ecm_dispatch.o674>   

 _Gpio_PARAMS                ./main.obj                                                                                                   

 _Gpio_bankInterruptEnable   ./main.obj                                                                                                   

 _Gpio_clearInterruptStatus  ./main.obj                                                                                                   

 _Gpio_open                  ./main.obj                                                                                                   

 _Gpio_regIntHandler         ./main.obj                                                                                                   

 _Gpio_setFallingEdgeTrigger ./main.obj                                                                                                   

 _Gpio_setPinDir             ./main.obj                                                                                                   

 _Gpio_setRisingEdgeTrigger  ./main.obj                                                                                                   

 _PMI_getModuleState         C:/Program Files (x86)/Texas Instruments/bios_5_41_07_24/packages/ti/bios/lib/bios6748.a674<pwrm_set674.o674>

 _PMI_setModuleState         C:/Program Files (x86)/Texas Instruments/bios_5_41_07_24/packages/ti/bios/lib/bios6748.a674<pwrm_set674.o674>

 __PWRM_CAPSMASK             C:/Program Files (x86)/Texas Instruments/bios_5_41_07_24/packages/ti/bios/lib/bios6748.a674<pwrm_set674.o674>

Thx,

MikeH

 

  • OK. Well I found the include libraries in the .cmd file and added them. But I still get the following errors. Any guidance?

    <Linking>

     

     undefined           first referenced                                                                                             

      symbol                 in file                                                                                                  

     ---------           ----------------                                                                                             

     _ECM_dispatchTab    C:/Program Files (x86)/Texas Instruments/bios_5_41_07_24/packages/ti/bios/lib/bios.a674<ecm_dispatch.o674>   

     _PMI_getModuleState C:/Program Files (x86)/Texas Instruments/bios_5_41_07_24/packages/ti/bios/lib/bios6748.a674<pwrm_set674.o674>

     _PMI_setModuleState C:/Program Files (x86)/Texas Instruments/bios_5_41_07_24/packages/ti/bios/lib/bios6748.a674<pwrm_set674.o674>

     __PWRM_CAPSMASK     C:/Program Files (x86)/Texas Instruments/bios_5_41_07_24/packages/ti/bios/lib/bios6748.a674<pwrm_set674.o674>

     

    error: unresolved symbols remain

     

  • Hi Mike,

    Firstly, can you please confirm us as to which version of the BIOS PSP are you using?. And when using the sample code and trying to build and link with other files you need to make sure all the required libraries are included. Looking into the unresolved symbols error you have obtained,  seems like the sample code is unable to link to the BIOS libraries.

    1. Make sure the BIOS path is correctly set and included in the search path.

    2.  Try adding the following libraries too:

                  -lbios6748.a674   /* BIOS clock specific library */

                  -lbios.a674           /* DSP/BIOS support */

    Let me know the result..

    Thanks & regards,

    Raghavendra

  • Raghavendra,

    I am using PSP 1.30.01 (C:\Program Files (x86)\Texas Instruments\pspdrivers_01_30_01) and have provided a file search path to my bios libs ("C:\Program Files (x86)\Texas Instruments\bios_5_41_07_24\packages") in the Linker File Search Path settings window. I have also expanded the .cmd file to include the two bios libs that you suggested above. The .cmd file now looks like this:

    -l"ti\pspiom\psc\lib\OMAPL138\Debug\ti.pspiom.psc.a674"

    -l"ti\pspiom\gpio\lib\OMAPL138\Debug\ti.pspiom.gpio.a674"

    -l"ti\pspiom\platforms\evmOMAPL138\lib\Debug\ti.pspiom.platforms.evmOMAPL138.evmInit.a674"

    -l"ti\bios\lib\bios6748.a674"

    -l"ti\bios\lib\bios.a674"

    After adding the bios paths I still get the following errors:

    undefined           first referenced                                                                                             

      symbol                 in file                                                                                                  

     ---------           ----------------                                                                                             

     _ECM_dispatchTab    C:/Program Files (x86)/Texas Instruments/bios_5_41_07_24/packages/ti/bios/lib/bios.a674<ecm_dispatch.o674>   

     _PMI_getModuleState C:/Program Files (x86)/Texas Instruments/bios_5_41_07_24/packages/ti/bios/lib/bios6748.a674<pwrm_set674.o674>

     _PMI_setModuleState C:/Program Files (x86)/Texas Instruments/bios_5_41_07_24/packages/ti/bios/lib/bios6748.a674<pwrm_set674.o674>

     __PWRM_CAPSMASK     C:/Program Files (x86)/Texas Instruments/bios_5_41_07_24/packages/ti/bios/lib/bios6748.a674<pwrm_set674.o674>

    You guidance is much appreciated....

    Thx,

    MikeH

     

  • Raghavendra,

    I found one of the errors. I had neglected to enable PRWM in my .tcf file. Doing so got rid of the PMI and PWRM errors. However, the ECM error persists. For some reason I do not see ECM_dispatchTab in the ecm.h file in my bios include directory.....? 

    Mike


  • Raghavendra,

    Now I have solved the mystery. I had also neglected to enable the Event Combiner Manger in my .tcf file. After doing so the final error is gone.

    I HIGHLY RECOMMEND THAT YOU UPDATE YOUR EXAMPLE DOCUMENTATION TO INCLUDE THE SETTINGS IN THE BIOS .tcf FILE. As you can see, these errors are masked as path setting errors and are very difficult to debug.

    MikeH
     

  • hi MikeH,

    I have the same problem as the one you posted here, and I'm also using pspdrivers_01_30_01 and bios_5_42_01_09 with the xdctools. In my xmakefile linker, I set:

    -I"C:/ti/bios_5_42_01_09/packages/ti/bios/lib/bios.a674"

    -I"C:/ti/bios_5_42_01_09/packages/ti/bios/lib/bios6748.a674"

    -I"C:/ti/bios_5_42_01_09/packages/ti/bios/lib" -I"C:/ti/bios_5_42_01_09/packages/ti/rtdx/lib/c6000"

    -I"C:/ti/C6xCSL/lib" -I"C:/ti/ccsv5/tools/compiler/c6000_7.4.4/lib"

    -I"C:/ti/bios_5_42_01_09/packages/ti/pscl/lib/pscl_cfg_null.a674"

    -I"C:/ti/bios_5_42_01_09/packages/ti/pscl/lib/pscl.a674"  

    -I"C:/ti/bios_5_42_01_09/packages/ti/bios/lib/pwrm.a674"

    -I"C:/ti/bios_5_42_01_09/packages/ti/pmi/lib/pmi_ctl_null.a674"

    -I"C:/ti/bios_5_42_01_09/packages/ti/pmi/lib/pmi.a674" 

    I didn't quite get your solution in the post. Can you tell me very detailed how can I solve the problem? thanks!

    undefined first referenced
    symbol in file
    --------- ---------------- ------------------------------------------------------------------------------------------------------------------
    _PMI_getModuleState C:/ti/bios_5_42_01_09/packages/ti/bios/lib/bios6748.a674<pwrm_rel674.o674>
    _PMI_setModuleState C:/ti/bios_5_42_01_09/packages/ti/bios/lib/bios6748.a674<pwrm_rel674.o674>
    _PWRM_getCurrentSetpoint C:/ti/pspdrivers_01_30_01/packages/ti/pspiom/i2c/lib/C6748/Release/ti.pspiom.i2c.a674<I2c.obj>
    _PWRM_getNumSetpoints C:/ti/pspdrivers_01_30_01/packages/ti/pspiom/i2c/lib/C6748/Release/ti.pspiom.i2c.a674<I2c.obj>
    _PWRM_getSetpointInfo C:/ti/pspdrivers_01_30_01/packages/ti/pspiom/i2c/lib/C6748/Release/ti.pspiom.i2c.a674<I2c.obj>
    _PWRM_registerConstraint C:/ti/pspdrivers_01_30_01/packages/ti/pspiom/i2c/lib/C6748/Release/ti.pspiom.i2c.a674<I2c.obj>
    _PWRM_registerNotify C:/ti/pspdrivers_01_30_01/packages/ti/pspiom/i2c/lib/C6748/Release/ti.pspiom.i2c.a674<I2c.obj>
    _PWRM_unregisterConstraint C:/ti/pspdrivers_01_30_01/packages/ti/pspiom/i2c/lib/C6748/Release/ti.pspiom.i2c.a674<I2c.obj>
    _PWRM_unregisterNotify C:/ti/pspdrivers_01_30_01/packages/ti/pspiom/i2c/lib/C6748/Release/ti.pspiom.i2c.a674<I2c.obj>
    __PWRM_CAPSMASK C:/ti/bios_5_42_01_09/packages/ti/bios/lib/bios6748.a674<pwrm_get674.o674>

    error: unresolved symbols remain
    error: errors encountered during linking; "./CustomMW/ExampleModule.out" not
    built