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.

CCS/LAUNCHXL-F28069M: Target specification changing

Part Number: LAUNCHXL-F28069M
Other Parts Discussed in Thread: SYSBIOS, C2000WARE

Tool/software: Code Composer Studio

Hello,

I'm encountering an issue, which is identical to what is described in the original question (pinned at top of page).

The solution brought there is to change the option of the target in the RTSC tab from targets.C28_large to targets.C28_float.

The answer there refers to CCS version 6. My current version is 10.0 in which I don't see such an option in the project option:

I've searched in all project options and don't manage to find were this can be modified.

Can you please provide the location for that?

Thanks,

Amitai

  • Add to Phrasebook
    • No word lists for English -> Hebrew...
    • Create a new word list...
  • Copy
  • Add to Phrasebook
    • No word lists for English -> Hebrew...
    • Create a new word list...
  • Copy
  • Hi,

    The project you are referring to is SYSBIOS which uses those components.

    Which project are you referring to in your example ? Is this from C2000ware ?

  • The project is taken from the sequence of lab5 for the F28069 Experimenter Kit,

    https://training.ti.com/c2000-f2806x-microcontroller-workshop?context=1137791-1137782

    From the description of the original question it seems to be the same workshop;

    How can I verify that?

    Amitai

  • Amitai,

    The workshop referenced in the previous post does not use SYS/BIOS.  Please double-check your link.

    - Ken

  • The workshop I've downloaded is from the link I have provided, so I understand it isn't SYS/BIOS.

    Sorry for my mistake, I thought from the original question he used the same workspace.

    So how can the issue be solved in my case, if I don't have this option? I guess it still is some

    configuration mismatch, since the c files seem identical to the ones in the original question.

    Amitai

  • It sounds like you have a duplicate declaration of PieVectTable. What does the whole error message in your screen capture say? One is what you're showing on line 376 of F2806x_GlboalVariableDefs.c but what is the other? It says "line 271" but the rest is cut off.

    Whitney

  • The full message is:

    148 declaration is incompatible with "volatile struct PIE_VECT_TABLE PieVectTable" (declared at line 271 of "C:\TI\c2000\C2000Ware_3_02_00_00\device_support\f2806x\headers\include\F2806x_PieVect.h")

    - Attached below is the whole project zip, there can be found the c and h files.

    - Trying to make the struct volatile (volatile struct SCI_REGS SciaRegs) ,
      like all other structures in this c file, results in 10010 errors -
     

    #10010 errors encountered during linking

    - Besides that I've searched for the "PieVectTable" expression in project,

    and it does indeed appear multiple times, but it appears in files which are excluded currently from

    the project, and for the safe side I have also commented out these lines. The error still appears afterwards.

    Amitai

    2577.Project.zip

  • You DO need to have the volatile keyword in the declaration. The #10010 code doesn't really tell me anything. It basically just says that it already found an error. Can you tell me the whole linker console output?

    I couldn't import your project for some reason, but I didn't see any obvious causes looking through the code.

    Whitney

  • Are you sure about adding the "volatile"? This is the same as the original question, see what you have answered there:

    I'm attaching the console output for rebuilding the project, first with the "volatile" keyword, then without:

    **** Clean-only build of configuration Debug for project Lab5 ****
    
    "C:\\TI\\ccs1000\\ccs\\utils\\bin\\gmake" -k -j 4 clean -O 
     
    DEL /F  "Lab5.hex"  "Lab5.out" 
    DEL /F "CodeStartBranch.obj" "DelayUs.obj" "F2806x_GlobalVariableDefs.obj" "Gpio.obj" "Main_5.obj" "SysCtrl.obj" "Watchdog.obj" 
    DEL /F "F2806x_GlobalVariableDefs.d" "Gpio.d" "Main_5.d" "SysCtrl.d" "Watchdog.d" 
    DEL /F "CodeStartBranch.d" "DelayUs.d" 
    Could Not Find C:\P4\Engineering\FirmWare\TI Development Kit\C28x workgroup\Labs\Lab5\Project\Debug\Lab5.hex
    Could Not Find C:\P4\Engineering\FirmWare\TI Development Kit\C28x workgroup\Labs\Lab5\Project\Debug\CodeStartBranch.d
    Finished clean
     
    
    **** Build Finished ****
    
    **** Build of configuration Debug for project Lab5 ****
    
    "C:\\TI\\ccs1000\\ccs\\utils\\bin\\gmake" -k -j 4 all -O 
     
    Building file: "../CodeStartBranch.asm"
    Invoking: C2000 Compiler
    "C:/TI/ccs1000/ccs/tools/compiler/ti-cgt-c2000_20.2.0.LTS/bin/cl2000" -v28 -ml -mt --cla_support=cla0 --float_support=fpu32 --vcu_support=vcu0 --include_path="C:/P4/Engineering/FirmWare/TI Development Kit/C28x workgroup/Labs/Lab5/Project" --include_path="C:/TI/c2000/C2000Ware_3_02_00_00/device_support/f2806x/headers/include" --include_path="C:/TI/ccs1000/ccs/tools/compiler/ti-cgt-c2000_20.2.0.LTS/include" -g --diag_warning=225 --diag_wrap=off --display_error_number --abi=coffabi --preproc_with_compile --preproc_dependency="CodeStartBranch.d_raw"  "../CodeStartBranch.asm"
    Finished building: "../CodeStartBranch.asm"
     
    Building file: "../DelayUs.asm"
    Invoking: C2000 Compiler
    "C:/TI/ccs1000/ccs/tools/compiler/ti-cgt-c2000_20.2.0.LTS/bin/cl2000" -v28 -ml -mt --cla_support=cla0 --float_support=fpu32 --vcu_support=vcu0 --include_path="C:/P4/Engineering/FirmWare/TI Development Kit/C28x workgroup/Labs/Lab5/Project" --include_path="C:/TI/c2000/C2000Ware_3_02_00_00/device_support/f2806x/headers/include" --include_path="C:/TI/ccs1000/ccs/tools/compiler/ti-cgt-c2000_20.2.0.LTS/include" -g --diag_warning=225 --diag_wrap=off --display_error_number --abi=coffabi --preproc_with_compile --preproc_dependency="DelayUs.d_raw"  "../DelayUs.asm"
    Finished building: "../DelayUs.asm"
     
    Building file: "../Gpio.c"
    Invoking: C2000 Compiler
    "C:/TI/ccs1000/ccs/tools/compiler/ti-cgt-c2000_20.2.0.LTS/bin/cl2000" -v28 -ml -mt --cla_support=cla0 --float_support=fpu32 --vcu_support=vcu0 --include_path="C:/P4/Engineering/FirmWare/TI Development Kit/C28x workgroup/Labs/Lab5/Project" --include_path="C:/TI/c2000/C2000Ware_3_02_00_00/device_support/f2806x/headers/include" --include_path="C:/TI/ccs1000/ccs/tools/compiler/ti-cgt-c2000_20.2.0.LTS/include" -g --diag_warning=225 --diag_wrap=off --display_error_number --abi=coffabi --preproc_with_compile --preproc_dependency="Gpio.d_raw"  "../Gpio.c"
    Finished building: "../Gpio.c"
     
    Building file: "../Main_5.c"
    Invoking: C2000 Compiler
    "C:/TI/ccs1000/ccs/tools/compiler/ti-cgt-c2000_20.2.0.LTS/bin/cl2000" -v28 -ml -mt --cla_support=cla0 --float_support=fpu32 --vcu_support=vcu0 --include_path="C:/P4/Engineering/FirmWare/TI Development Kit/C28x workgroup/Labs/Lab5/Project" --include_path="C:/TI/c2000/C2000Ware_3_02_00_00/device_support/f2806x/headers/include" --include_path="C:/TI/ccs1000/ccs/tools/compiler/ti-cgt-c2000_20.2.0.LTS/include" -g --diag_warning=225 --diag_wrap=off --display_error_number --abi=coffabi --preproc_with_compile --preproc_dependency="Main_5.d_raw"  "../Main_5.c"
    Finished building: "../Main_5.c"
     
    Building file: "../SysCtrl.c"
    Invoking: C2000 Compiler
    "C:/TI/ccs1000/ccs/tools/compiler/ti-cgt-c2000_20.2.0.LTS/bin/cl2000" -v28 -ml -mt --cla_support=cla0 --float_support=fpu32 --vcu_support=vcu0 --include_path="C:/P4/Engineering/FirmWare/TI Development Kit/C28x workgroup/Labs/Lab5/Project" --include_path="C:/TI/c2000/C2000Ware_3_02_00_00/device_support/f2806x/headers/include" --include_path="C:/TI/ccs1000/ccs/tools/compiler/ti-cgt-c2000_20.2.0.LTS/include" -g --diag_warning=225 --diag_wrap=off --display_error_number --abi=coffabi --preproc_with_compile --preproc_dependency="SysCtrl.d_raw"  "../SysCtrl.c"
    Finished building: "../SysCtrl.c"
     
    Building file: "../F2806x_GlobalVariableDefs.c"
    Invoking: C2000 Compiler
    "C:/TI/ccs1000/ccs/tools/compiler/ti-cgt-c2000_20.2.0.LTS/bin/cl2000" -v28 -ml -mt --cla_support=cla0 --float_support=fpu32 --vcu_support=vcu0 --include_path="C:/P4/Engineering/FirmWare/TI Development Kit/C28x workgroup/Labs/Lab5/Project" --include_path="C:/TI/c2000/C2000Ware_3_02_00_00/device_support/f2806x/headers/include" --include_path="C:/TI/ccs1000/ccs/tools/compiler/ti-cgt-c2000_20.2.0.LTS/include" -g --diag_warning=225 --diag_wrap=off --display_error_number --abi=coffabi --preproc_with_compile --preproc_dependency="F2806x_GlobalVariableDefs.d_raw"  "../F2806x_GlobalVariableDefs.c"
    Finished building: "../F2806x_GlobalVariableDefs.c"
     
    Building file: "../Watchdog.c"
    Invoking: C2000 Compiler
    "C:/TI/ccs1000/ccs/tools/compiler/ti-cgt-c2000_20.2.0.LTS/bin/cl2000" -v28 -ml -mt --cla_support=cla0 --float_support=fpu32 --vcu_support=vcu0 --include_path="C:/P4/Engineering/FirmWare/TI Development Kit/C28x workgroup/Labs/Lab5/Project" --include_path="C:/TI/c2000/C2000Ware_3_02_00_00/device_support/f2806x/headers/include" --include_path="C:/TI/ccs1000/ccs/tools/compiler/ti-cgt-c2000_20.2.0.LTS/include" -g --diag_warning=225 --diag_wrap=off --display_error_number --abi=coffabi --preproc_with_compile --preproc_dependency="Watchdog.d_raw"  "../Watchdog.c"
    Finished building: "../Watchdog.c"
     
    Building target: "Lab5.out"
    Invoking: C2000 Linker
    "C:/TI/ccs1000/ccs/tools/compiler/ti-cgt-c2000_20.2.0.LTS/bin/cl2000" -v28 -ml -mt --cla_support=cla0 --float_support=fpu32 --vcu_support=vcu0 -g --diag_warning=225 --diag_wrap=off --display_error_number --abi=coffabi -z -m"Lab5.map" --stack_size=0x300 --warn_sections -i"C:/TI/ccs1000/ccs/tools/compiler/ti-cgt-c2000_20.2.0.LTS/lib" -i"C:/TI/ccs1000/ccs/tools/compiler/ti-cgt-c2000_20.2.0.LTS/include" --reread_libs --diag_wrap=off --display_error_number --xml_link_info="Lab5_linkInfo.xml" --rom_model -o "Lab5.out" "./CodeStartBranch.obj" "./DelayUs.obj" "./F2806x_GlobalVariableDefs.obj" "./Gpio.obj" "./Main_5.obj" "./SysCtrl.obj" "./Watchdog.obj" "../F2806x_Headers_nonBIOS.cmd" "../Lab_5_6_7.cmd"  -llibc.a 
    <Linking>
     
     undefined    first referenced
      symbol          in file     
     ---------    ----------------
     _InitPieCtrl ./Main_5.obj    
     
    error #10234-D: unresolved symbols remain
    error #10010: errors encountered during linking; "Lab5.out" not built
     
    >> Compilation failure
    makefile:148: recipe for target 'Lab5.out' failed
    gmake[1]: *** [Lab5.out] Error 1
    makefile:144: recipe for target 'all' failed
    gmake: *** [all] Error 2
    
    **** Build Finished ****

    **** Clean-only build of configuration Debug for project Lab5 ****
    
    "C:\\TI\\ccs1000\\ccs\\utils\\bin\\gmake" -k -j 4 clean -O 
     
    DEL /F  "Lab5.hex"  "Lab5.out" 
    DEL /F "CodeStartBranch.obj" "DelayUs.obj" "F2806x_GlobalVariableDefs.obj" "Gpio.obj" "Main_5.obj" "SysCtrl.obj" "Watchdog.obj" 
    DEL /F "F2806x_GlobalVariableDefs.d" "Gpio.d" "Main_5.d" "SysCtrl.d" "Watchdog.d" 
    DEL /F "CodeStartBranch.d" "DelayUs.d" 
    Could Not Find C:\P4\Engineering\FirmWare\TI Development Kit\C28x workgroup\Labs\Lab5\Project\Debug\Lab5.hex
    Could Not Find C:\P4\Engineering\FirmWare\TI Development Kit\C28x workgroup\Labs\Lab5\Project\Debug\CodeStartBranch.d
    Finished clean
     
    
    **** Build Finished ****
    
    **** Build of configuration Debug for project Lab5 ****
    
    "C:\\TI\\ccs1000\\ccs\\utils\\bin\\gmake" -k -j 4 all -O 
     
    Building file: "../F2806x_GlobalVariableDefs.c"
    Invoking: C2000 Compiler
    "C:/TI/ccs1000/ccs/tools/compiler/ti-cgt-c2000_20.2.0.LTS/bin/cl2000" -v28 -ml -mt --cla_support=cla0 --float_support=fpu32 --vcu_support=vcu0 --include_path="C:/P4/Engineering/FirmWare/TI Development Kit/C28x workgroup/Labs/Lab5/Project" --include_path="C:/TI/c2000/C2000Ware_3_02_00_00/device_support/f2806x/headers/include" --include_path="C:/TI/ccs1000/ccs/tools/compiler/ti-cgt-c2000_20.2.0.LTS/include" -g --diag_warning=225 --diag_wrap=off --display_error_number --abi=coffabi --preproc_with_compile --preproc_dependency="F2806x_GlobalVariableDefs.d_raw"  "../F2806x_GlobalVariableDefs.c"
     
    >> Compilation failure
    subdir_rules.mk:16: recipe for target 'F2806x_GlobalVariableDefs.obj' failed
    "../F2806x_GlobalVariableDefs.c", line 377: error #148: declaration is incompatible with "volatile struct PIE_VECT_TABLE PieVectTable" (declared at line 271 of "C:\TI\c2000\C2000Ware_3_02_00_00\device_support\f2806x\headers\include\F2806x_PieVect.h")
    1 error detected in the compilation of "../F2806x_GlobalVariableDefs.c".
    gmake: *** [F2806x_GlobalVariableDefs.obj] Error 1
    Building file: "../CodeStartBranch.asm"
    Invoking: C2000 Compiler
    "C:/TI/ccs1000/ccs/tools/compiler/ti-cgt-c2000_20.2.0.LTS/bin/cl2000" -v28 -ml -mt --cla_support=cla0 --float_support=fpu32 --vcu_support=vcu0 --include_path="C:/P4/Engineering/FirmWare/TI Development Kit/C28x workgroup/Labs/Lab5/Project" --include_path="C:/TI/c2000/C2000Ware_3_02_00_00/device_support/f2806x/headers/include" --include_path="C:/TI/ccs1000/ccs/tools/compiler/ti-cgt-c2000_20.2.0.LTS/include" -g --diag_warning=225 --diag_wrap=off --display_error_number --abi=coffabi --preproc_with_compile --preproc_dependency="CodeStartBranch.d_raw"  "../CodeStartBranch.asm"
    Finished building: "../CodeStartBranch.asm"
     
    Building file: "../DelayUs.asm"
    Invoking: C2000 Compiler
    "C:/TI/ccs1000/ccs/tools/compiler/ti-cgt-c2000_20.2.0.LTS/bin/cl2000" -v28 -ml -mt --cla_support=cla0 --float_support=fpu32 --vcu_support=vcu0 --include_path="C:/P4/Engineering/FirmWare/TI Development Kit/C28x workgroup/Labs/Lab5/Project" --include_path="C:/TI/c2000/C2000Ware_3_02_00_00/device_support/f2806x/headers/include" --include_path="C:/TI/ccs1000/ccs/tools/compiler/ti-cgt-c2000_20.2.0.LTS/include" -g --diag_warning=225 --diag_wrap=off --display_error_number --abi=coffabi --preproc_with_compile --preproc_dependency="DelayUs.d_raw"  "../DelayUs.asm"
    Finished building: "../DelayUs.asm"
     
    Building file: "../Main_5.c"
    Invoking: C2000 Compiler
    "C:/TI/ccs1000/ccs/tools/compiler/ti-cgt-c2000_20.2.0.LTS/bin/cl2000" -v28 -ml -mt --cla_support=cla0 --float_support=fpu32 --vcu_support=vcu0 --include_path="C:/P4/Engineering/FirmWare/TI Development Kit/C28x workgroup/Labs/Lab5/Project" --include_path="C:/TI/c2000/C2000Ware_3_02_00_00/device_support/f2806x/headers/include" --include_path="C:/TI/ccs1000/ccs/tools/compiler/ti-cgt-c2000_20.2.0.LTS/include" -g --diag_warning=225 --diag_wrap=off --display_error_number --abi=coffabi --preproc_with_compile --preproc_dependency="Main_5.d_raw"  "../Main_5.c"
    Finished building: "../Main_5.c"
     
    Building file: "../Gpio.c"
    Invoking: C2000 Compiler
    "C:/TI/ccs1000/ccs/tools/compiler/ti-cgt-c2000_20.2.0.LTS/bin/cl2000" -v28 -ml -mt --cla_support=cla0 --float_support=fpu32 --vcu_support=vcu0 --include_path="C:/P4/Engineering/FirmWare/TI Development Kit/C28x workgroup/Labs/Lab5/Project" --include_path="C:/TI/c2000/C2000Ware_3_02_00_00/device_support/f2806x/headers/include" --include_path="C:/TI/ccs1000/ccs/tools/compiler/ti-cgt-c2000_20.2.0.LTS/include" -g --diag_warning=225 --diag_wrap=off --display_error_number --abi=coffabi --preproc_with_compile --preproc_dependency="Gpio.d_raw"  "../Gpio.c"
    Finished building: "../Gpio.c"
     
    Building file: "../Watchdog.c"
    Invoking: C2000 Compiler
    "C:/TI/ccs1000/ccs/tools/compiler/ti-cgt-c2000_20.2.0.LTS/bin/cl2000" -v28 -ml -mt --cla_support=cla0 --float_support=fpu32 --vcu_support=vcu0 --include_path="C:/P4/Engineering/FirmWare/TI Development Kit/C28x workgroup/Labs/Lab5/Project" --include_path="C:/TI/c2000/C2000Ware_3_02_00_00/device_support/f2806x/headers/include" --include_path="C:/TI/ccs1000/ccs/tools/compiler/ti-cgt-c2000_20.2.0.LTS/include" -g --diag_warning=225 --diag_wrap=off --display_error_number --abi=coffabi --preproc_with_compile --preproc_dependency="Watchdog.d_raw"  "../Watchdog.c"
    Finished building: "../Watchdog.c"
     
    Building file: "../SysCtrl.c"
    Invoking: C2000 Compiler
    "C:/TI/ccs1000/ccs/tools/compiler/ti-cgt-c2000_20.2.0.LTS/bin/cl2000" -v28 -ml -mt --cla_support=cla0 --float_support=fpu32 --vcu_support=vcu0 --include_path="C:/P4/Engineering/FirmWare/TI Development Kit/C28x workgroup/Labs/Lab5/Project" --include_path="C:/TI/c2000/C2000Ware_3_02_00_00/device_support/f2806x/headers/include" --include_path="C:/TI/ccs1000/ccs/tools/compiler/ti-cgt-c2000_20.2.0.LTS/include" -g --diag_warning=225 --diag_wrap=off --display_error_number --abi=coffabi --preproc_with_compile --preproc_dependency="SysCtrl.d_raw"  "../SysCtrl.c"
    Finished building: "../SysCtrl.c"
     
    gmake: Target 'all' not remade because of errors.
    
    **** Build Finished ****
    

  • I'm attaching also the f2806x_GlobalVariabelDefs.c and F2806x_PieVect.h if it helps:

    //###########################################################################
    //
    // FILE:   F2806x_PieVect.h
    //
    // TITLE:  F2806x Devices PIE Vector Table Definitions.
    //
    //###########################################################################
    // $TI Release: F2806x Support Library v2.05.00.00 $
    // $Release Date: Tue May 26 17:12:03 IST 2020 $
    // $Copyright:
    // Copyright (C) 2009-2020 Texas Instruments Incorporated - http://www.ti.com/
    //
    // 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.
    // $
    //###########################################################################
    
    #ifndef F2806x_PIE_VECT_H
    #define F2806x_PIE_VECT_H
    
    #ifdef __cplusplus
    extern "C" {
    #endif
    
    //
    // PIE Interrupt Vector Table Definition:
    //
    
    //
    // Create a user type called PINT (pointer to interrupt)
    //
    typedef interrupt void(*PINT)(void);
    
    //
    // Define Vector Table
    //
    struct PIE_VECT_TABLE 
    {
        //
        // Reset is never fetched from this table.
        // It will always be fetched from 0x3FFFC0 in boot ROM
        //
        PINT     PIE1_RESERVED;
        PINT     PIE2_RESERVED;
        PINT     PIE3_RESERVED;
        PINT     PIE4_RESERVED;
        PINT     PIE5_RESERVED;
        PINT     PIE6_RESERVED;
        PINT     PIE7_RESERVED;
        PINT     PIE8_RESERVED;
        PINT     PIE9_RESERVED;
        PINT     PIE10_RESERVED;
        PINT     PIE11_RESERVED;
        PINT     PIE12_RESERVED;
        PINT     PIE13_RESERVED;
    
        //
        // Non-Peripheral Interrupts
        //
        PINT     TINT1;     // CPU-Timer1
        PINT     TINT2;     // CPU-Timer2
        PINT     DATALOG;   // Datalogging interrupt
        PINT     RTOSINT;   // RTOS interrupt
        PINT     EMUINT;    // Emulation interrupt
        PINT     NMI;       // Non-maskable interrupt
        PINT     ILLEGAL;   // Illegal operation TRAP
        PINT     USER1;     // User Defined trap 1
        PINT     USER2;     // User Defined trap 2
        PINT     USER3;     // User Defined trap 3
        PINT     USER4;     // User Defined trap 4
        PINT     USER5;     // User Defined trap 5
        PINT     USER6;     // User Defined trap 6
        PINT     USER7;     // User Defined trap 7
        PINT     USER8;     // User Defined trap 8
        PINT     USER9;     // User Defined trap 9
        PINT     USER10;    // User Defined trap 10
        PINT     USER11;    // User Defined trap 11
        PINT     USER12;    // User Defined trap 12
    
        //
        // Group 1 PIE Peripheral Vectors
        //
        
        //
        // ADC - if Group 10 ADCINT1 is enabled, this must be rsvd1_1
        //
        PINT     ADCINT1;   
        
        //
        // ADC - if Group 10 ADCINT2 is enabled, this must be rsvd1_2
        //
        PINT     ADCINT2;   
        
        PINT     rsvd1_3;
        PINT     XINT1;	    // External Interrupt 1
        PINT     XINT2;     // External Interrupt 2
        PINT     ADCINT9;   // ADC 9
        PINT     TINT0;     // Timer 0
        PINT     WAKEINT;   // WD
    
        //
        // Group 2 PIE Peripheral Vectors
        //
        PINT     EPWM1_TZINT;   // EPWM-1
        PINT     EPWM2_TZINT;   // EPWM-2
        PINT     EPWM3_TZINT;   // EPWM-3
        PINT     EPWM4_TZINT;   // EPWM-4
        PINT     EPWM5_TZINT;   // EPWM-5
        PINT     EPWM6_TZINT;   // EPWM-6
        PINT     EPWM7_TZINT;   // EPWM-7
        PINT     EPWM8_TZINT;  	// EPWM-8
    
        //
        // Group 3 PIE Peripheral Vectors
        //
        PINT     EPWM1_INT;  // EPWM-1
        PINT     EPWM2_INT;  // EPWM-2
        PINT     EPWM3_INT;  // EPWM-3
        PINT     EPWM4_INT;  // EPWM-4
        PINT     EPWM5_INT;  // EPWM-5
        PINT     EPWM6_INT;  // EPWM-6
        PINT     EPWM7_INT;  // EPWM-7
        PINT     EPWM8_INT;  // EPWM-8
    
        //
        // Group 4 PIE Peripheral Vectors
        //
        PINT     ECAP1_INT;  // ECAP-1
        PINT     ECAP2_INT;  // ECAP-2
        PINT     ECAP3_INT;  // ECAP-3
        PINT     rsvd4_4;
        PINT     rsvd4_5;
        PINT     rsvd4_6;
        PINT     HRCAP1_INT; // HRCAP-1
        PINT     HRCAP2_INT; // HRCAP-2
    
        //
        // Group 5 PIE Peripheral Vectors
        //
        PINT     EQEP1_INT;  // EQEP-1
        PINT     EQEP2_INT;  // EQEP-2
        PINT     rsvd5_3;
        PINT     HRCAP3_INT; // HRCAP-3
        PINT     HRCAP4_INT; // HRCAP-4
        PINT     rsvd5_6;
        PINT     rsvd5_7;
        PINT     USB0_INT;   // USB-0
    
        //
        // Group 6 PIE Peripheral Vectors
        //
        PINT     SPIRXINTA;     // SPI-A
        PINT     SPITXINTA;     // SPI-A
        PINT     SPIRXINTB;     // SPI-B
        PINT     SPITXINTB;     // SPI-B
        PINT     MRINTA;	    // McBSP-A
        PINT     MXINTA;        // McBSP-A
        PINT     rsvd6_7;
        PINT     rsvd6_8;
    
        //
        // Group 7 PIE Peripheral Vectors
        //
        PINT     DINTCH1;	// DMA CH1
        PINT     DINTCH2;	// DMA CH2
        PINT     DINTCH3;	// DMA CH3
        PINT     DINTCH4;	// DMA CH4
        PINT     DINTCH5;	// DMA CH5
        PINT     DINTCH6;	// DMA CH6
        PINT     rsvd7_7;
        PINT     rsvd7_8;
    
        //
        // Group 8 PIE Peripheral Vectors
        //
        PINT     I2CINT1A;  // I2C-A
        PINT     I2CINT2A;  // I2C-A
        PINT     rsvd8_3;
        PINT     rsvd8_4;
        PINT     rsvd8_5;
        PINT     rsvd8_6;
        PINT     rsvd8_7;
        PINT     rsvd8_8;
    
        //
        // Group 9 PIE Peripheral Vectors
        //
        PINT     SCIRXINTA;  // SCI-A
        PINT     SCITXINTA;  // SCI-A
        PINT     SCIRXINTB;  // SCI-B
        PINT     SCITXINTB;  // SCI-B
        PINT     ECAN0INTA;  // eCAN-A
        PINT     ECAN1INTA;  // eCAN-A
        PINT     rsvd9_7;
        PINT     rsvd9_8;
    
        //
        // Group 10 PIE Peripheral Vectors
        //
        
        //
        // Can be ADCINT1, but must make ADCINT1 in Group 1 space "reserved".
        //
        PINT     rsvd10_1; 
        
        //
        // Can be ADCINT2, but must make ADCINT2 in Group 1 space "reserved".
        //
        PINT     rsvd10_2; 
        
        PINT     ADCINT3;  // ADC
        PINT     ADCINT4;  // ADC
        PINT     ADCINT5;  // ADC
        PINT     ADCINT6;  // ADC
        PINT     ADCINT7;  // ADC
        PINT     ADCINT8;  // ADC
    
        //
        // Group 11 PIE Peripheral Vectors:
        //
        PINT     CLA1_INT1;  // CLA
        PINT     CLA1_INT2;  // CLA
        PINT     CLA1_INT3;  // CLA
        PINT     CLA1_INT4;  // CLA
        PINT     CLA1_INT5;  // CLA
        PINT     CLA1_INT6;  // CLA
        PINT     CLA1_INT7;  // CLA
        PINT     CLA1_INT8;  // CLA
    
        //
        // Group 12 PIE Peripheral Vectors:
        //
        PINT     XINT3;
        PINT     rsvd12_2;
        PINT     rsvd12_3;
        PINT     rsvd12_4;
        PINT     rsvd12_5;
        PINT     rsvd12_6;
        PINT     LVF;        // Latched overflow
        PINT     LUF;        // Latched underflow
    };
    
    //
    // PIE Interrupt Vector Table External References & Function Declarations:
    //
    extern volatile struct PIE_VECT_TABLE PieVectTable;
    
    #ifdef __cplusplus
    }
    #endif /* extern "C" */
    
    #endif    // end of F2806x_PIE_VECT_H definition
    
    //
    // End of file
    //
    
    
    //###########################################################################
    //
    // FILE:    F2806x_GlobalVariableDefs.c
    //
    // TITLE:   F2806x Global Variables and Data Section Pragmas.
    //
    //###########################################################################
    // $TI Release: F2806x C/C++ Header Files and Peripheral Examples V136 $
    // $Release Date: Apr 15, 2013 $
    //###########################################################################
    
    #include "F2806x_Device.h"     // F2806x Headerfile Include File
    #include "F2806x_PieVect.h"
    
    //---------------------------------------------------------------------------
    // Define Global Peripheral Variables:
    //
    //----------------------------------------
    #ifdef __cplusplus
    #pragma DATA_SECTION("AdcRegsFile")
    #else
    #pragma DATA_SECTION(AdcRegs,"AdcRegsFile");
    #endif
    volatile struct ADC_REGS AdcRegs;
    
    //----------------------------------------
    #ifdef __cplusplus
    #pragma DATA_SECTION("AdcResultFile")
    #else
    #pragma DATA_SECTION(AdcResult,"AdcResultFile");
    #endif
    volatile struct ADC_RESULT_REGS AdcResult;
    
    //----------------------------------------
    #ifdef __cplusplus
    #pragma DATA_SECTION("Cla1RegsFile")
    #else
    #pragma DATA_SECTION(Cla1Regs,"Cla1RegsFile");
    #endif
    volatile struct CLA_REGS Cla1Regs;
    
    //----------------------------------------
    #ifdef __cplusplus
    #pragma DATA_SECTION("Comp1RegsFile")
    #else
    #pragma DATA_SECTION(Comp1Regs,"Comp1RegsFile");
    #endif
    volatile struct COMP_REGS Comp1Regs;
    
    //----------------------------------------
    #ifdef __cplusplus
    #pragma DATA_SECTION("Comp2RegsFile")
    #else
    #pragma DATA_SECTION(Comp2Regs,"Comp2RegsFile");
    #endif
    volatile struct COMP_REGS Comp2Regs;
    
    //----------------------------------------
    #ifdef __cplusplus
    #pragma DATA_SECTION("Comp3RegsFile")
    #else
    #pragma DATA_SECTION(Comp3Regs,"Comp3RegsFile");
    #endif
    volatile struct COMP_REGS Comp3Regs;
    
    //----------------------------------------
    #ifdef __cplusplus
    #pragma DATA_SECTION("CpuTimer0RegsFile")
    #else
    #pragma DATA_SECTION(CpuTimer0Regs,"CpuTimer0RegsFile");
    #endif
    volatile struct CPUTIMER_REGS CpuTimer0Regs;
    
    //----------------------------------------
    #ifdef __cplusplus
    #pragma DATA_SECTION("CpuTimer1RegsFile")
    #else
    #pragma DATA_SECTION(CpuTimer1Regs,"CpuTimer1RegsFile");
    #endif
    volatile struct CPUTIMER_REGS CpuTimer1Regs;
    
    //----------------------------------------
    #ifdef __cplusplus
    #pragma DATA_SECTION("CpuTimer2RegsFile")
    #else
    #pragma DATA_SECTION(CpuTimer2Regs,"CpuTimer2RegsFile");
    #endif
    volatile struct CPUTIMER_REGS CpuTimer2Regs;
    
    //----------------------------------------
    #ifdef __cplusplus
    #pragma DATA_SECTION("CsmPwlFile")
    #else
    #pragma DATA_SECTION(CsmPwl,"CsmPwlFile");
    #endif
    volatile struct CSM_PWL CsmPwl;
    
    //----------------------------------------
    #ifdef __cplusplus
    #pragma DATA_SECTION("CsmRegsFile")
    #else
    #pragma DATA_SECTION(CsmRegs,"CsmRegsFile");
    #endif
    volatile struct CSM_REGS CsmRegs;
    
    //----------------------------------------
    #ifdef __cplusplus
    #pragma DATA_SECTION("DevEmuRegsFile")
    #else
    #pragma DATA_SECTION(DevEmuRegs,"DevEmuRegsFile");
    #endif
    volatile struct DEV_EMU_REGS DevEmuRegs;
    
    //----------------------------------------
    #ifdef __cplusplus
    #pragma DATA_SECTION("DmaRegsFile")
    #else
    #pragma DATA_SECTION(DmaRegs,"DmaRegsFile");
    #endif
    volatile struct DMA_REGS DmaRegs;
    
    //----------------------------------------
    #ifdef __cplusplus
    #pragma DATA_SECTION("ECanaRegsFile")
    #else
    #pragma DATA_SECTION(ECanaRegs,"ECanaRegsFile");
    #endif
    volatile struct ECAN_REGS ECanaRegs;
    
    //----------------------------------------
    #ifdef __cplusplus
    #pragma DATA_SECTION("ECanaMboxesFile")
    #else
    #pragma DATA_SECTION(ECanaMboxes,"ECanaMboxesFile");
    #endif
    volatile struct ECAN_MBOXES ECanaMboxes;
    
    //----------------------------------------
    #ifdef __cplusplus
    #pragma DATA_SECTION("ECanaLAMRegsFile")
    #else
    #pragma DATA_SECTION(ECanaLAMRegs,"ECanaLAMRegsFile");
    #endif
    volatile struct LAM_REGS ECanaLAMRegs;
    
    //----------------------------------------
    #ifdef __cplusplus
    #pragma DATA_SECTION("ECanaMOTSRegsFile")
    #else
    #pragma DATA_SECTION(ECanaMOTSRegs,"ECanaMOTSRegsFile");
    #endif
    volatile struct MOTS_REGS ECanaMOTSRegs;
    
    //----------------------------------------
    #ifdef __cplusplus
    #pragma DATA_SECTION("ECanaMOTORegsFile")
    #else
    #pragma DATA_SECTION(ECanaMOTORegs,"ECanaMOTORegsFile");
    #endif
    volatile struct MOTO_REGS ECanaMOTORegs;
    
    //----------------------------------------
    #ifdef __cplusplus
    #pragma DATA_SECTION("EPwm1RegsFile")
    #else
    #pragma DATA_SECTION(EPwm1Regs,"EPwm1RegsFile");
    #endif
    volatile struct EPWM_REGS EPwm1Regs;
    
    //----------------------------------------
    #ifdef __cplusplus
    #pragma DATA_SECTION("EPwm2RegsFile")
    #else
    #pragma DATA_SECTION(EPwm2Regs,"EPwm2RegsFile");
    #endif
    volatile struct EPWM_REGS EPwm2Regs;
    
    //----------------------------------------
    #ifdef __cplusplus
    #pragma DATA_SECTION("EPwm3RegsFile")
    #else
    #pragma DATA_SECTION(EPwm3Regs,"EPwm3RegsFile");
    #endif
    volatile struct EPWM_REGS EPwm3Regs;
    
    //----------------------------------------
    #ifdef __cplusplus
    #pragma DATA_SECTION("EPwm4RegsFile")
    #else
    #pragma DATA_SECTION(EPwm4Regs,"EPwm4RegsFile");
    #endif
    volatile struct EPWM_REGS EPwm4Regs;
    
    //----------------------------------------
    #ifdef __cplusplus
    #pragma DATA_SECTION("EPwm5RegsFile")
    #else
    #pragma DATA_SECTION(EPwm5Regs,"EPwm5RegsFile");
    #endif
    volatile struct EPWM_REGS EPwm5Regs;
    
    //----------------------------------------
    #ifdef __cplusplus
    #pragma DATA_SECTION("EPwm6RegsFile")
    #else
    #pragma DATA_SECTION(EPwm6Regs,"EPwm6RegsFile");
    #endif
    volatile struct EPWM_REGS EPwm6Regs;
    
    //----------------------------------------
    #ifdef __cplusplus
    #pragma DATA_SECTION("EPwm7RegsFile")
    #else
    #pragma DATA_SECTION(EPwm7Regs,"EPwm7RegsFile");
    #endif
    volatile struct EPWM_REGS EPwm7Regs;
    
    //----------------------------------------
    #ifdef __cplusplus
    #pragma DATA_SECTION("EPwm8RegsFile")
    #else
    #pragma DATA_SECTION(EPwm8Regs,"EPwm8RegsFile");
    #endif
    volatile struct EPWM_REGS EPwm8Regs;
    
    
    //----------------------------------------
    #ifdef __cplusplus
    #pragma DATA_SECTION("ECap1RegsFile")
    #else
    #pragma DATA_SECTION(ECap1Regs,"ECap1RegsFile");
    #endif
    volatile struct ECAP_REGS ECap1Regs;
    
    //----------------------------------------
    #ifdef __cplusplus
    #pragma DATA_SECTION("ECap2RegsFile")
    #else
    #pragma DATA_SECTION(ECap2Regs,"ECap2RegsFile");
    #endif
    volatile struct ECAP_REGS ECap2Regs;
    
    //----------------------------------------
    #ifdef __cplusplus
    #pragma DATA_SECTION("ECap3RegsFile")
    #else
    #pragma DATA_SECTION(ECap3Regs,"ECap3RegsFile");
    #endif
    volatile struct ECAP_REGS ECap3Regs;
    
    //----------------------------------------
    #ifdef __cplusplus
    #pragma DATA_SECTION("EQep1RegsFile")
    #else
    #pragma DATA_SECTION(EQep1Regs,"EQep1RegsFile");
    #endif
    volatile struct EQEP_REGS EQep1Regs;
    
    //----------------------------------------
    #ifdef __cplusplus
    #pragma DATA_SECTION("EQep2RegsFile")
    #else
    #pragma DATA_SECTION(EQep2Regs,"EQep2RegsFile");
    #endif
    volatile struct EQEP_REGS EQep2Regs;
    
    //----------------------------------------
    #ifdef __cplusplus
    #pragma DATA_SECTION("FlashRegsFile")
    #else
    #pragma DATA_SECTION(FlashRegs,"FlashRegsFile");
    #endif
    volatile struct FLASH_REGS FlashRegs;
    
    //----------------------------------------
    #ifdef __cplusplus
    #pragma DATA_SECTION("GpioCtrlRegsFile")
    #else
    #pragma DATA_SECTION(GpioCtrlRegs,"GpioCtrlRegsFile");
    #endif
    volatile struct GPIO_CTRL_REGS GpioCtrlRegs;
    
    //----------------------------------------
    #ifdef __cplusplus
    #pragma DATA_SECTION("GpioDataRegsFile")
    #else
    #pragma DATA_SECTION(GpioDataRegs,"GpioDataRegsFile");
    #endif
    volatile struct GPIO_DATA_REGS GpioDataRegs;
    
    //----------------------------------------
    #ifdef __cplusplus
    #pragma DATA_SECTION("GpioIntRegsFile")
    #else
    #pragma DATA_SECTION(GpioIntRegs,"GpioIntRegsFile");
    #endif
    volatile struct GPIO_INT_REGS GpioIntRegs;
    
    //----------------------------------------
    #ifdef __cplusplus
    #pragma DATA_SECTION("HRCap1RegsFile")
    #else
    #pragma DATA_SECTION(HRCap1Regs,"HRCap1RegsFile");
    #endif
    volatile struct HRCAP_REGS HRCap1Regs;
    
    //----------------------------------------
    #ifdef __cplusplus
    #pragma DATA_SECTION("HRCap2RegsFile")
    #else
    #pragma DATA_SECTION(HRCap2Regs,"HRCap2RegsFile");
    #endif
    volatile struct HRCAP_REGS HRCap2Regs;
    
    //----------------------------------------
    #ifdef __cplusplus
    #pragma DATA_SECTION("HRCap3RegsFile")
    #else
    #pragma DATA_SECTION(HRCap3Regs,"HRCap3RegsFile");
    #endif
    volatile struct HRCAP_REGS HRCap3Regs;
    
    //----------------------------------------
    #ifdef __cplusplus
    #pragma DATA_SECTION("HRCap4RegsFile")
    #else
    #pragma DATA_SECTION(HRCap4Regs,"HRCap4RegsFile");
    #endif
    volatile struct HRCAP_REGS HRCap4Regs;
    
    //----------------------------------------
    #ifdef __cplusplus
    #pragma DATA_SECTION("I2caRegsFile")
    #else
    #pragma DATA_SECTION(I2caRegs,"I2caRegsFile");
    #endif
    volatile struct I2C_REGS I2caRegs;
    
    //----------------------------------------
    #ifdef __cplusplus
    #pragma DATA_SECTION("McbspaRegsFile")
    #else
    #pragma DATA_SECTION(McbspaRegs,"McbspaRegsFile");
    #endif
    volatile struct McBSP_REGS McbspaRegs;
    
    //----------------------------------------
    #ifdef __cplusplus
    #pragma DATA_SECTION("NmiIntruptRegsFile")
    #else
    #pragma DATA_SECTION(NmiIntruptRegs,"NmiIntruptRegsFile");
    #endif
    volatile struct NMIINTRUPT_REGS NmiIntruptRegs;
    
    //----------------------------------------
    #ifdef __cplusplus
    #pragma DATA_SECTION("PartIdRegsFile")
    #else
    #pragma DATA_SECTION(PartIdRegs,"PartIdRegsFile");
    #endif
    volatile struct PARTID_REGS PartIdRegs;
    
    //----------------------------------------
    #ifdef __cplusplus
    #pragma DATA_SECTION("PieCtrlRegsFile")
    #else
    #pragma DATA_SECTION(PieCtrlRegs,"PieCtrlRegsFile");
    #endif
    volatile struct PIE_CTRL_REGS PieCtrlRegs;
    
    //----------------------------------------
    #ifdef __cplusplus
    #pragma DATA_SECTION("PieVectTableFile")
    #else
    #pragma DATA_SECTION(PieVectTable,"PieVectTableFile");
    #endif
    struct PIE_VECT_TABLE PieVectTable;
    
    //----------------------------------------
    #ifdef __cplusplus
    #pragma DATA_SECTION("SciaRegsFile")
    #else
    #pragma DATA_SECTION(SciaRegs,"SciaRegsFile");
    #endif
    volatile struct SCI_REGS SciaRegs;
    
    //----------------------------------------
    #ifdef __cplusplus
    #pragma DATA_SECTION("ScibRegsFile")
    #else
    #pragma DATA_SECTION(ScibRegs,"ScibRegsFile");
    #endif
    volatile struct SCI_REGS ScibRegs;
    
    //----------------------------------------
    #ifdef __cplusplus
    #pragma DATA_SECTION("SpiaRegsFile")
    #else
    #pragma DATA_SECTION(SpiaRegs,"SpiaRegsFile");
    #endif
    volatile struct SPI_REGS SpiaRegs;
    
    //----------------------------------------
    #ifdef __cplusplus
    #pragma DATA_SECTION("SpibRegsFile")
    #else
    #pragma DATA_SECTION(SpibRegs,"SpibRegsFile");
    #endif
    volatile struct SPI_REGS SpibRegs;
    
    //----------------------------------------
    #ifdef __cplusplus
    #pragma DATA_SECTION("SysCtrlRegsFile")
    #else
    #pragma DATA_SECTION(SysCtrlRegs,"SysCtrlRegsFile");
    #endif
    volatile struct SYS_CTRL_REGS SysCtrlRegs;
    
    //----------------------------------------
    #ifdef __cplusplus
    #pragma DATA_SECTION("SysPwrCtrlRegsFile")
    #else
    #pragma DATA_SECTION(SysPwrCtrlRegs,"SysPwrCtrlRegsFile");
    #endif
    volatile struct SYS_PWR_CTRL_REGS SysPwrCtrlRegs;
    
    //----------------------------------------
    #ifdef __cplusplus
    #pragma DATA_SECTION("Usb0RegsFile")
    #else
    #pragma DATA_SECTION(Usb0Regs,"Usb0RegsFile");
    #endif
    volatile struct USB_REGS Usb0Regs;
    
    //----------------------------------------
    #ifdef __cplusplus
    #pragma DATA_SECTION("XIntruptRegsFile")
    #else
    #pragma DATA_SECTION(XIntruptRegs,"XIntruptRegsFile");
    #endif
    volatile struct XINTRUPT_REGS XIntruptRegs;
    
    //----------------------------------------
    #ifdef __cplusplus
    #pragma DATA_SECTION("EmuKeyVar");
    #else
    #pragma DATA_SECTION(EmuKey,"EmuKeyVar");
    #endif
    Uint16 EmuKey;
    
    //----------------------------------------
    #ifdef __cplusplus
    #pragma DATA_SECTION("EmuBModeVar");
    #else
    #pragma DATA_SECTION(EmuBMode,"EmuBModeVar");
    #endif
    Uint16 EmuBMode;
    
    //----------------------------------------
    #ifdef __cplusplus
    #pragma DATA_SECTION("FlashScalingVar");
    #else
    #pragma DATA_SECTION(Flash_CPUScaleFactor, "FlashScalingVar");
    #endif
    Uint32 Flash_CPUScaleFactor;
    
    //----------------------------------------
    #ifdef __cplusplus
    #pragma DATA_SECTION("FlashCallbackVar");
    #else
    #pragma DATA_SECTION(Flash_CallbackPtr, "FlashCallbackVar");
    #endif
    void (*Flash_CallbackPtr) (void);
    
    
    //===========================================================================
    // End of file.
    //===========================================================================
    
    

  • Both GlobalVariableDefs.c and PieVect.h need to say volatile struct PIE_VECT_TABLE PieVectTable so that they match to get rid of that error (although PieVect.h will be extern). I don't know why the recommendation in the other thread was to remove the volatile--the files in the latest C2000Ware have the volatile and those examples build fine, so that should be correct.

    Please tell me what error messages remain once you have the volatile added.

    Whitney

  • When both the GlobalVariableDefs.c and PieVect.h are volatile struct PIE_VECT_TABLE PieVectTable,

    (PieVect.h isn't "extern") the output is as follows:

    **** Clean-only build of configuration Debug for project Lab5 ****
    
    "C:\\TI\\ccs1000\\ccs\\utils\\bin\\gmake" -k -j 4 clean -O 
     
    DEL /F  "Lab5.hex"  "Lab5.out" 
    DEL /F "CodeStartBranch.obj" "DelayUs.obj" "F2806x_GlobalVariableDefs.obj" "Gpio.obj" "Main_5.obj" "SysCtrl.obj" "Watchdog.obj" 
    DEL /F "F2806x_GlobalVariableDefs.d" "Gpio.d" "Main_5.d" "SysCtrl.d" "Watchdog.d" 
    DEL /F "CodeStartBranch.d" "DelayUs.d" 
    Could Not Find C:\P4\Engineering\FirmWare\TI Development Kit\C28x workgroup\Labs\Lab5\Project\Debug\Lab5.hex
    Could Not Find C:\P4\Engineering\FirmWare\TI Development Kit\C28x workgroup\Labs\Lab5\Project\Debug\CodeStartBranch.d
    Finished clean
     
    
    **** Build Finished ****
    
    **** Build of configuration Debug for project Lab5 ****
    
    "C:\\TI\\ccs1000\\ccs\\utils\\bin\\gmake" -k -j 4 all -O 
     
    Building file: "../CodeStartBranch.asm"
    Invoking: C2000 Compiler
    "C:/TI/ccs1000/ccs/tools/compiler/ti-cgt-c2000_20.2.0.LTS/bin/cl2000" -v28 -ml -mt --cla_support=cla0 --float_support=fpu32 --vcu_support=vcu0 --include_path="C:/P4/Engineering/FirmWare/TI Development Kit/C28x workgroup/Labs/Lab5/Project" --include_path="C:/TI/c2000/C2000Ware_3_02_00_00/device_support/f2806x/headers/include" --include_path="C:/TI/ccs1000/ccs/tools/compiler/ti-cgt-c2000_20.2.0.LTS/include" -g --diag_warning=225 --diag_wrap=off --display_error_number --abi=coffabi --preproc_with_compile --preproc_dependency="CodeStartBranch.d_raw"  "../CodeStartBranch.asm"
    Finished building: "../CodeStartBranch.asm"
     
    Building file: "../DelayUs.asm"
    Invoking: C2000 Compiler
    "C:/TI/ccs1000/ccs/tools/compiler/ti-cgt-c2000_20.2.0.LTS/bin/cl2000" -v28 -ml -mt --cla_support=cla0 --float_support=fpu32 --vcu_support=vcu0 --include_path="C:/P4/Engineering/FirmWare/TI Development Kit/C28x workgroup/Labs/Lab5/Project" --include_path="C:/TI/c2000/C2000Ware_3_02_00_00/device_support/f2806x/headers/include" --include_path="C:/TI/ccs1000/ccs/tools/compiler/ti-cgt-c2000_20.2.0.LTS/include" -g --diag_warning=225 --diag_wrap=off --display_error_number --abi=coffabi --preproc_with_compile --preproc_dependency="DelayUs.d_raw"  "../DelayUs.asm"
    Finished building: "../DelayUs.asm"
     
    Building file: "../Gpio.c"
    Invoking: C2000 Compiler
    "C:/TI/ccs1000/ccs/tools/compiler/ti-cgt-c2000_20.2.0.LTS/bin/cl2000" -v28 -ml -mt --cla_support=cla0 --float_support=fpu32 --vcu_support=vcu0 --include_path="C:/P4/Engineering/FirmWare/TI Development Kit/C28x workgroup/Labs/Lab5/Project" --include_path="C:/TI/c2000/C2000Ware_3_02_00_00/device_support/f2806x/headers/include" --include_path="C:/TI/ccs1000/ccs/tools/compiler/ti-cgt-c2000_20.2.0.LTS/include" -g --diag_warning=225 --diag_wrap=off --display_error_number --abi=coffabi --preproc_with_compile --preproc_dependency="Gpio.d_raw"  "../Gpio.c"
    Finished building: "../Gpio.c"
     
    Building file: "../Main_5.c"
    Invoking: C2000 Compiler
    "C:/TI/ccs1000/ccs/tools/compiler/ti-cgt-c2000_20.2.0.LTS/bin/cl2000" -v28 -ml -mt --cla_support=cla0 --float_support=fpu32 --vcu_support=vcu0 --include_path="C:/P4/Engineering/FirmWare/TI Development Kit/C28x workgroup/Labs/Lab5/Project" --include_path="C:/TI/c2000/C2000Ware_3_02_00_00/device_support/f2806x/headers/include" --include_path="C:/TI/ccs1000/ccs/tools/compiler/ti-cgt-c2000_20.2.0.LTS/include" -g --diag_warning=225 --diag_wrap=off --display_error_number --abi=coffabi --preproc_with_compile --preproc_dependency="Main_5.d_raw"  "../Main_5.c"
    Finished building: "../Main_5.c"
     
    Building file: "../SysCtrl.c"
    Invoking: C2000 Compiler
    "C:/TI/ccs1000/ccs/tools/compiler/ti-cgt-c2000_20.2.0.LTS/bin/cl2000" -v28 -ml -mt --cla_support=cla0 --float_support=fpu32 --vcu_support=vcu0 --include_path="C:/P4/Engineering/FirmWare/TI Development Kit/C28x workgroup/Labs/Lab5/Project" --include_path="C:/TI/c2000/C2000Ware_3_02_00_00/device_support/f2806x/headers/include" --include_path="C:/TI/ccs1000/ccs/tools/compiler/ti-cgt-c2000_20.2.0.LTS/include" -g --diag_warning=225 --diag_wrap=off --display_error_number --abi=coffabi --preproc_with_compile --preproc_dependency="SysCtrl.d_raw"  "../SysCtrl.c"
    Finished building: "../SysCtrl.c"
     
    Building file: "../Watchdog.c"
    Invoking: C2000 Compiler
    "C:/TI/ccs1000/ccs/tools/compiler/ti-cgt-c2000_20.2.0.LTS/bin/cl2000" -v28 -ml -mt --cla_support=cla0 --float_support=fpu32 --vcu_support=vcu0 --include_path="C:/P4/Engineering/FirmWare/TI Development Kit/C28x workgroup/Labs/Lab5/Project" --include_path="C:/TI/c2000/C2000Ware_3_02_00_00/device_support/f2806x/headers/include" --include_path="C:/TI/ccs1000/ccs/tools/compiler/ti-cgt-c2000_20.2.0.LTS/include" -g --diag_warning=225 --diag_wrap=off --display_error_number --abi=coffabi --preproc_with_compile --preproc_dependency="Watchdog.d_raw"  "../Watchdog.c"
    Finished building: "../Watchdog.c"
     
    Building file: "../F2806x_GlobalVariableDefs.c"
    Invoking: C2000 Compiler
    "C:/TI/ccs1000/ccs/tools/compiler/ti-cgt-c2000_20.2.0.LTS/bin/cl2000" -v28 -ml -mt --cla_support=cla0 --float_support=fpu32 --vcu_support=vcu0 --include_path="C:/P4/Engineering/FirmWare/TI Development Kit/C28x workgroup/Labs/Lab5/Project" --include_path="C:/TI/c2000/C2000Ware_3_02_00_00/device_support/f2806x/headers/include" --include_path="C:/TI/ccs1000/ccs/tools/compiler/ti-cgt-c2000_20.2.0.LTS/include" -g --diag_warning=225 --diag_wrap=off --display_error_number --abi=coffabi --preproc_with_compile --preproc_dependency="F2806x_GlobalVariableDefs.d_raw"  "../F2806x_GlobalVariableDefs.c"
    Finished building: "../F2806x_GlobalVariableDefs.c"
     
    Building target: "Lab5.out"
    Invoking: C2000 Linker
    "C:/TI/ccs1000/ccs/tools/compiler/ti-cgt-c2000_20.2.0.LTS/bin/cl2000" -v28 -ml -mt --cla_support=cla0 --float_support=fpu32 --vcu_support=vcu0 -g --diag_warning=225 --diag_wrap=off --display_error_number --abi=coffabi -z -m"Lab5.map" --stack_size=0x300 --warn_sections -i"C:/TI/ccs1000/ccs/tools/compiler/ti-cgt-c2000_20.2.0.LTS/lib" -i"C:/TI/ccs1000/ccs/tools/compiler/ti-cgt-c2000_20.2.0.LTS/include" --reread_libs --diag_wrap=off --display_error_number --xml_link_info="Lab5_linkInfo.xml" --rom_model -o "Lab5.out" "./CodeStartBranch.obj" "./DelayUs.obj" "./F2806x_GlobalVariableDefs.obj" "./Gpio.obj" "./Main_5.obj" "./SysCtrl.obj" "./Watchdog.obj" "../F2806x_Headers_nonBIOS.cmd" "../Lab_5_6_7.cmd"  -llibc.a 
    <Linking>
    error #10056: symbol "_PieVectTable" redefined: first defined in "./F2806x_GlobalVariableDefs.obj"; redefined in "./Gpio.obj"
    error #10056: symbol "_PieVectTable" redefined: first defined in "./F2806x_GlobalVariableDefs.obj"; redefined in "./Main_5.obj"
    error #10056: symbol "_PieVectTable" redefined: first defined in "./F2806x_GlobalVariableDefs.obj"; redefined in "./SysCtrl.obj"
    error #10056: symbol "_PieVectTable" redefined: first defined in "./F2806x_GlobalVariableDefs.obj"; redefined in "./Watchdog.obj"
    "../Lab_5_6_7.cmd", line 43: error #10099-D: program will not fit into available memory, or the section contains a call site that requires a trampoline that can't be generated for this section. run placement with alignment/blocking fails for section ".ebss" size 0x40apage 1.  Available memory ranges:
       M0SARAM      size: 0x3fe        unused: 0x3fe        max hole: 0x3fe     
     
     undefined    first referenced
      symbol          in file     
     ---------    ----------------
     _InitPieCtrl ./Main_5.obj    
     
    error #10234-D: unresolved symbols remain
    error #10010: errors encountered during linking; "Lab5.out" not built
     
    >> Compilation failure
    makefile:148: recipe for target 'Lab5.out' failed
    gmake[1]: *** [Lab5.out] Error 1
    makefile:144: recipe for target 'all' failed
    gmake: *** [all] Error 2
    
    **** Build Finished ****

    Thanks much for the help, Amitai

    p.s.

    If it may help, the labs which I've downloaded are from here, If you want to inspect the files there -

     

    http://software-dl.ti.com/trainingTTO/trainingTTO_public_sw/c28x28069/Labs.zip

  • The vector table does need to be extern in PieVect.h. I suspect that's why you're getting that redefined symbol error.

    I see PieCtrl.c in the files you've shared. In CCS, do you see it in the project? It should be able to find InitPieCtrl() in that file as long as it's part of the project.

    You're also getting an error about .ebss not fitting into memory. If you aren't sure how to fix it, check out the Linking section of the compiler guide.

    http://www.ti.com/lit/pdf/spru514

    Whitney

  • Thanks Whitney,

    When changing to

    extern volatile struct PIE_VECT_TABLE PieVectTable;

    there's no difference, the exact same error appears.

    I'm following carefully the instructions for the lab, which currently direct -

    Do not add DefaultIsr_5.c, PieCtrl.c, and PieVect.c. These files will be
    added and used with the interrupts in the second part of this lab exercise.

    and so I have done.

    I've tried before adding these files, and more errors appear.

    Might is be that there is some problem with the project files? can someone in TI get into it?

    As I've mentioned, I have followed carefully the instructions, I don't think it is something

    I am doing wrong in the configuration.

    Amitai

  • After commenting out a "InitPieCtrl();" function in the main.c file no errors appear,

    I don't know if this is considered a solution to the problem.

    Amitai

  • I think it depends on what step in the lab 5 you're on. The first half of the lab, you don't need PieCtrl.c or a call to the function. It looks like starting with step 18 in the lab guide it tells you to add the files and the function call.

    Whitney