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.

CC3235MODASF: CCS Code Coverage with TI Compilers

Part Number: CC3235MODASF
Other Parts Discussed in Thread: CC3235SF, LAUNCHXL-CC3235SF, CC3235S

I try to configure the project as descripte in the link https://software-dl.ti.com/ccs/esd/documents/application_notes/appnote-code_coverage_compiler.html as you say. the project is come from CC3235SF sdk with NORTOS  example gpiointerrupt_CC3235SF_LAUNCHXL_nortos_ccs,current the pprofout.pdat files has been generated with the configure Collect,

but i'm block in the analyze steps,i got the error below:

----------------------------------------------------------------------------------------------------------------------------------------------------

**** Build of configuration Analyze for project gpiointerrupt_CC3235SF_LAUNCHXL_nortos_ccs ****

"D:\\ti\\ccs1020\\ccs\\utils\\bin\\gmake" -k -j 8 all -O

"D:/ti/ccs1020/ccs/tools/compiler/ti-cgt-arm_20.2.4.LTS/bin/armpdd" -e "D:\workspace\Fresenius\Wifi Project\workspace_v10\gpiointerrupt_CC3235SF_LAUNCHXL_nortos_ccs/Collect/gpiointerrupt_CC3235SF_LAUNCHXL_nortos_ccs.out" -o pprofout.prf "D:\workspace\Fresenius\Wifi Project\workspace_v10\gpiointerrupt_CC3235SF_LAUNCHXL_nortos_ccs/Collect/pprofout.pdat"

Building file: "../gpiointerrupt.c"
Invoking: Arm Compiler
"D:/ti/ccs1020/ccs/tools/compiler/ti-cgt-arm_20.2.4.LTS/bin/armcl" -mv7M4 --code_state=16 --float_support=vfplib -me --include_path="D:/workspace/Fresenius/Wifi Project/workspace_v10/gpiointerrupt_CC3235SF_LAUNCHXL_nortos_ccs" --include_path="D:/workspace/Fresenius/Wifi Project/workspace_v10/gpiointerrupt_CC3235SF_LAUNCHXL_nortos_ccs/Analyze" --include_path="D:/ti/simplelink_cc32xx_sdk_4_40_00_07/source" --include_path="D:/ti/simplelink_cc32xx_sdk_4_40_00_07/kernel/nortos" --include_path="D:/ti/simplelink_cc32xx_sdk_4_40_00_07/kernel/nortos/posix" --include_path="D:/ti/ccs1020/ccs/tools/compiler/ti-cgt-arm_20.2.4.LTS/include" --define=NORTOS_SUPPORT -g --diag_warning=225 --diag_warning=255 --diag_wrap=off --display_error_number --gen_func_subsections=on --analyze=codecov --analyze_only --use_profile_info="pprofout.prf" --preproc_with_compile --preproc_dependency="gpiointerrupt.d_raw" --include_path="D:/workspace/Fresenius/Wifi Project/workspace_v10/gpiointerrupt_CC3235SF_LAUNCHXL_nortos_ccs/Analyze/syscfg" "../gpiointerrupt.c"
Finished building: "../gpiointerrupt.c"

Building file: "../main_nortos.c"
Invoking: Arm Compiler
"D:/ti/ccs1020/ccs/tools/compiler/ti-cgt-arm_20.2.4.LTS/bin/armcl" -mv7M4 --code_state=16 --float_support=vfplib -me --include_path="D:/workspace/Fresenius/Wifi Project/workspace_v10/gpiointerrupt_CC3235SF_LAUNCHXL_nortos_ccs" --include_path="D:/workspace/Fresenius/Wifi Project/workspace_v10/gpiointerrupt_CC3235SF_LAUNCHXL_nortos_ccs/Analyze" --include_path="D:/ti/simplelink_cc32xx_sdk_4_40_00_07/source" --include_path="D:/ti/simplelink_cc32xx_sdk_4_40_00_07/kernel/nortos" --include_path="D:/ti/simplelink_cc32xx_sdk_4_40_00_07/kernel/nortos/posix" --include_path="D:/ti/ccs1020/ccs/tools/compiler/ti-cgt-arm_20.2.4.LTS/include" --define=NORTOS_SUPPORT -g --diag_warning=225 --diag_warning=255 --diag_wrap=off --display_error_number --gen_func_subsections=on --analyze=codecov --analyze_only --use_profile_info="pprofout.prf" --preproc_with_compile --preproc_dependency="main_nortos.d_raw" --include_path="D:/workspace/Fresenius/Wifi Project/workspace_v10/gpiointerrupt_CC3235SF_LAUNCHXL_nortos_ccs/Analyze/syscfg" "../main_nortos.c"
Finished building: "../main_nortos.c"

Building file: "syscfg/ti_drivers_config.c"
Invoking: Arm Compiler
"D:/ti/ccs1020/ccs/tools/compiler/ti-cgt-arm_20.2.4.LTS/bin/armcl" -mv7M4 --code_state=16 --float_support=vfplib -me --include_path="D:/workspace/Fresenius/Wifi Project/workspace_v10/gpiointerrupt_CC3235SF_LAUNCHXL_nortos_ccs" --include_path="D:/workspace/Fresenius/Wifi Project/workspace_v10/gpiointerrupt_CC3235SF_LAUNCHXL_nortos_ccs/Analyze" --include_path="D:/ti/simplelink_cc32xx_sdk_4_40_00_07/source" --include_path="D:/ti/simplelink_cc32xx_sdk_4_40_00_07/kernel/nortos" --include_path="D:/ti/simplelink_cc32xx_sdk_4_40_00_07/kernel/nortos/posix" --include_path="D:/ti/ccs1020/ccs/tools/compiler/ti-cgt-arm_20.2.4.LTS/include" --define=NORTOS_SUPPORT -g --diag_warning=225 --diag_warning=255 --diag_wrap=off --display_error_number --gen_func_subsections=on --analyze=codecov --analyze_only --use_profile_info="pprofout.prf" --preproc_with_compile --preproc_dependency="syscfg/ti_drivers_config.d_raw" --include_path="D:/workspace/Fresenius/Wifi Project/workspace_v10/gpiointerrupt_CC3235SF_LAUNCHXL_nortos_ccs/Analyze/syscfg" --obj_directory="syscfg" "syscfg/ti_drivers_config.c"
Finished building: "syscfg/ti_drivers_config.c"

Building file: "../main_nortos.c"
Building file: "../gpiointerrupt.c"
Building file: "syscfg/ti_drivers_config.c"
Invoking: Arm Compiler
"D:/ti/ccs1020/ccs/tools/compiler/ti-cgt-arm_20.2.4.LTS/bin/armcl" -mv7M4 --code_state=16 --float_support=vfplib -me --include_path="D:/workspace/Fresenius/Wifi Project/workspace_v10/gpiointerrupt_CC3235SF_LAUNCHXL_nortos_ccs" --include_path="D:/workspace/Fresenius/Wifi Project/workspace_v10/gpiointerrupt_CC3235SF_LAUNCHXL_nortos_ccs/Analyze" --include_path="D:/ti/simplelink_cc32xx_sdk_4_40_00_07/source" --include_path="D:/ti/simplelink_cc32xx_sdk_4_40_00_07/kernel/nortos" --include_path="D:/ti/simplelink_cc32xx_sdk_4_40_00_07/kernel/nortos/posix" --include_path="D:/ti/ccs1020/ccs/tools/compiler/ti-cgt-arm_20.2.4.LTS/include" --define=NORTOS_SUPPORT -g --diag_warning=225 --diag_warning=255 --diag_wrap=off --display_error_number --gen_func_subsections=on --analyze=codecov --analyze_only --use_profile_info="pprofout.prf" --preproc_with_compile --preproc_dependency="gpiointerrupt.d_raw" --include_path="D:/workspace/Fresenius/Wifi Project/workspace_v10/gpiointerrupt_CC3235SF_LAUNCHXL_nortos_ccs/Analyze/syscfg" "../gpiointerrupt.c"
Invoking: Arm Compiler
Invoking: Arm Compiler
"D:/ti/ccs1020/ccs/tools/compiler/ti-cgt-arm_20.2.4.LTS/bin/armcl" -mv7M4 --code_state=16 --float_support=vfplib -me --include_path="D:/workspace/Fresenius/Wifi Project/workspace_v10/gpiointerrupt_CC3235SF_LAUNCHXL_nortos_ccs" --include_path="D:/workspace/Fresenius/Wifi Project/workspace_v10/gpiointerrupt_CC3235SF_LAUNCHXL_nortos_ccs/Analyze" --include_path="D:/ti/simplelink_cc32xx_sdk_4_40_00_07/source" --include_path="D:/ti/simplelink_cc32xx_sdk_4_40_00_07/kernel/nortos" --include_path="D:/ti/simplelink_cc32xx_sdk_4_40_00_07/kernel/nortos/posix" --include_path="D:/ti/ccs1020/ccs/tools/compiler/ti-cgt-arm_20.2.4.LTS/include" --define=NORTOS_SUPPORT -g --diag_warning=225 --diag_warning=255 --diag_wrap=off --display_error_number --gen_func_subsections=on --analyze=codecov --analyze_only --use_profile_info="pprofout.prf" --preproc_with_compile --preproc_dependency="main_nortos.d_raw" --include_path="D:/workspace/Fresenius/Wifi Project/workspace_v10/gpiointerrupt_CC3235SF_LAUNCHXL_nortos_ccs/Analyze/syscfg" "../main_nortos.c"
"D:/ti/ccs1020/ccs/tools/compiler/ti-cgt-arm_20.2.4.LTS/bin/armcl" -mv7M4 --code_state=16 --float_support=vfplib -me --include_path="D:/workspace/Fresenius/Wifi Project/workspace_v10/gpiointerrupt_CC3235SF_LAUNCHXL_nortos_ccs" --include_path="D:/workspace/Fresenius/Wifi Project/workspace_v10/gpiointerrupt_CC3235SF_LAUNCHXL_nortos_ccs/Analyze" --include_path="D:/ti/simplelink_cc32xx_sdk_4_40_00_07/source" --include_path="D:/ti/simplelink_cc32xx_sdk_4_40_00_07/kernel/nortos" --include_path="D:/ti/simplelink_cc32xx_sdk_4_40_00_07/kernel/nortos/posix" --include_path="D:/ti/ccs1020/ccs/tools/compiler/ti-cgt-arm_20.2.4.LTS/include" --define=NORTOS_SUPPORT -g --diag_warning=225 --diag_warning=255 --diag_wrap=off --display_error_number --gen_func_subsections=on --analyze=codecov --analyze_only --use_profile_info="pprofout.prf" --preproc_with_compile --preproc_dependency="syscfg/ti_drivers_config.d_raw" --include_path="D:/workspace/Fresenius/Wifi Project/workspace_v10/gpiointerrupt_CC3235SF_LAUNCHXL_nortos_ccs/Analyze/syscfg" --obj_directory="syscfg" "syscfg/ti_drivers_config.c"
Finished building: "../main_nortos.c"
Finished building: "../gpiointerrupt.c"


Finished building: "syscfg/ti_drivers_config.c"

Building target: "gpiointerrupt_CC3235SF_LAUNCHXL_nortos_ccs.out"
Invoking: Arm Linker
"D:/ti/ccs1020/ccs/tools/compiler/ti-cgt-arm_20.2.4.LTS/bin/armcl" -mv7M4 --code_state=16 --float_support=vfplib -me --define=NORTOS_SUPPORT -g --diag_warning=225 --diag_warning=255 --diag_wrap=off --display_error_number --gen_func_subsections=on --analyze=codecov --analyze_only --use_profile_info="pprofout.prf" -z -m"gpiointerrupt_CC3235SF_LAUNCHXL_nortos_ccs.map" -i"D:/ti/simplelink_cc32xx_sdk_4_40_00_07/source" -i"D:/ti/simplelink_cc32xx_sdk_4_40_00_07/kernel/nortos" -i"D:/workspace/Fresenius/Wifi Project/workspace_v10/gpiointerrupt_CC3235SF_LAUNCHXL_nortos_ccs/Analyze/syscfg" -i"D:/ti/ccs1020/ccs/tools/compiler/ti-cgt-arm_20.2.4.LTS/lib" --diag_suppress=10063 --diag_wrap=off --display_error_number --warn_sections --xml_link_info="gpiointerrupt_CC3235SF_LAUNCHXL_nortos_ccs_linkInfo.xml" --entry_point=resetISR --rom_model -o "gpiointerrupt_CC3235SF_LAUNCHXL_nortos_ccs.out" "./gpiointerrupt.obj" "./syscfg/ti_drivers_config.obj" "./main_nortos.obj" "../cc32xxsf_nortos.cmd" -lti_utils_build_linker.cmd.genlibs -l"ti/devices/cc32xx/driverlib/ccs/Release/driverlib.a" -llibc.a
<Linking>
"C:\\Users\\CN0086~1\\AppData\\Local\\Temp\\{4E7C48F2-9C24-4DC7-A10C-00D28FB52D72}", line 26: error #10008-D: cannot find file "./gpiointerrupt.obj"
"C:\\Users\\CN0086~1\\AppData\\Local\\Temp\\{4E7C48F2-9C24-4DC7-A10C-00D28FB52D72}", line 27: error #10008-D: cannot find file "./syscfg/ti_drivers_config.obj"
"C:\\Users\\CN0086~1\\AppData\\Local\\Temp\\{4E7C48F2-9C24-4DC7-A10C-00D28FB52D72}", line 28: error #10008-D: cannot find file "./main_nortos.obj"

undefined first referenced
symbol in file
--------- ----------------
main D:\ti\ccs1020\ccs\tools\compiler\ti-cgt-arm_20.2.4.LTS\lib\rtsv7M4_T_le_eabi.lib<boot_cortex_m.c.obj>

error #10234-D: unresolved symbols remain
error #10010: errors encountered during linking; "gpiointerrupt_CC3235SF_LAUNCHXL_nortos_ccs.out" not built

>> Compilation failure
makefile:150: recipe for target 'gpiointerrupt_CC3235SF_LAUNCHXL_nortos_ccs.out' failed
gmake[2]: *** [gpiointerrupt_CC3235SF_LAUNCHXL_nortos_ccs.out] Error 1
makefile:146: recipe for target 'main-build' failed
gmake[1]: *** [main-build] Error 2
makefile:141: recipe for target 'all' failed
gmake: *** [all] Error 2

**** Build Finished ****

--------------------------------------------------------------------------------------------------------------------------------------------------------

Can you give me some suggestions on this question, It would be more perfect to provide a CSS project for reference

PS:The hardware we currently evaluate is based on LAUNCHXL-CC3235SF

  • hello

    it seems like the obj file miss, can you pls clean up first, then compile again? 

  • I did this before, but it didn't work

  • may be this will helpful for you

    https://blog.csdn.net/sxjk1987/article/details/8512568/

    otherwise, could you pls upload the cmd file of this proj?

  • cmd file show as bleow:

    -------------------------------------------------------------------------------------------------------------------------------------------------------

    /*
    * Copyright (c) 2018-2020, Texas Instruments Incorporated
    * All rights reserved.
    *
    * Redistribution and use in source and binary forms, with or without
    * modification, are permitted provided that the following conditions
    * are met:
    *
    * * Redistributions of source code must retain the above copyright
    * notice, this list of conditions and the following disclaimer.
    *
    * * Redistributions in binary form must reproduce the above copyright
    * notice, this list of conditions and the following disclaimer in the
    * documentation and/or other materials provided with the distribution.
    *
    * * Neither the name of Texas Instruments Incorporated nor the names of
    * its contributors may be used to endorse or promote products derived
    * from this software without specific prior written permission.
    *
    * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
    * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
    * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
    * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
    * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
    * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
    * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
    * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
    * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
    * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
    * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    */

    --stack_size=0x1000
    --heap_size=0x8000
    --entry_point=resetISR
    --diag_suppress=10063 /* suppress warning about non _c_int00 entry point */

    /*
    * The starting address of the application. Normally the interrupt vectors
    * must be located at the beginning of the application.
    */
    #define SRAM_BASE 0x20000000
    #define FLASH_BASE 0x01000800

    MEMORY
    {
    /* Bootloader uses FLASH_HDR during initialization */
    FLASH_HDR (RX) : origin = 0x01000000, length = 0x7FF /* 2 KB */
    FLASH (RX) : origin = 0x01000800, length = 0x0FF800 /* 1022KB */
    SRAM (RWX) : origin = 0x20000000, length = 0x00040000 /* 256KB */
    /* Explicitly placed off target for the storage of logging data.
    * The data placed here is NOT loaded onto the target device.
    * This is part of 1 GB of external memory from 0x60000000 - 0x9FFFFFFF.
    * ARM memory map can be found here:
    * developer.arm.com/.../about-the-memory-map
    */
    LOG_DATA (R) : origin = 0x90000000, length = 0x40000
    }

    /* Section allocation in memory */

    SECTIONS
    {
    .dbghdr : > FLASH_HDR
    .text : > FLASH
    .TI.ramfunc : {} load=FLASH, run=SRAM, table(BINIT)
    .const : > FLASH
    .rodata : > FLASH
    .cinit : > FLASH
    .pinit : > FLASH
    .init_array : > FLASH

    .data : > SRAM
    .ppdata : {} > SRAM
    .bss : > SRAM
    .sysmem : > SRAM
    .stack : > SRAM(HIGH)

    .resetVecs : > FLASH_BASE
    .ramVecs : > SRAM_BASE, type=NOLOAD
    .log_data : > LOG_DATA, type = COPY
    }

    -------------------------------------------------------------------------------------------------------------------------------------------------------

    this project come from offical sdk example,i just  add ".ppdata     : {} > SRAM" content int the SECTIONS

  • I believe this is expected (see note at the bottom of the instructions page) because the object are not created in the Analyze phase.

    If you exactly followed the instructions - you should see the .csv files with the coverage information under the Analyze/ folder.

  • i will show you the code project,Maybe you can help check my project settings.
    uartecho_CC3235SF_LAUNCHXL_nortos_ccs.zip

  • what is the exact problem?

    I'm not an expert of this compilation feature and tried this for the first time.

    I just followed the instructions and was able to get CSV with the coverage info (i got the same linker error as you did - but it was expected)

  • According to my analysis, the main function of the analyz configuration is to call the prebuild ${CG_TOOL_ROOT}/bin/armpdd tool chain to generate the result (${CG_TOOL_ROOT}/bin/armpdd" -e "${CCS_PROJECT_DIR}/Collect/${BuildArtifactFileName}" -o pprofout.prf "${CCS_PROJECT_DIR}/Collect/pprofout.pdat).

    From the compiled output result, the armpdd tool chain does not report an error, but I cannot get the expected CVS File, I only got the pprofout.prf file

    The content of pprofout.prf seems to be related to the code coverage, but I don’t think this is the expected result, because the content is not very easy to read.the content of pprofout.prf show below

    PS:If you have a project (CC3235) that can get CSV, can it be uploaded as an attachment, so I can refer to it.TKS

  • The armpdd (and the resulting PRF file) is just the pre-compile step for the Analyze configuration.

    After you set the "Generate analysis info from profile data" (according to the instructions) and re-compile the project you'll get the CSV files

  • I am pretty sure that I have completed all the steps in the instructions because it is not complicated. I want to confirm whether you have actually completed the code coverage of the CC3235SF (CC32XX) chip based on the CCS platform. This can give me some exact information. Used to judge where the problem is.

  • yes. i did (on CC3235S but it should be the same as SF).

    After building the Analyze project, i found the following:

    /resized-image/__size/960x720/__key/communityserver-discussions-components-files/968/pastedimage1623046019774v1.png