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.

IWR6843: Understanding the ProjectSpec file -- what do these specific things do?

Part Number: IWR6843
Other Parts Discussed in Thread: MATHLIB

Here is an interesting snippet of TI's .projectspec file for the MMWave SDK Out-of-Box (OOO) demo:

    compilerBuildOptions="
    -I${PROJECT_ROOT}
    -I${CG_TOOL_ROOT}/include
    -I${COM_TI_MMWAVE_SDK_INSTALL_DIR}/packages
    -I${TI_PRODUCTS_DIR}/mathlib_c674x_3_1_2_1/packages


    <!-- Project properties -->
    <property name="type" value="rtsc"/>
    <property name="products" value="com.ti.rtsc.SYSBIOS:6.73.01.01;com.ti.MMWAVE_SDK:03.06.00.00-LTS;"/>
    <property name="xdcToolsVersion" value="3.50.08.24_core"/>
    <property name="target" value="ti.targets.elf.C674"/>
    <property name="platform" value="ti.platforms.c6x:IWR68XX:false:600"/>
    <property name="endianness" value="little"/>
    <property name="output_format" value="elf"/>
    <property name="buildProfile" value="release"/>
    <property name="configuroOptions" value="--compileOptions &quot;--enum_type=int &quot; "/>

    <!-- Project files -->
    <file path="${COM_TI_MMWAVE_SDK_INSTALL_DIR}/packages/ti/demo/xwr68xx/mmw/dss/dss_main.c" openOnCreation="false" excludeFromBuild="false" action="copy"/>
    <file path="${COM_TI_MMWAVE_SDK_INSTALL_DIR}/packages/ti/demo/xwr68xx/mmw/dss/mmw_dss.cfg" openOnCreation="false" excludeFromBuild="false" action="copy"/>
    <file path="${COM_TI_MMWAVE_SDK_INSTALL_DIR}/packages/ti/demo/xwr68xx/mmw/dss/mmw_dss_linker.cmd" openOnCreation="false" excludeFromBuild="false" action="copy"/>
    <file path="${COM_TI_MMWAVE_SDK_INSTALL_DIR}/packages/ti/datapath/dpc/objectdetection/objdetdsp/src/objectdetection.c" openOnCreation="false" excludeFromBuild="false" action="copy"/>
    <file path="${COM_TI_MMWAVE_SDK_INSTALL_DIR}/packages/ti/platform/xwr68xx/c674x_linker.cmd" openOnCreation="false" excludeFromBuild="false" action="copy"/>
    <file path="${COM_TI_MMWAVE_SDK_INSTALL_DIR}/packages/ti/board/antenna_geometry.c" openOnCreation="false" excludeFromBuild="false" action="copy"/>

I can't seem to find any info on what the following comnmands do:

 <property name = " " , value = " ">
 <filepath="" openOnCreation="false" excludeFromBuild="false" action="copy"/>

and where I can find the definitions of the environment variables like ${PROJECT_ROOT}.

Could anyone provide insight?

  • Hi,

    Take a look at the following page from the CCS documentation:

    https://software-dl.ti.com/ccs/esd/documents/ccs_projectspecs.html

    And feel free to let me know if you have any further questions afterwards, and I can try to bridge those gaps for you.

    Best Regards,
    Alec

  • Hi Alec, I did take a look but the document you linked does not provide explanations.

    I have the following questions:

    1. Where are the variables   -I${PROJECT_ROOT} -I${CG_TOOL_ROOT}/include -I${COM_TI_MMWAVE_SDK_INSTALL_DIR}/packages -I${TI_PRODUCTS_DIR}/mathlib_c674x_3_1_2_1/packages defined?

    2. What does setting the <property name> do? E.g. What is  <property name="target" value="ti.targets.elf.C674"/> doing?

    3. What do the commands  openOnCreation="false" excludeFromBuild="false" action="copy" do?

  • Hi Alex,

    I will use the 6843ISK out of box demo from  the mmWave Industrial Toolbox Version 4.12.0 as an example here.

    1. 

    The majority of these symbols can be found in CCS by right clicking the project->properties and then go to Resource->Linked Resource

    There are a couple of exceptions which are defined by CCS itself (such as PROJECT_ROOT). I'm not sure where you can check where these are defined (since you cant change them). There's a bit more documentation on that here: https://software-dl.ti.com/ccs/esd/documents/users_guide/ccs_project-management.html

    2. 

    I believe all of those properties are used to set the values of the General tab of the project properties

    3. 

    For each of the files being imported for the project, it does the following

    openOnCreation determines which files are opened in the editor upon import of the project. So this is usually set to False for every file, or sometimes it may be set to true for the Main.c file (or equivalent) since it is the starting point when modifying a project.

    excludeFromBuild allows you to import files into the editor but to not include them in your build. You can also do this after importing a project by right clicking a file and hitting "Exclude from Build"

    action="copy" this is typically either set to "lnik" or "copy" (there may be other options, those are the only 2 that i have ever seen). This determines how the files are imported into the workspace. If you set this to link, you are symlinking the files in the editor to the originals, meaning that if you edit the file in CCS, it edits the original file. If set to copy, it makes a copy of each file upon import. There are conflicting ideologies on which is better, but I prefer copy so that if I mess something up in CCS, I can delete and reimport the project to start from scratch without having to download the entire toolbox and/or SDK again. 

    Best Regards,
    Alec

  • Thanks Alec -- that was very helpful.