7.3. System Projects

System Projects are a special type of container project designed to simplify management of multiple projects that are associated with different individual cores of a multicore device. In the System Project, associations are made between cores on a device and projects in the workspace. Building the System Project would build all associated projects and debugging a System Project would launch a debug session for the device and load the program build from the project associated with each core.

7.3.1. Creating a System Project

A System Project can be created using the New empty project wizard. The Output type of the project should be set to System in order to create a System Project.

_images/ccs_project-system_01.png

Once the System Project is created, the project will appear in the EXPLORER view and the associated system.xml file be opened in the editor. If a connection type was specified during the project creation, a target configuration file will also be created in the targetConfigs folder of the System Project.

_images/ccs_project-system_02.png

7.3.2. Configuring a System Project

The system.xml file is used to manage the associations between cores and projects. You can specify the project to be associated with each core. The system.xml file can be edited manually or by using the graphical editor provided in CCStudio IDE.

For the Configuration tab, select an available core under the DEVICE CORES list. Then on the right side under PROJECT CONFIGURATION, select the project to be associated with that core using the drop down menu for Project. The project must already exist in the workspace before it can be associated with a core in the System Project. The New... button can be used to open the New empty project wizard.

_images/ccs_project-system_03.png

Once a project has been selected for the core, select the Build Configuration associated for the project. The build configuration selected here will be the one that is built when building the System Project and the one that is loaded to the target when debugging the System Project. The drop down menu for Build Configuration will show the available build configurations for the project that is associated with the core. There will also be two additional options:

  • <match>: This option will select the build configuration with the same name as the System Project's active build configuration. This assumes that the individual projects for each core and the system project have build configurations of the same name. If this is not the case then a different option must be used.

  • <active>: This option will select the currently active build configuration for the project that is associated with the core in the System Project.

_images/ccs_project-system_04.png

Repeat the steps above to associate projects with each core in the device.

_images/ccs_project-system_04a.png

The Build Settings tab allows you to specify Pre and Post Build Steps for the System Project. These steps will be executed when building the System Project.

_images/ccs_project-system_04b.png

The Source tab displays the raw XML source of the system.xml file. While the source can be edited manually here, it is recommended to use the graphical editor to avoid any formatting issues with the XML file.

_images/ccs_project-system_04c.png

7.3.3. Building and Debugging a System Project

Building and debugging a System Project can be done the same way as standard projects. Building a System Project will build all projects associated with the cores in the System Project using the build configuration specified for each core in the system.xml file. Debugging a System Project will launch a debug session for the device and load the program built from the project associated with each core to the corresponding core in the device.

_images/ccs_project-system_05.png

Warning

When debugging a System Project, the IDE will attempt to load the program built from the project associated with each core to the corresponding core in the device. Some devices may have restrictions on when programs can be loaded for certain cores. Other devices (such as F29x) may have a very specific workflow for debugging multiple cores. In such cases, it is not recommended to debug the System Project directly.