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.

LAUNCHXL-CC26X2R1: Multiple SysConfig files in a project

Part Number: LAUNCHXL-CC26X2R1
Other Parts Discussed in Thread: SYSCONFIG

I am trying to use several sysconfig files in the same project as per the following : https://software-dl.ti.com/ccs/esd/documents/application_notes/appnote-sysconfig_multiple_configuration_files.html

However this seems not to work.

If you have and compile two different build configuration named Development and Production for exemple.

Then two folder will appear <project>/Development and <project>/Production each containing the auto generated file /syscfg/ti_drivers_config.h

Since each of these files contain the same header protection (see below) and because TiCCS considers that <project>/Development and <project>/Production are part of the build,  one header file will disable the second. Apparently there is now way to choose which one.

#ifndef ti_drivers_config_h
#define ti_drivers_config_h

This can lead to unpredictable behaviour.

So the question is : how is it possible to exclude from  build the build directories that belong to the others build configurations than the one selected ?

Regards. 

  • Hi Frederic,

    Which version of the SIMPLELINK-CC13XX-26XX-SDK are you evaluating?  What unpredictable behavior are you observing from using two different build configurations, and is this during runtime or compilation?  I am not seeing any build issues when using two build configurations with different SysConfig files.  You can likely resolve this issue by cleaning your project in between each build.

    Regards,
    Ryan

  • Hi Ryan,

    I am using SIMPLELINK-CC13XX-26XX-SDK 5.20.00.52

    If you try having two build configuration with two different sysconfig files then you will end up with two ti_drivers_config.h files:

    As per my example:

    <project>/Development/syscfg/ti_drivers_config.h

    <project>/Production/syscfg/ti_drivers_config.h

    And both directories will be in sight of the indexer so on the editor one file will be greyed out and the other file not. But it is not predictable which file will have the priority.

    Curiously in an other file that includes ti_drivers_config.h when I ctrl-click on  <ti_drivers_config.h> I endup on the  ti_drivers_config.h file that is not the one of the active build config.

    I realised later that on the compilation step things are done properly. The application is compiled with the right  ti_drivers_config.h because ${PROJECT_ROOT}/${ConfigName} is part of the compiler includes directories. And the compiler first searches in these directories.

    To have the indexer find the proper file, the solution I found was to include ${PROJECT_ROOT}/${ConfigName}/syscfg in the arm compiler include options.