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.

Compiler/TM4C129ENCZAD: What library is required to link GPIO_Init()

Part Number: TM4C129ENCZAD

Tool/software: TI C/C++ Compiler

I dug thru the TivaWare Peripheral Drivers Guide, the TIdrivers_tivac_2_16_01_13 html documentation (for GPIO_Init()), as well as the forums, for a clue as to what library (or package?) must be included in the CCS (v7.0) Properties-CCS Build-ARM Linker-File Search Path setting, in order to successfully link GPIO_Init? I cannot find any discussion of this detail; only the include files that are required, which i have included in the code files.

We are targeting a custom board with TM4C129ENCZAD.

The File Search Path is set up as follows:

Link fails with

error #10234-D: unresolved symbols remain

unresolved symbol GPIOTiva_config, first referenced in ,

C:/TI_CCS/tirtos_tivac_2_16_01_14/products/tidrivers_tivac_2_16_01_13/packages/ti/drivers/lib/drivers_tivaware_instrumented.aem4f<GPIOTiva.oem4f>               

What library must be added?

Thank you for your help.

  • Linker Search Path Settings:

  • I am sorry to hear you are having problems. I tried to recreate your issue by opening Resource Explorer and importing the example project "GPIO Interrupt" as shown below:

    I was able to compile and link with no errors. The linker file search path was set as shown below:

    The macro "COM_TI_RTSC_TIRTOSTIVAC_LIBRARIES" resolves to "C:\ti\tirex-content\tirtos_tivac_2_16_00_08" on my machine.

    Looking at the .map file created, the function GPIO_init came from the library "drivers_tivaware.aem4f"  in the directory "C:\ti\tirex-content\tirtos_tivac_2_16_00_08\products\tidrivers_tivac_2_16_00_08\packages\ti\drivers\lib"

    Let me know if this helps.

  • HI,

    Thank you for the quick response.

    I imported the same example (GPIO Interrupt), ran a build, and then checked the ARM Linker File Search Path window:

    Opening the icon with the '...', the sub-window opened as shown above (that has "Contributed by product ...", wherein, there is no path defined.

    Double-click on the COM_TI_RTSC_TIRTOSTIVAC_LIBRARY_PATH, and then selecting the Variables button opens a new window listing all the project variables (I guess...). The following screen capture shows the group from that list where COM_TI_RTSC_TIRTOSTIVAC.... values appear:

    I don't see anything connected  "C:\ti\tirex-content\tirtos_tivac_2_16_00_08"  (your machine; on mine, was expecting "C:\ti\tirex-content\tirtos_tivac_2_16_01_14").

    The above Variables section matches that in my project (that fails to link).

    Sorry, I'm so slow, but I still don't get it. Will continue to ponder/poke around but if you have other insights you can share, appreciate.

    Thank you.

  • Try searching for the file "drivers_tivaware.aem4f" on your machine. Another likely spot is:
    C:\ti\tirtos_tivac_2_16_01_14\products\tidrivers_tivac_2_16_01_13\packages\ti\drivers\lib
    Then you can just add the full path and file name to the Include library file box.
  • HI,

    I tried your suggestion, adding one at a time, the following two files/paths into the upper box in the Link Search Path window:

    drivers_tivaware.aem4f

    drivers_tivaware_instrumented.aem4f file

    The path for these is "C:\TI_CCS\tirtos_tivac_2_16_01_14\products\tidrivers_tivac_2_16_01_13\packages\ti\drivers\lib"

    Following screen capture shows how the second was set up:



    The result in both cases:

    Note that if I remove (comment out) the call to GPIO_init(), the link error goes away.

    Still scratching my head. Note that the above error is pointing to the folder that I just added to the link search path. I think that is where the missing symbol occurs. What is missing in all of this is what library that missing symbol is defined. I think that is what I need, the path and file name where the missing symbol is defined(?).

    Thanks again for your help.

  • Erik,
    Look at the image you pasted on your last post - specifically up there where the red lines start to show (error #10234-D...)
    One or two lines above that, there is a "cannot find file xxxxxxxxxxxxx" (or something similar). You did not paste it, as such line is usually "hidden" by the window size - scroll up a bit.
    Look CAREFULLY to the complete path of the file that could not be found - it is certainly a path that does not exist in your computer / file structure. The correct path is often a bit different due to your folder installation levels and other references...
    Use, for example, Agent Ramsack" to find the file in your PC - and compare the real path to the CCS path.
    Then figure out which variables are pointing to the wrong path, and fix them...
    Hope that makes sense - if not let us know. Good luck.
    Bruno