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.

How to use a common code directory between workspaces?

I am using CCS 5.1.0.09000.  I have a directory with a bunch of random code I want to reuse and be common between several different workspaces.  Lets this common code directory is located at "c:\commoncode" it has 2 files in it "common.c" and "common.h".  I do the following

  1. Start new workspace.
  2. Import stellarisware driverlib and an example project to start off with (for this i used "C:\StellarisWare\boards\ek-lm4f232\sine_demo")
  3. Right Click on sine_demo Project > Properties > Build > TMS470 Compiler > Include Options > add "c:\commoncode" to the search path
  4. Drag the "commoncode" directory into the sine_demo project and tell CCS to link and retain folder structure.
  5. include "common.h" in "sine_demo.c"
  6. add a function into main of "sine_demo.c" from "common.c"
  7. Clean and Build sine_demo.

Doing this is get the following warning "This project contains unresolved buildable linked resources".  Where am I going wrong?  I am not trying to make a portable project or anything like that I just need to make this work on 1 computer but will be using multiple workspaces and would like to just maintain 1 common directory for code they want to share.

  • Hi Natan,

    you have the right idea but are perhaps looking at the wrong include options.

    First of all if your code is the common.c then this project I would make the main working project and link the Stellaris Driver library to it.  You did the right thing importing the driver library project.

    Now in the project with common.c you should add the dependency and path to the stellaris driver library.

    This is done in the following places

    Dependency

    Project->Properties->Build-> Dependencies Tab

    Also select "Show Advanced Settings" and add it under Project->Properties->Project References

    Path

    Add the path under

    Project->Properties->Linked Resources

    Project->Properties->CCS Build->xxx Compiler->Include Options

    Project->Properties->CCS Build->xxx Linker->File Search path

    Give the above a try and have a look at these wikis and keep us informed if it helps.

    http://processors.wiki.ti.com/index.php/Project_Sharing

    http://processors.wiki.ti.com/index.php/Portable_Projects

    Best Regards,
    Lisa

  • I don't really understand what you want me to do.  Those wiki articles are about having code that can be shared between different computers.  I am trying to include code on a single computer into multiple workspaces without warnings.  The "commoncode" is just a directory with 2 files a .c and .h it is not a project.  In my example I outline for you to try i show how I get to the point where I get a warning.  To be honest I am not sure if this is a problem because my code seems to work despite the warning.  I get no warning if I just right click on the project and click "Add Files.." and link the files that way.  Is this a bug?  Should I make my "commoncode" directory into a project and import that?  Is there way to not have to link or copy a file into the project but just use it by giving only setting the include path and #include?

  • Hi Natan,

    no sorry I think we were communicating about different things.  I just made an assumption you had a project and were trying to figure out how to link in/reference a stellarisware library.

    It is no problem at all to add files the way you discovered.  

    So have you got to a point you are happy then? 

    Sorry about the misunderstanding of the question.

    Best Regards,
    Lisa

  • No trouble with stellarisware;  I am specifically using example programs from stellarisware and importing them so I can get the basic stellarisware driver library setup automatically.  If my method of including files is correct why do I get a warning?  I am just trying to make sure this warning is not going to come back to bite me later on.  Is there a different way to do what I want that woul work better?

  • Hi Natan,

    ok, now I understand.  It would be a good idea to remove this warning.

    Do you see a yellow exclamation mark by the files you linked in?

    What do you see under Project->Properties->Resource->Linked Resources ... do the files show up with the correct path here?

    The error usually means that your project has linked source files and the path to some (or all) of those linked files could not be resolved, so CCS cannot find them. These files should be highlighted with the "!" icon in the Project Explorer.

    The most common cause of broken links is that the project relies on specific linked resource path variables and those variables are not properly defined on the machine that is reporting the error. It could also simply be because the file is no longer in the file system or it has changed its location relative to the linked resource path variable. 

    Please see this related thread: http://e2e.ti.com/support/development_tools/code_composer_studio/f/81/t/143695.aspx

    Please let us know if the above helps.


    Best Regards,

    Lisa

  • No files with exclamation points listed that I can see.  The linked resource file list looks correct.  Did you not get the same warning when trying the steps I listed?

  • Hi Natan,

    I tried to follow pretty much exactly the steps you describe and get no errors or warnings.

    When I imported the Stellaris demo and driver library I selected "copy project into workspace" as well as "automatically import referenced projects".  Are you doing the same?

    That is odd you should get that warning if your file seems properly resolved in the linked resources.  Or is it the files you add it give the warning about?

    Please keep us informed.
    Best Regards,
    Lisa

  • Hi Natan,

    just thought I would double check for any updates to your enquiry.  I hope the tips were helpful.

    Best Regards,

    Lisa