Project Sharing

From Texas Instruments Wiki
Jump to: navigation, search


The purpose of this topic is to describe how you can quickly package up and send a project to another user. There is a separate topic Portable Projects that describes in detail how to modify your projects to faciliate having multiple users working on the same project at the same time. This topic focuses on how you can simply take an existing project without changing it and send it to another user.

Sharing "simple" projects

This method assumes that all source/header files are contained within the project folder and the whole folder including all the files can be shared. To share such projects:

  • zip up the entire project folder and share with other user
  • user who receives the project can unzip the file and import the project into their workspace using "Project->Import Existing CCS Eclipse Project" and select the project folder

Sharing "linked file" projects

The approach we are going to use here is similar to simply zipping up your project and sending that zip to another user. However this method works well even when you have linked (or referenced) files that are located outside of the project folder.

The method described here does not handle every case and if it does not work for you then you will want to take a look at the other alternatives described by the Portable Projects topic.


Exporting Projects In this capture we show how you can export a project and give it to other users. It shows how to structure your project and how to use the export and import features. Instructions are also available below.

In this demo all the files are located within the project directory structure. If in your project you are using linked files this method can still work. What will happen is when you create the archive the export tool will include the linked resources in your archive file. When you import that archive into a workspace on a different PC it will extract the files from the archive and place them in the same location on the new PC.

Exporting your project

These instructions cover how to archive your project on the source computer.

  1. File -> Export
  2. Expand "General" and select "Archive File". Click "Next"
  3. The dialog that appears allows you to select which projects you wish to export to the archive. When you select a project it will show you on the right hand side all of the items it is going to export. Check the box beside the project to indicate that you want to archive it.
  4. Recent versions of CCS have a check box titled Resolve and export linked resources. If your project has any linked files, then check this box.
  5. Specify a name for your archive and select either zip or tar, then click "Finish"
  6. You now have a zip file on your computer containing the project. Not only did it copy in the files that are physically located in your project directory but it also copied in your linked/referenced resources.

Vido run through:

Importing the project on another machine

These instructions cover how to import the project from the archive. What happens is that it will import the project into your workspace. For linked/referenced resources it will copy those files from the archive in place then at the same path where they were located on the original computer.

  1. Project -> Import Existing CCS/CCE Eclipse Project
  2. Change the radio button selection at the top to "Select archive file"
  3. Browse to and select your archive file
  4. It will list all of the projects found in the archive. The are all selected by default. Select the ones you want and click "Finish"
  5. The project is now in your workspace

Creating Example Projects

If you are creating example projects to provide to other users there are some guidelines that you can follow to make it easier for other users to be able to use your examples.

  1. If possible include all of your source files in the project directory or in sub-directories under the project directory. This removes the issue of having to deal with linked files.
  2. Include a readme.txt or similar file in the project that describes the purpose of the example as well as how to import it using the import from archive feature described in this topic. This file should also describe any special build options that are set.
  3. If the project is designed to work with a specific development board that has onboard emulation consider including a target configuration file (.ccxml) in the project so that users can simply hit the bug button to build it and launch a debug session without having to setup the debugger.
  4. Don't duplicate files that already exist in the CCS installation in your project. For these files reference them using some of the standard macros like: ${CCS_INSTALL_ROOT}
  5. Export your project to an archive and share the zip (or tar if Linux).

Known Issues

This section covers use cases that can cause this method to fail and where you may need to perform extra steps

  • The original project had file locations defined with variables. This common when someone tried to create the original project as a portable project. You will need to update the definition of these variables to match the location on your computer. Do this from Windows -> Preferences. Expand General -> Workspace -> Linked Resources. Select the variable and click the Edit button to change the value. Once you have defined the variables you will need to delete the project from your workspace and import it again so that the import tool will copy the files in the archive to the correct location. Alternative you could manually copy the files from the archive to the specified locations but it is easier to just redo the import. Note that if there is a macro.ini file in the project when you do the import it may request to overwrite your definitions, say no.
    • StellarisWare and ControlSuite projects both use variables.
  • If header files are not in the project either physically in the project or added via linked resources then they will not be included in the archive.
  • This feature is broken in CCSv5 due to a bug (355049) in the Eclipse version that CCSv5 is based on