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.

CCS: ARM Compiler->Include Options including wrong library

Other Parts Discussed in Thread: TM4C1294NCPDT, TM4C123AH6PM

Tool/software: Code Composer Studio

CCS is 7.3.0.00019 Running in Win7

In our project, we need to add a Static Library which happens to be in the same workspace.

For resolving the headers, what we do is to go to CCS Build -> ARM Compiler -> Include Options -> Add dir to #include serach path

The desired directory is NOT showing up on the Includes folder of the project explorer. And a different library is showing up there with a purple folder icon, and we can't find a reference to this "undesired" folder anywhere!

This *TM4C123* library IS NOT being included by anything project parameter that we can think of!

Rebuilds, clean, properties/index/rebuild, erasing the project sub-folders that are re-criated by CCS, none of these have worked.

Any hints?

Regards

Bruno

  • Bruno Saraiva said:
    This *TM4C123* library IS NOT being included by anything project parameter that we can think of!

    Is it possible that this directory is specified in the compiler include search path for one of the source files (file specific option) rather than at the project level?

    Or is it possible that it was added at one point, and then deleted but perhaps it never got fully deleted from the .cproject file? Do you see a reference to it in the .cproject file?

  • Hi AartiG!

    Thanks for the guidance.

    AartiG said:
    Is it possible that this directory is specified in the compiler include search path for one of the source files (file specific option)

    I did not even know this was a thing. Is that the right-click-on-file -> show build settings? If so, is there a more efficient way of checking it than looking at each of the project's .c files? Either way, if that's what you refer to, looking at the settings for the .c files of the project do not contain the "bad directory".

    AartiG said:
    Do you see a reference to it in the .cproject file?

    Looking at the XML .cproject, the only results for a "123" text search are on the line below, which I'm not sure what is for:

    <sourceEntries>
    <entry excluding="tm4c1294ncpdt.cmd|tm4c123ah6pm_startup_ccs.c|tm4c123ah6pm.cmd" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
    </sourceEntries>

    Regards,

    Bruno

  • Bruno Saraiva said:
    Either way, if that's what you refer to, looking at the settings for the .c files of the project do not contain the "bad directory".

    Yes that is what I was referring to, and looks like that is not the source of the issue.

    You seem to have already checked the .cproject file, but would you mind attaching all the project metadata files (.cproject, .ccsproject, .project) for us to look at, just in case something jumps out?

  • Certainly!

    Here they are.

    Bruno

    8407.metadata.zip

    (end)

  • Thank you for sending the project files.

    When I import this project into CCS, I do not see the offending include path that you showed in your screenshot. This is what I see. The first path shows /Libraries/Tiva because I do not have the variable ${BRASTANLIBGIT_ROOT} defined. But it does match with the include paths set for the project.

    So I'm still not sure why the extra path is showing up for you.

    Have you tried importing the project into a new workspace to see if that makes a difference?

  • Aartig,

    I'll reply before trying, but from memory I can tell that if I import that project to a different workspace, it will work properly.

    The issue is somewhat related to WHEN THERE IS A LIBRARY in the same workspace... Let me try to give you a timeline:

    1- When the library referred by the include is not in the WS, it will show as you see (a normal yellow folder), and if LIB_ROOT had been defined, it would allow the tree to expand into the existing folders and files.

    2- When the library exists in the WS, for some reason CCS decides it is smart to turn it into a purple folder. Compiling/linking work just the same, but ON YOUR APPLICATION PROJECT you can't explore the folders/files past the root purple folder (you would do that in the LIBRARY PROJECT ENTRY, elsewhere in that workspace). That was "unnecessary, but" just fine...

    3- Now, this is when the problem came up: this workspace has not only the referred library, but also another compiled library that relates to the first one... (let's call the usual library "COMPANY_LIB", and the new one "TIVA129_LIB" which uses components from COMPANY_LIB.

    Well, from situation 3 on, my main (application) project does not show the correct purple folder. It shows a random additional library, which is not referred to anywhere in the application settings, as you could see by the XML's.

    I hope this helps you understand the issue. For now, I can create a separate workspace and keep the libraries there (not ideal, because during this development phase there is frequent changes both on the application and the library, and switching back and forth between workspaces is not productive). But there is something wrong in CCS/Eclipse/Somewhere, when using the described situation, and it seems it is the case to file a bug tag.

    Should you need me to look any further into the details to help figuring it out, just let me know.

    Regards

    Bruno
  • Bruno,

    Thank you for the additional details. It seems that a very specific set up is required for this issue to surface, as we have not seen or heard of this issue before.

    Would you happen to have a workspace that you can share with us which contains the main project and libraries as you described? Hopefully, having the complete workspace will help us reproduce and take a closer look at the issue. You can share it with me privately if you prefer to not post it here.

  • Aartig,

    Can you guide me into what do you need shared? This particular workspace is quite a mess, and it contains files both in the default location as well as in totally different locations of the local disk. Do you need actual souce files as well? If possible, pm me to discuss these details and I'll see what I can do to help.

    Regards,

    Bruno
  • Further to the other message, here are two images: one of the messy workspace, and one of a fresh workspace with a single project, in which the "normal yellow folder" is seen.

    Interesting to note that both of the projects that are expanded have exactly the same include path configuration.

  • This issue was further discussed offline. However, I was still unable to reproduce the issue.

    To summarize for those following this thread, it seems that a certain unique combination of factors at the user's end triggered the unusual behavior. They were able to get things working well again by creating a new workspace and modifying the libraries folder structure, and agreed that this thread can be closed for now.