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.

Build Time

We have an application of more than 300K C/C++ lines. The application is spread over 300 source files. even if we change only one .cpp file, the build process compiles all the files.

 

 

  • Which version of CCS and which version of Code Generation Tools are you using?

    Which menu command or toolbar icon are you using to do the compile?

  • Dear Randy, We use: 1. CCS 4.2.0.10017. 2. Code generation tools version 7.04 We use the Build Active Project. Thanks, Yehuda
  • Dr. Yehuda Singer,

    I am using CCS 4.2.0.10012, so it sounds like I need to upgrade. My CGT version is 7.0.4 like yours, and I did not find this problem with my build.

    Attached is a simple C++ project with 6 source files. When I edit one file and click Build Active Project, only that one cpp file gets compiled, then the link occurs and the executable is loaded.

    I suspect you have some option selected that is causing this, such as dependencies or something like that.

    We will have this thread moved to the Code Composer forum to be addressed there. Please wait until you get the Moved email before replying.

    Regards,
    RandyP

    C6455_cpp_test.zip
  • Dear Randy

     

    Thanks. Your example works fine.  Now to my problem:

    1. We use the BIOS6.

    2. We use the EVMC6472.

     

    We have to build an executable file for that target.

     

    The project is much bigger. If you like, I can send it to you.

     

     

  • Dr. Yehuda Singer,

    At this point, someone new will need to address this. Most likely, there is a configuration portion of your project that can help them figure out what is going on. I am just a user, like you, and I have not moved to BIOS6, yet, although I have worked a lot with the C6472.

    My guess right now is that there are interdependencies between for parts than you may have intended. This could be an effect of the BIOS6 or XDC tools, and that could be proven out by making a much smaller project with fewer files than your huge project. That is just an idea of how you might be able to close in on a root cause.

    The other possibility of which I am aware is the setting of project dependencies. Since you are building this for a 6-core device, you may have 6 or more inter-dependent projects. I remember doing this once and finding that I had overstated the dependencies which caused more builds to start than were necessary. Are you using several projects with dependencies?

    Regards,
    RandyP

  • Dear Randy

     

    Thanks for your answers. I will put some remarks on our project:

    1. The aim is to develop a new paradigm.

    2. The application is composed of 6 tasks

    3. We want that every task can be execute on any processor when it is ready.

    Thanks,

    Yehuda

     

  • Yehuda,

    If you could export your project(s), I suspect there are 2 projects 1 for your app and one that is your RTSC config project, I can try to reproduce locally.  We do have some known cases where CCS is doing a rebuild all where it is not required.

    To export your projects go to the file menu, select export, under General pick Archive file.  This will bring up a dialog where you can select the projects you wish to export.  Skip the .obj and .out files to keep the zip smaller.

    You can click on my username and send me a private message if you wish to keep the code confidential.

    Regards,

    John

  • Dr. Singer,

    You have marked several of these posts as Verified Answers. Did you get your problem resolved off-line with JohnS? If so, please reply back with even a short statement about what was done to fix the problem.

    I have not moved to BIOS6, yet, but I have heard that it has some new features or support for our multi-core devices.

    So I would like your opinion as a BIOS6 user: Did you find BIOS6 helpful for the multi-core processing environment?

    Regards,
    RandyP

     

  • Dear Randy,

    JohnS help me a lot. The BIOS6 supports new features for the multi-core devices. Al my problems relate to BIOS6, and its integration with the development tools.

    I will be happy to talk with you next week.

     

    Regards,

    Yehdua

     

  • Dr. Yehuda,

    Are you still having issues with the link step failing for memory allocation?

    If so then please try the following.

    If using version 7.0.4 of compiler tools:

    in "build properties" > "Tool Settings Tab" > "C6000 compiler"

          change "Command" from this:  "${C6000_CG_ROOT}/bin/cl6x"

          to this:                                             "${C6000_CG_ROOT}/bin/cl6x" --keep_unneeded_types=false

    If using version 7.0.3 of compiler tools:

    in "build properties" > "Tool Settings Tab" > "C6000 compiler"

          change "Command" from this:  "${C6000_CG_ROOT}/bin/cl6x"

          to this:                                             "${C6000_CG_ROOT}/bin/cl6x" --keep_unneeded_types=false

    also, update "build properties" > "Tool Settings Tab" > "C6000 Linker" > "Symbol Management"

         select the 2nd to last option for:  "No type merging in symbolic debugging information (--no-sym_merge, -b)

         NOTE: above linker option only valid for coff (not valid for elf).

    Please let me know if this works.  If not then we can try some other options.

    Thanks and sorry for your trouble.

    Greg

  • Dear Greg

    Thank you for your answer.

    I have moved to CCS5.0 and the compiler beta version 7.2.

    I work with Windows/XP. 

    When I do not use symbols, there is no memory allocation problems. But it is almost impossible to debug in binary.

     Another problem: in the OOBDemo_Bios6, there is a call to EVM_init() via the configuration file. I use the CSL library, but the symbol remains undeffined.

     

    Thanks and best regards, 

    Yehuda

     

     

  • Dr Yehuda,

    Were you able to build and debug your project using either of the options I mentioned earlier?

    In particular did selecting build option for "C6000 linker" "symbol management" "No type merging in symbolic debugging information --no_sym_merge -b) work to allow for a build that you could debug?

    Regards,
    Greg

     

     

  • Dear Greg

    Thank you for your response.  I have been travelling and this is the reason for my late answer. I I did not succeed  to build and debug in version 7.2 beta.

     

    Best regards, 

    Yehuda

     

  • Dr. Yehuda,

    I was able to build and link your project and then do debug within CCS 4.2 and compiler 7.2.

    I had to set below linker option (see image at end):
    - right click on RISC project and select build properties
    - then go to Tool Settings => C6000 Linker => Symbol Management
      - select "No type merging in symbolic debugging information (--no_sym_merge, -b)

    Linking was successful and generated a 40Mb .out file which I was then able to debug using CCS 4.2

    This wiki entry has more information on type merging:
      http://processors.wiki.ti.com/index.php/Linker_Runs_Too_Long


    Regards and Thanks,
    Greg

     

  • Dear Greg, 

    Thank you for your answers. 

    Can you please give me the setting of the compiler?

    Thanks,

    Yehuda

  • Compiler version:  7.2.0B1

    I cut/paste from "Build properties" fields for "C6000 Compiler" and "C6000 Linker".

    Greg

  • Dear Greg, 

    I refreshed the project. I included the "EVM_init() function and all its related header files.

    Still Ihave problems with the linker.

    PLease tell me whether I can send you the project (all the souirce and setting files). NOt the objects.

     

    Best regards,

    Yehuda

     

  • What linker errors are you getting?

    Certainly please send the project.

    To export your projects go to the file menu, select export, under General pick Archive file.  This will bring up a dialog where you can select the projects you wish to export.  Skip the .obj and .out files to keep the zip smaller.

    To send the code only to me, click on my username and then "start conversation" to generate a private message.

    Regards,

    Greg

  • Dear Greg, 

    I have sent you the file.

    Best regards,

    Yehuda

     

  • Dear greg

     

    Did you get the project?

    Please acknowledge.

     

    Best regards,

    Yehuda

     

  • Dr. Yehuda,

    Yes I received it and tried to build.  I’m getting errors about missing evm6472 components.

    However, I was able to build the prior one you sent to JohnS.  I was able to build and link when using linker option –b (--no_sym_merge)

    I'm working on the linker memory allocation errors from the prior project you submitted, however, I’m trying to find the right contact within TI to best help you with your build issues on your latest project.

    Regards,

    Greg

  • Dear Greg, 

    Any news?

    Thanks,

    Yehuda

     

  • Dr. Yehuda, I'm still trying to find the right contact.  Will let you know soon.  Thanks greg

  • Dear Greg, 

     

    Any news?

     

    Best  regards,

    Yehuda

     

  • I'm still trying to get a better local resource to work with you.

    Have you tried linking your project using linker option -b?

    I was able to successfully build and link your project.  and the out file was debuggable.

    Regards,
    Greg

  • Dear Greg

    Great. 

    Can you send me the project you have succeeded?

    Also please tell me if there is new versions. I work with the Code generation 7.2 on Windows XP.

    Please tell me also whether to migrate to Wiindows7.

     

    Thanks,

    Yehuda

     

  • Yehuda,

    The latest 7.2 compiler release resolves the segmentation fault we were seeing on Win7 64bit.

    Regards,

    John

     

  • Dear John

    Please send me the link to download again the 7.2 to a Win7 64bit.

    Thanks,

    Yehuda

     

  • Yehuda,

    The download link for all compiler versions is in the section Downloads of the Compiler category in the wiki:

    http://processors.wiki.ti.com/index.php/Category:Compiler

    Hope this helps,

    Rafael

  • Dear Rafael, 

    thank you for your answer. I need the compiler 7.2 and if you have later version even as beta, it is better.

     

    Best regadrs

    Yehdua

     

     

  • If you follow the link Rafael provided you eventually get to here where you can get the 7.2.2 compiler:

    https://www-a.ti.com/downloads/sds_support/TICodegenerationTools/download.htm

     

    Note that you can also get this from within CCS by checking for updates and selecting to search for new features.

     

    Regards,

    John