Disable SysConfig

There are two ways to disable SysConfig. For projects where SysConfig generates command files (.opt files), the first method is recommended. For projects where SysConfig does not generate any command files, the second method is recommended.

First Method: Stop SysConfig From Running

Note

This method should only be used if the following two conditions are met:

  • Project where SysConfig generates command files (.opt files). If you are unsure whether SysConfig generates command files for your project, please see Locating Generated Files.
  • Using CCS version 10.0.0.

In other cases please use Second Method: Exclude SysConfig From Build.

A summarization of the steps can be found below:

  1. Build the project at least once so that SysConfig can generate output
  2. Top SysConfig from running by changing the .cproject file.

Locating Generated Files

Click the <> button in SysConfig to see which files are generated. See Figure 216. for an example of which files are generated by SysConfig for the simple_peripheral project. Command files are marked with yellow.

In CCS these files are placed in <build_config>/syscfg where <build_config> is the build configuration of the project. (e.g. Debug)

../_images/generated_files_sp.png

Figure 216. SysConfig generated files. Command files are marked with yellow.

Stop SysConfig from Running by Changing the .cproject File

  1. Open the .cproject file.
../_images/cproject_file.png

Figure 217. 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_20.2.hex.1150171138" name="ARM Hex Utility" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.hex"/>
<!--tool id="com.ti.ccstudio.buildDefinitions.sysConfig.752181800" name="SysConfig" superClass="com.ti.ccstudio.buildDefinitions.sysConfig">
  <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.ti.ccstudio.buildDefinitions.sysConfig.PRODUCTS.967104601" 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_CC13X2_26X2_SDK_SYSCONFIG_MANIFEST}"/>
  </option>
</tool-->
<tool id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.499843531" name="XDCtools" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.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.

  1. 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.
  2. In the dialog, de-select the .* resources entry (second entry from the top), and click OK.

After applying these steps, SysConfig will no longer run (and it will not show up in the Project overview). In this case there is no need to change the location of the generated files. If you need to make a change in one of the generated files, just open the file and change the code as needed.

Second Method: Exclude SysConfig From Build

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

This example will use the multi_role project from the BLE5-Stack, but the steps can be adopted for project.

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. Disable SysConfig from running as a pre-build step
  5. Modify compiler/linker files to point to moved files

Locating Generated Files

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. Command files are marked with yellow. for an example of which files are generated by SysConfig for the multi_role project.

In CCS these files are placed in <build_config>/syscfg
  • <build_config> is the build configuration of the project. (e.g. Debug)
In IAR these files are placed in the project folder (e.g. ~/<proj_import>/)
  • <proj_import> is the location selected when importing the project in IAR
  • In the IDE the SysConfig files reside in a virtual folder called SysConfig Generated Files. You can find their location by right clicking any of the files in this folder and selecting “Open Containing folder…”

Copy Generated Files

IAR Users may skip this step

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.

Disabling SysConfig

Disabling SysConfig is slightly different for IAR vs CCS. Expand the relevant section below to see how to disable SysConfig.

Click to IAR Instructions

In IAR, SysConfig is treated as a Custom Build step. To access the custom build steps select Project > Options > Custom Build. Remove all the fields that are populated under the Custom Tool Configuration tab as shown below:

../_images/sysconfig-disable-iar.png

Figure 218. Disable SysConfig IAR

Click to CCS Instructions

In CCS, files ending in .syscfg are automatically flagged as SysConfig files. If you have a file active in your workspace, it will invoke the SysConfig tool. This can be disabled by excluding the .syscfg files from build.

Modifying Compiler/Linker Settings

IAR Users may skip this step as the SysConfig output is already in a non destructive location. However, if you moved the SysConfig generated content to a new location elsewhere in the file system, you may need to change the project settings.

The .c, .h, and .opt 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 multi_role this means:

  1. Change include paths (Project > Properties > ARM Compiler > Include Options)
  • Add ${PROJECT_ROOT}/syscfg

2. Change location of .opt files (Project > Properties > ARM Compiler > Advanced Options > Command Files)

  • Change the location of the ti_build_config.opt and ti_ble_app_config.opt to be in ${PROJECT_ROOT}/syscfg