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.

Compiler/OMAP-L138: C6000 - Compiler Qualification Kit

Part Number: OMAP-L138
Other Parts Discussed in Thread: OMAPL138

Tool/software: TI C/C++ Compiler

Hello,
do you provide a compiler qualification kit for C6000 version 8.2.x (instrumented version for C6000 version 8.2.x)?
Thanks in advance.

Regards,
Friedrich
  • Unfortunately, no.  The C6000 Safety Compiler Qualification Kit only supports version 8.3.x.

    Thanks and regards,

    -George

  • Hello,
    I am trying to build my application with the instrumented compiler c6000 v8.3.3. However, I get the following error message:
    "BullseyeCoverage 8.16.1 error 2: Wrong coverage file. Use same coverage file for building and running. File ....\tools\compiler\ti-cgt-c6000_8.3.3\bin\abs6x.cov actual fileId=0555639e. Object elf_string.obj  5Dec19 07:11 (3315f6ff) expected fileId=0055f6d1"
    (Used Code Composer Studio Version: 8.1.0.00011)
    What is the reason for this error message?
    Thanks in advance.
    Regards,
    Friedrich
  • Friedrich,

    Have you set environment variable COVFILELIST according to the code coverage instructions in coverage_testing_instructions.pdf?  

    Look at the folder with instrumented binaries. You need to create a comma separate list of all the absolute paths to each *.cov file and set it to COVFILELIST

    Regards,

    Greg

  • Hello Greg,
    thanks for your response.
    Now, I use the complete list of *.cov files.
    However, I get another error:
    ".../xdctools_3_50_07_20_core/packages/xdc/cfg/global.h", line 39: fatal error #1965: cannot open source file ".../Release/configPkg/package/cfg/app_pe674.h"
    The file app_pe674.h is not present in the mentioned folder using the instrumented compiler. Using the normal compiler this file is present.
    How can I solve this problem?
    Thanks in advance.
    Regards,
    Friedrich
  • Friedrich,

    How did you swap out the instrumented binaries with the production compiler?

    I would recommend using the approach from the coverage_testing_instructions.pdf

    • Unzip the “bincov” folder into a temporary location. This folder contains instrumented versions of all compiler tool chain executables along with coverage data collection files (*.cov files) for each executable.
    • Rename the original compiler installation folder from "bin" to "bin.old".
    • Create a new "bin" folder within your compiler installation folder and copy in the executables and *.cov coverage files from the "bincov" folder.
      • NOTE: Reset coverage data collection by copying in the *.cov files from the original "bincov" folder.

      • NOTE: The directory of the instrumented compiler tools must be writable. An instrumented compiler will contain a corresponding .cov file for every compiler executable. As the instrumented compiler executes for coverage, data will be written to these .cov files. 
    • Set the environment variable COVFILELIST. This is a comma-separated list of the paths to all the compiler executable .cov files.

    If you did above steps and are still getting the xdc build error for "cannot open source file", then please send more details on how you swapped out the instrumented binaries including your production compiler installation location.  

    If I remember correctly, there can be hidden errors in xdc builds that make debugging build issues more difficult. I believe a successful xdc build is required in order for the app_pe674.h file to be generated.  So there may be some hidden build error.

    Thanks

    Greg

  • Looking back at your earlier post, I can see that it does appear that you have swapped out the instrumented binaries with the CCS production installation of 8.3.3. 

        ....\tools\compiler\ti-cgt-c6000_8.3.3\bin\abs6x.cov

    I'm assuming for your testing that you have the original binaries in 

        ....\tools\compiler\ti-cgt-c6000_8.3.3\binold

    and the instrumented binaries in 

        ....\tools\compiler\ti-cgt-c6000_8.3.3\bincov

    and that you are able to swap easily between the two by simply renaming binold to bin, or bincov to bin.

    If you try building a simple CCS application (one that doesn't involve xdc) then does it build with no errors?

    I'm guessing perhaps there are some unreported bullseye build errors that are causing the xdc build to "think" the build was a fail.  So try with a non-xdc app to ensure there are no hidden bullseye errors indicating setup issues.

    Thanks
    Greg

  • Hello Greg,
    thanks for your responses.
    Using the "Hello World" project it builds with no errors. Some *.cov-files are updated.
    What can I do to build an application using xdc?
    Thanks in advance.

    Regards,
    Friedrich
  • Friedrich,

    I'm getting some xdc experts involved so we can better understand the xdc errors as related to collecting coverage data.

    Regards,
    Greg

  • Hi Friedrich,

    Which version of CCS, XDCtools and TI-RTOS are you using? To check the version of XDCtools used for the project build, go into Project Properties > General > Products. Please also share which TI software package you are using, if any. 

    Please make sure you have the correct search path for the missing file, both under Compiler options (Project Properties > Build > Compiler > Include Options) and under XDCtools options (Project Properties > Build > XDCtools > Basic Options).

    You may also be missing a symbol definition such as "SOC_OMAPL138", "lcdkOMAPL138", or "omapl138" in your project settings. 

    If the error still persists after above, please post your full CCS build log so we can take a closer look. If you are able to zip up your project and post it here that would help as well. 

    Regards,
    Sahin

  • Hello Sahin,
    versions:
    CCS: 8.1.0.00011
    SYS/BIOS: 6.70.1.03
    XDCtools: 3.50.7.20
    Compiler: v8.3.3
    Regards,
    Friedrich
  • Friedrich,

    Does your xdc project build clean if you use the production compiler instead of the bullseye-instrumented binaries?

    I'm suspecting that there's an issue while using bullseye coverage with xdc builds.

    Unfortunately I'm not familiar with c6000 projects using xdc.

    Could you please send details on how I can create a project similar to yours so I can try enabling bullseye and reproduce what you are seeing?

    Thanks

    Greg

  • Hello Greg, hello Sahin
    the "Release" folder is created during the project build process.
    Using the production compiler the file "app_pe674.h" is present.
    Whereas using the instrumented compiler this file is not generated.
    Regrads,
    Friedrich
  • Hello Greg, hello Sahin,
    using the instrumented compiler the available SYS/BIOS-TI Target Examples-Typical project (from Project templates and examples) does not build.
    Regrads,
    Friedrich
  • Friedrich,

    Thanks for confirming the issue only occurs with the bullseye coverage instrumented compiler.

    Please send me details on how to create a project similar to yours so I can reproduce the issue.  

    Thanks

    Greg

  • Hello Greg
    ,
    you can use the "SYS/BIOS-TI Target Examples-Typical" project (from Project templates and examples) in order to see the difference
    between the production compiler and the instrumented compiler.
    Regards,
    Friedrich
  • Friedrich,

    I was able to build your project and I'm getting below error.  xdc's environment is not working with bullseye.

    From below you can see that the compiler version check is expecting cl6x.exe to return 8.3.3, however, some bullseye error is confusing it.  

    Building file: "../app.cfg"
    Invoking: XDCtools
    "C:/ti/ccs/ccs10.0.0/xdctools_3_61_00_16_core/xs" --xdcpath="C:/ti/bios_6_82_00_16/packages;" xdc.tools.configuro -o configPkg -t ti.targets.elf.C674 -p ti.platforms.evm6748 -r release -c "C:/ti/compilers/ti-cgt-c6000_8.3.3" --compileOptions "-g" "../app.cfg"
    making package.mak (because of package.bld) ...
    ti.targets.elf.C674: warning: version match failed on 'BullseyeCoverage 8.16.1 error 8: atexit failed, errno=5 "Access is denied. "

    8.3.3
    '

    I'm going to follow up with our xdc experts.   

    Regards,

    Greg

  • Friedrich,

    Sorry for the delays in helping you resolve this issue.

    Where are you in your overall project development as related to applying the QKIT?

    Is collecting code coverage the only remaining step?

    What safety standard are you qualifying your project for?  ASIL-B or ASIL-D?

    Thanks
    Greg

  • Hello Greg,

    thanks for your responses.

    The compiler qualification is one of our last tasks.

    We are qualifying our project for safety standard ASIL-D.

    Regards,

    Friedrich

  • Friedrich,

    In your overall safety qualification activity, what is your timeline for getting this coverage compare step done?

    It looks like the main xdc expert we need to work with is out this week.

    I've definitely confirmed that the xdc/xs build is not "seeing" the CCS project's environment variable setting for COVFILELIST.  I can also see from xdc auto-generated files that it has a method for setting other environment variables. However, I'm not familiar enough with xdc configuration to determine a way to set additional environment variables.

    Apologies again for taking so long with this.

    Regards,
    Greg

  • Hello Greg,

    our timeline is march for getting this coverage compare step done.

    Regards,

    Friedrich

  • Thanks Friedrich. I'll get back to you early next week once our xdc expert is back.

  • Friedrich,

    Please try below and let me know if you have any issues.

    Set COVFILELIST in your CCS project in project-properties (same as mentioned in coverage user guide):
         CCS BUILD -> Environment tab
    Build your project which should fail.
    Edit file: project_folder/Debug/configPkg/package/package.bld.xml
    Change below:
         rawVersion="8.3.3BullseyeCoverage 8.16.1 error 15: Cannot find C:\Users\a0196512\workspace_v10\c674_round10\Debug\configPkg/test.cov, errno=2 "The system cannot find the file specified. ". COVFILE is not set
    To instead be this:
        rawVersion="8.3.3"
    Build again in CCS (but do not choose clean or rebuild)


    The second build should not regenerate above xml or any already auto-generated makefiles.

    Confirm that you have no bullseye errors in the console output, and confirm that all the *.cov file time stamps update.

    Thanks
    Greg

  • Hello Greg,
    thanks for your response.
    Following your suggested precedure I can build the TI-example ("SYS/BIOS-TI Target Examples-Typical" project).
    However, our project does not build.
    The error message is as follows:
    ".../tiCCSv810/xdctools_3_50_07_20_core/packages/xdc/cfg/global.h", line 39: fatal error #1965: cannot open source file ".../Release/configPkg/package/cfg/app_pe674.h"
    1 catastrophic error detected in the compilation of ...
    The file "app_pe674.h" is present in the mentioned folder.
    What can we do?
    Thanks in advance.
    Regards
    Friedrich
  • Friedrich,

    Is there any other CCS project I can build to reproduce what you are seeing?

    Any way to generate a cutdown test case and then send privately to me?

    Thanks
    Greg

  • Hello Greg,

    thanks for your response.

    I will try to reproduce the error message using an other CCS project.

    Regards

    Friedrich

  • Friedrich,

    Apologies again for this messy work around and thanks for sending your project files.  I was able to reproduce your build fail.

    With addition of the extra sys/bios “features” in your second project, there are now two files that need rawVersion updated.

    Here’s the build sequence that worked for me:
       rebuild
       [Fatal Error] package.bld.xml:24:163: Element type "target" must be followed by either attribute specifications, ">" or "/>".
       fix both files with garbage rawVersion
        C:\Users\greg\workspace_v8\c60_typical\Debug\configPkg\package\cfg\app_pe674.cfg
        C:\Users\greg\workspace_v8\c60_typical\Debug\configPkg\package\package.bld.xml
       build (not rebuild and not clean/build)
        "C:/ti/ccs/ccs810/xdctools_3_50_07_20_core/packages/xdc/cfg/global.h", line 39: fatal error #1965: cannot open source file
        "C:/Users/greg/workspace_v8/c60_typical/Debug/configPkg/package/cfg/app_pe674.h"
       ... then it does
          configuring app.xe674 from package/cfg/app_pe674.cfg ...
       build (not rebuild and not clean/build)
       it works...

    Once again apologies for the messy workaround. I'm submitting a bug against xdc for above issue.

    Regards,
    Greg

  • Hello Greg,
    thanks for your response.
    Following your suggested precedure I can build the CCS project and some *.cov-files are updated in the folder "...\compiler\ti-cgt-c6000_8.3.3\bin".
    So, it works now. Thank you for your support.
    Regards,
    Friedrich