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.

Several builds necessary for DSP/BIOS projects?

Other Parts Discussed in Thread: CCSTUDIO

When building a project that uses a DSP/BIOS configuration file (e.g. C:/CCStudio_v3.3/bios_5_33_04/packages/ti/bios/examples/basic/bigtime/evmDM642/bigtime.pjt), the project doesn't seem to be up to date. When building the same project again, some files, especially the source files generated from the DSP/BIOS configuration file are compiled again, which in turn causes a linker run. Only when building for the 3rd time, the project is considered to be up to date and no action is performed.

I can somehow understand that the dual role of the *cfg.* files as both, generated files and source files can cause this behaviour. However, shouldn't CCS be clever enough to handle these files correctly? Do I need to build two times to have an entirely up to date project or ist it safe to assume it is already up to date after the first run? Running for a 2nd time is annoying because it must be done two times and it leaves only a partial build log in cc_build_debug.log. Is there any way to set up the projects so that CCS handles the generated files correctly? Below is the console output of three consecutive build runs.

**** 1st build run ************************************************************

---------------------------- bigtime.pjt - Debug ---------------------------- [bigtime.cpp] "Q:\Language\TI\c6x.615\bin\cl6x" -g -pdr -fr"C:/CCStudio_v3.3/bios_5_33_04/packages/ti/bios/examples/basic/bigtime/evmDM642/Debug" -i"C:/CCStudio_v3.3/bios_5_33_04/packages/ti/bios/examples/basic/bigtime/evmDM642" -i"." -d"_DEBUG" -mv6400 -@"evmDM642/Debug.lkf" "bigtime.cpp" [bigtimecfg.s62] "Q:\Language\TI\c6x.615\bin\cl6x" -g -pdr -fr"C:/CCStudio_v3.3/bios_5_33_04/packages/ti/bios/examples/basic/bigtime/evmDM642/Debug" -i"C:/CCStudio_v3.3/bios_5_33_04/packages/ti/bios/examples/basic/bigtime/evmDM642" -i"." -d"_DEBUG" -mv6400 -@"Debug.lkf" "bigtimecfg.s62" [bigtimecfg_c.c] "Q:\Language\TI\c6x.615\bin\cl6x" -g -pdr -fr"C:/CCStudio_v3.3/bios_5_33_04/packages/ti/bios/examples/basic/bigtime/evmDM642/Debug" -i"C:/CCStudio_v3.3/bios_5_33_04/packages/ti/bios/examples/basic/bigtime/evmDM642" -i"." -d"_DEBUG" -mv6400 -@"Debug.lkf" "bigtimecfg_c.c" [Linking...] "Q:\Language\TI\c6x.615\bin\cl6x" -@"Debug.lkf" Build Complete, 0 Errors, 0 Warnings, 0 Remarks. *

*** 2nd build run ************************************************************

---------------------------- bigtime.pjt - Debug ---------------------------- [bigtime.cpp] "Q:\Language\TI\c6x.615\bin\cl6x" -g -pdr -fr"C:/CCStudio_v3.3/bios_5_33_04/packages/ti/bios/examples/basic/bigtime/evmDM642/Debug" -i"C:/CCStudio_v3.3/bios_5_33_04/packages/ti/bios/examples/basic/bigtime/evmDM642" -i"." -d"_DEBUG" -mv6400 -@"evmDM642/Debug.lkf" "bigtime.cpp" [bigtimecfg.s62] "Q:\Language\TI\c6x.615\bin\cl6x" -g -pdr -fr"C:/CCStudio_v3.3/bios_5_33_04/packages/ti/bios/examples/basic/bigtime/evmDM642/Debug" -i"C:/CCStudio_v3.3/bios_5_33_04/packages/ti/bios/examples/basic/bigtime/evmDM642" -i"." -d"_DEBUG" -mv6400 -@"Debug.lkf" "bigtimecfg.s62" [bigtimecfg_c.c] "Q:\Language\TI\c6x.615\bin\cl6x" -g -pdr -fr"C:/CCStudio_v3.3/bios_5_33_04/packages/ti/bios/examples/basic/bigtime/evmDM642/Debug" -i"C:/CCStudio_v3.3/bios_5_33_04/packages/ti/bios/examples/basic/bigtime/evmDM642" -i"." -d"_DEBUG" -mv6400 -@"Debug.lkf" "bigtimecfg_c.c" [Linking...] "Q:\Language\TI\c6x.615\bin\cl6x" -@"Debug.lkf" Build Complete, 0 Errors, 0 Warnings, 0 Remarks.

**** 3rd (& subseqent) build run(s) *******************************************

---------------------------- bigtime.pjt - Debug ---------------------------- Build Complete, 0 Errors, 0 Warnings, 0 Remarks.

  • Are you performing a Rebuild All or an Incremental Build? Judging by the output of the third build I would assume an Incremental Build.

    This build should only build source that has been modified since the last build. For example, if you tweak your BIOS file then all BIOS-related files will be re-built; however, if you are receiving these build messages by pressing incremental build three consecutive times without tweaking anything then it does appear that something strange is going on. I noticed that your source is located on drive Q which is usually an odd symbol for a local drive - is this a local drive to that machine or a network mapped drive?

  • Tim, first of all thanks for the answer. Yes, I do have the cgtools on a network drive in this case. Formerly it was the other way round: The project is on a network drive and cgtools are locally on development PC inside the CCS installation. I copied the project to C: to eliminate any network time difference issues, which shouldn't play a role for the cgtools. Anyway, now I switched back to cgtools 6.0.8 that came with the CCS, and which are inside my local CCS installation. Result is the same, as you can see below, except that only local paths are being used.

    Additionally, using "Project"-->"Rebuild all" for the first build and then pressing "F7" has the same effect. I never touched any of the files between the builds. Could you please simply try one of your CCS installation's example projects? Or with other words: don't you have the same issues for your own DSP/BIOS projects?

    **** 1st build ****

    ---------------------------- bigtime.pjt - Debug ---------------------------- [bigtime.tcf] "C:\CCStudio_v3.3\bios_5_33_04\xdctools\tconf" -b -Dconfig.importPath=".;../;C:/CCStudio_v3.3/bios_5_33_04/packages/ti/bios/examples/common;C:/CCStudio_v3.3/bios_5_33_04/packages" bigtime.tcf [bigtime.cpp] "C:\CCStudio_v3.3\C6000\cgtools\bin\cl6x" -g -pdr -fr"C:/CCStudio_v3.3/bios_5_33_04/packages/ti/bios/examples/basic/bigtime/evmDM642/Debug" -i"C:/CCStudio_v3.3/bios_5_33_04/packages/ti/bios/examples/basic/bigtime/evmDM642" -i"." -d"_DEBUG" -mv6400 -@"evmDM642/Debug.lkf" "bigtime.cpp" [bigtimecfg.s62] "C:\CCStudio_v3.3\C6000\cgtools\bin\cl6x" -g -pdr -fr"C:/CCStudio_v3.3/bios_5_33_04/packages/ti/bios/examples/basic/bigtime/evmDM642/Debug" -i"C:/CCStudio_v3.3/bios_5_33_04/packages/ti/bios/examples/basic/bigtime/evmDM642" -i"." -d"_DEBUG" -mv6400 -@"Debug.lkf" "bigtimecfg.s62" [bigtimecfg_c.c] "C:\CCStudio_v3.3\C6000\cgtools\bin\cl6x" -g -pdr -fr"C:/CCStudio_v3.3/bios_5_33_04/packages/ti/bios/examples/basic/bigtime/evmDM642/Debug" -i"C:/CCStudio_v3.3/bios_5_33_04/packages/ti/bios/examples/basic/bigtime/evmDM642" -i"." -d"_DEBUG" -mv6400 -@"Debug.lkf" "bigtimecfg_c.c" [Linking...] "C:\CCStudio_v3.3\C6000\cgtools\bin\cl6x" -@"Debug.lkf" Build Complete, 0 Errors, 0 Warnings, 0 Remarks.

    **** 2nd build ****

    ---------------------------- bigtime.pjt - Debug ---------------------------- [bigtime.cpp] "C:\CCStudio_v3.3\C6000\cgtools\bin\cl6x" -g -pdr -fr"C:/CCStudio_v3.3/bios_5_33_04/packages/ti/bios/examples/basic/bigtime/evmDM642/Debug" -i"C:/CCStudio_v3.3/bios_5_33_04/packages/ti/bios/examples/basic/bigtime/evmDM642" -i"." -d"_DEBUG" -mv6400 -@"evmDM642/Debug.lkf" "bigtime.cpp" [bigtimecfg.s62] "C:\CCStudio_v3.3\C6000\cgtools\bin\cl6x" -g -pdr -fr"C:/CCStudio_v3.3/bios_5_33_04/packages/ti/bios/examples/basic/bigtime/evmDM642/Debug" -i"C:/CCStudio_v3.3/bios_5_33_04/packages/ti/bios/examples/basic/bigtime/evmDM642" -i"." -d"_DEBUG" -mv6400 -@"Debug.lkf" "bigtimecfg.s62" [bigtimecfg_c.c] "C:\CCStudio_v3.3\C6000\cgtools\bin\cl6x" -g -pdr -fr"C:/CCStudio_v3.3/bios_5_33_04/packages/ti/bios/examples/basic/bigtime/evmDM642/Debug" -i"C:/CCStudio_v3.3/bios_5_33_04/packages/ti/bios/examples/basic/bigtime/evmDM642" -i"." -d"_DEBUG" -mv6400 -@"Debug.lkf" "bigtimecfg_c.c" [Linking...] "C:\CCStudio_v3.3\C6000\cgtools\bin\cl6x" -@"Debug.lkf" Build Complete, 0 Errors, 0 Warnings, 0 Remarks.

    **** 3rd build ****

    ---------------------------- bigtime.pjt - Debug ---------------------------- Build Complete, 0 Errors, 0 Warnings, 0 Remarks.

  • No, I do not see this same behavior. If I perform a Rebuild All everything is rebuilt - if I perform an Incremental Build then *only* the files that have changed since the last build are rebuilt. I would only see your 1st build followed by the 3rd build. I built an example from the PSP for the C6747 and here's the output I received:

    First Build:

    --------------------------  audioSample.pjt - Debug  --------------------------
    [audioSample_io.c] "C:\Program Files\Texas Instruments\C6000 Code Generation Tools 6.1.9\bin\cl6x" -g -pdr -fr"C:/Program Files/Texas Instruments/pspdrivers_01_20_00_07/packages/ti/pspiom/examples/evm6747/audio/build/Debug" -i"C:/Program Files/Texas Instruments/pspdrivers_01_20_00_07/packages/ti/pspiom/examples/evm6747/audio/build/../../../../../../" -i"C:/Program Files/Texas Instruments/edma3_lld_01_06_00_01/packages" -mv6740 -@"../build/Debug.lkf" "audioSample_io.c"

    [audioSample_main.c] "C:\Program Files\Texas Instruments\C6000 Code Generation Tools 6.1.9\bin\cl6x" -g -pdr -fr"C:/Program Files/Texas Instruments/pspdrivers_01_20_00_07/packages/ti/pspiom/examples/evm6747/audio/build/Debug" -i"C:/Program Files/Texas Instruments/pspdrivers_01_20_00_07/packages/ti/pspiom/examples/evm6747/audio/build/../../../../../../" -i"C:/Program Files/Texas Instruments/edma3_lld_01_06_00_01/packages" -mv6740 -@"../build/Debug.lkf" "audioSample_main.c"

    [audioSamplecfg.s62] "C:\Program Files\Texas Instruments\C6000 Code Generation Tools 6.1.9\bin\cl6x" -g -pdr -fr"C:/Program Files/Texas Instruments/pspdrivers_01_20_00_07/packages/ti/pspiom/examples/evm6747/audio/build/Debug" -i"C:/Program Files/Texas Instruments/pspdrivers_01_20_00_07/packages/ti/pspiom/examples/evm6747/audio/build/../../../../../../" -i"C:/Program Files/Texas Instruments/edma3_lld_01_06_00_01/packages" -mv6740 -@"Debug.lkf" "audioSamplecfg.s62"

    [audioSamplecfg_c.c] "C:\Program Files\Texas Instruments\C6000 Code Generation Tools 6.1.9\bin\cl6x" -g -pdr -fr"C:/Program Files/Texas Instruments/pspdrivers_01_20_00_07/packages/ti/pspiom/examples/evm6747/audio/build/Debug" -i"C:/Program Files/Texas Instruments/pspdrivers_01_20_00_07/packages/ti/pspiom/examples/evm6747/audio/build/../../../../../../" -i"C:/Program Files/Texas Instruments/edma3_lld_01_06_00_01/packages" -mv6740 -@"Debug.lkf" "audioSamplecfg_c.c"

    [Linking...] "C:\Program Files\Texas Instruments\C6000 Code Generation Tools 6.1.9\bin\cl6x" -@"Debug.lkf"
    <Linking>

    Build Complete,
      0 Errors, 0 Warnings, 0 Remarks.



    Second Build:
    --------------------------  audioSample.pjt - Debug  --------------------------
    Build Complete,
      0 Errors, 0 Warnings, 0 Remarks.


    I have no idea why performing two incremental builds in a row would cause a rebuild as the object files should not be any different than before. Is there a chance you can place a local copy of the build tools temporarily to see if the issue remains?

    P.S. Please try to format your posts to be a bit easier to read. The forum has a few quirks regarding spacing and extra lines so please be aware of that. I prefer using quotes around blocks of text that I know will cause formatting issues.

  • The key to this problem is quite probably the .tcf file, that's why I asked for a DSP/BIOS project. I have observed this effect long time ago, with much older cgtools, so I'm more than sure that it doesn't depend on an actual cgtools version.
  • Sorry, you are right. The Incremental Build did not rebuild the BIOS files. I just did a Rebuild All followed by an Incremental Build and the second build was the same as before. Here is the Rebuild All output:

    --------------------------  audioSample.pjt - Debug  --------------------------
    [audioSample.tcf] "C:\CCStudio_v3.3\bios_5_33_05\xdctools\tconf" -b -Dconfig.importPath="C:/CCStudio_v3.3/bios_5_33_05/packages"  audioSample.tcf

    [audioSample_io.c] "C:\Program Files\Texas Instruments\C6000 Code Generation Tools 6.1.9\bin\cl6x" -g -pdr -fr"C:/Program Files/Texas Instruments/pspdrivers_01_20_00_07/packages/ti/pspiom/examples/evm6747/audio/build/Debug" -i"C:/Program Files/Texas Instruments/pspdrivers_01_20_00_07/packages/ti/pspiom/examples/evm6747/audio/build/../../../../../../" -i"C:/Program Files/Texas Instruments/edma3_lld_01_06_00_01/packages" -mv6740 -@"../build/Debug.lkf" "audioSample_io.c"

    [audioSample_main.c] "C:\Program Files\Texas Instruments\C6000 Code Generation Tools 6.1.9\bin\cl6x" -g -pdr -fr"C:/Program Files/Texas Instruments/pspdrivers_01_20_00_07/packages/ti/pspiom/examples/evm6747/audio/build/Debug" -i"C:/Program Files/Texas Instruments/pspdrivers_01_20_00_07/packages/ti/pspiom/examples/evm6747/audio/build/../../../../../../" -i"C:/Program Files/Texas Instruments/edma3_lld_01_06_00_01/packages" -mv6740 -@"../build/Debug.lkf" "audioSample_main.c"

    [audioSamplecfg.s62] "C:\Program Files\Texas Instruments\C6000 Code Generation Tools 6.1.9\bin\cl6x" -g -pdr -fr"C:/Program Files/Texas Instruments/pspdrivers_01_20_00_07/packages/ti/pspiom/examples/evm6747/audio/build/Debug" -i"C:/Program Files/Texas Instruments/pspdrivers_01_20_00_07/packages/ti/pspiom/examples/evm6747/audio/build/../../../../../../" -i"C:/Program Files/Texas Instruments/edma3_lld_01_06_00_01/packages" -mv6740 -@"Debug.lkf" "audioSamplecfg.s62"

    [audioSamplecfg_c.c] "C:\Program Files\Texas Instruments\C6000 Code Generation Tools 6.1.9\bin\cl6x" -g -pdr -fr"C:/Program Files/Texas Instruments/pspdrivers_01_20_00_07/packages/ti/pspiom/examples/evm6747/audio/build/Debug" -i"C:/Program Files/Texas Instruments/pspdrivers_01_20_00_07/packages/ti/pspiom/examples/evm6747/audio/build/../../../../../../" -i"C:/Program Files/Texas Instruments/edma3_lld_01_06_00_01/packages" -mv6740 -@"Debug.lkf" "audioSamplecfg_c.c"

    [Linking...] "C:\Program Files\Texas Instruments\C6000 Code Generation Tools 6.1.9\bin\cl6x" -@"Debug.lkf"
    <Linking>

    Build Complete,
      0 Errors, 0 Warnings, 0 Remarks.

  • TimHarron said:

    Sorry, you are right. The Incremental Build did not rebuild the BIOS files. I just did a Rebuild All followed by an Incremental Build and the second build was the same as before. Here is the Rebuild All output: ...

    Just to be sure to understand: 'same as before': Does this mean the incremental build (performed after rebuild all) did not compile anything?

    If so, it would be more than interesting to find out where the difference is. As it's quite late now here, I'll try tomorrow to get exactly this example and give this one a try. If you like, you can a) tell me your CCS version (mine is 3.3.38.?) and b) check if the bigtime BIOS example is available for the 6747 so we have a common basis to try.

    thanks for the assistance so far...

     

     

  • dspdev said:

    Just to be sure to understand: 'same as before': Does this mean the incremental build (performed after rebuild all) did not compile anything?

    Correct. However, I have some new info here. A colleague pointed out that if I deleted all of the generated files and started the project from 'scratch' (remove everything but the .pjt and source) that two consecutive incremental builds would yield almost identical results. The main difference is that only the BIOS-generated source (the _c.c and .s62) files would be re-built. The file bigTime.cpp was not rebuilt a second time. I am not sure what caused this, but it may have something to do with the header in the object file (time stamp, etc.). I am hoping he will chime in here if he finds any additional information as well... [:)]

  • It's good to hear that the problem also happens somewhere else and is not local to my system. Let's wait whether your colleague finds out something. If not, I'll turn to epic and see what they can do. I have this effect in most or all DSP/BIOS projects and it's annoying. - Checking if a project was changed by running an incremental build is not possible - Uncertainty: Is my project really up to date after a rebuild all? - The final log (cc_build_Debug.log) contains only a partial build and may miss previous warnings