Disable SysConfig

This section will describe the steps necessary to disable SysConfig entirely. Disabling SysConfig may be necessary when freezing source code for production or when you are satisfied with the output.

This example will use the wdevice project from the WBMS-Stack, but the steps can be adopted for projects.

A summarization of the steps can be found below:

  1. Build the project at least once so that SysConfig can generate output

  2. Locate the generated files

  3. Copy generated files from build directory

  4. Modify compiler/linker files to point to moved files

  5. Stop SysConfig from running by Changing the .cproject file and disabling the pre-build step

Locating Generated Files

After building the wdevice project using default settings, the first step to disabling SysConfig is to determine which files it has generated.

Click the <> button in SysConfig to see which files it is currently generating. See SysConfig generated files. for an example of which files are generated by SysConfig for the wdevice project.

In CCS these files are placed in <build_config>/syscfg

  • <build_config> is the build configuration of the project. (e.g. Debug)

../_images/generated_files_wd.png

SysConfig generated files.

Copy Generated Files

In CCS the build directory is cleaned every time the project is rebuilt, so it is necessary to copy the generated files to a permanent location before the project is rebuilt. Follow the steps below to do so. We will place the files in the application in a folder called syscfg but it can be called anything.

  1. Right click on the project -> New -> Folder

  2. Copy the files from <build_config>/syscfg to the new folder.

Attention

When debugging using ROV, be sure to place syscfg_c.rov.xs in the root directory of the project. This way, the ROV tool can pull in the appropriate debug tools as selected by SysConfig initially.

Modifying Compiler/Linker Settings

The .c and .h files generated by SysConfig are consumed by the compiler and linker as part of the build process. Moving the files to a new location means that we need to modify the project settings to find them. For the case of wdevice this means:

  1. Change include paths (Project > Properties > ARM Compiler > Include Options)

  • Add ${PROJECT_ROOT}/syscfg

  1. Modify linker include paths (Project > Properties > ARM Linker > File Search Path)

  • Change the location of ti_utils_build_linker.cmd.genlibs to ${PROJECT_ROOT}/syscfg/ti_utils_build_linker.cmd.genlibs

Stop SysConfig from Running Entirely

The following steps are required to completely remove SysConfig’s involvement during a project build.

  1. Exclude the wdevice.syscfg file from build (right click and select Exclude from Build).

  2. Open the Project Explorer view’s menu (the triple dot icon in the top-right corner of the Project Explorer view), and open the Filters and Customization… dialog.

  3. In the dialog, de-select the .* resources entry (second entry from the top), and click OK.

  4. Open the .cproject file.

../_images/cproject_file_wd.png

Find the .cproject file.

  1. In this file, find and comment out or remove the XML element <tool name="SysConfig"/>, as shown below:

. . .
</tool>
<tool id="com.ti.ccstudio.buildDefinitions.TMS470_TICLANG_2.1.hex.401790876" name="Arm Hex Utility" superClass="com.ti.ccstudio.buildDefinitions.TMS470_TICLANG_2.1.hex"/>
<!-- <tool id="com.ti.ccstudio.buildDefinitions.sysConfig.202360173" name="SysConfig" superClass="com.ti.ccstudio.buildDefinitions.sysConfig">
    <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.ti.ccstudio.buildDefinitions.sysConfig.PRODUCTS.1688511978" name="Root system config meta data file in a product or SDK (-s, -/-product)" superClass="com.ti.ccstudio.buildDefinitions.sysConfig.PRODUCTS" useByScannerDiscovery="false" valueType="stringList">
        <listOptionValue builtIn="false" value="${COM_TI_SIMPLELINK_WBMS_SDK_SYSCONFIG_MANIFEST}"/>
        <listOptionValue builtIn="false" value="${SYSCONFIG_TOOL_SYSCONFIG_MANIFEST}"/>
    </option>
</tool> -->
. . .

Note 1: Make sure that you also break-up any double dashes inside that commented out XML section (e.g. see the string -/-product above, which used to be --product).

Note 2: Make sure that you comment out the <tool> element which is inside the (build) <configuration> element for which you wish to disable the SysConfig tool. I.e. build config Debug or Release.

After applying these steps, SysConfig will no longer run (and it will not show up in the Project overview).