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/TMS320F28335: TMS320F28335

Part Number: TMS320F28335
Other Parts Discussed in Thread: C2000WARE, CONTROLSUITE

Tool/software: Code Composer Studio

Hello, 

I am trying to program a F28335 Delfino control card but while building the project I find some undefined symbol errors. I don't find the driverlib.lib files either. Where can I find one? I tried downloading the driverlib.lib file from the internet but it was a dead end can some one help?

  • Hi Ashwin,

    The F2833x does not have a driver library. It currently is only supported with bit-fields in C2000Ware. What are the exact errors you are seeing for your project? Check your project include paths to make sure you are include the necessary device support folders. Please see examples in C2000Ware for project templates.

    Regards,

    Ozino

  • I am sorry I didnt know that. The following is the error I am getting in CCS. Please help.


    **** Build of configuration Debug for project F28335 ****

    "C:\\ti\\ccsv7\\utils\\bin\\gmake" -k -j 4 all -O

    'Building target: "F28335.out"'
    'Invoking: C2000 Linker'
    "C:/ti/ccsv7/tools/compiler/ti-cgt-c2000_16.9.6.LTS/bin/cl2000" -v28 -ml -mt --float_support=fpu32 -g --diag_warning=225 --diag_wrap=off --display_error_number -z -m"F28335.map" --stack_size=0x300 --warn_sections -i"C:/ti/ccsv7/tools/compiler/ti-cgt-c2000_16.9.6.LTS/lib" -i"C:/ti/ccsv7/tools/compiler/ti-cgt-c2000_16.9.6.LTS/include" --reread_libs --diag_wrap=off --display_error_number --xml_link_info="F28335_linkInfo.xml" --rom_model -o "F28335.out" "./main.obj" "../F28335.cmd" -llibc.a
    <Linking>

    undefined first referenced
    symbol in file
    --------- ----------------
    _EPwm1Regs ./main.obj
    _EPwm2Regs ./main.obj
    _EPwm3Regs ./main.obj
    _InitEPwm1Gpio ./main.obj
    _InitEPwm2Gpio ./main.obj
    _InitEPwm3Gpio ./main.obj
    _InitPieCtrl ./main.obj
    _InitPieVectTable ./main.obj
    _InitSysCtrl ./main.obj
    _PieCtrlRegs ./main.obj
    _PieVectTable ./main.obj
    _SysCtrlRegs ./main.obj

    error #10234-D: unresolved symbols remain

    error #10010: errors encountered during linking; "F28335.out" not built
    >> Compilation failure
    makefile:141: recipe for target 'F28335.out' failed
    gmake[1]: *** [F28335.out] Error 1
    gmake: *** [all] Error 2
    makefile:137: recipe for target 'all' failed

    **** Build Finished ****
  • It looks like you are missing some include paths to the headers/include and common/include directories in your project. Make sure to include these search paths in the project Properties-> Build -> C2000 Compiler -> Include Options.
    You can to refer to the F2833x device support examples in C2000Ware for some templates.
    Let me know if you have anymore questions.

    Regards,
    Ozino
  • The following are the things that are in the include options. still the program shows those errors. When I worked with F28027 the same error happened to occur and when I linked the driverlib.lib it was gone thats why I asked for driverlib file in the first place. Please help

    ${PROJECT_ROOT}
    ${PROJECT_LOC}/../../../../ti/c2000/C2000Ware_1_00_03_00/device_support/f2833x/headers/include
    ${PROJECT_LOC}/../../../../ti/c2000/C2000Ware_1_00_03_00/device_support/f2833x/common/include
    ${CG_TOOL_ROOT}/include
  • Are you trying to reuse the driverlib code across devices from F28027 to F28335? If so, this would explain why it does not work. Your code on the F2833x can not have any driver lib function calls or references in the code. You will need to port it to bit-fields in order to run the code on the F2833x. Please look at one of the examples for F2833x to gain an idea of what files are needed.

    Also check to make sure you have copied the necessary source files (.c) into the project. These are located in the common/source folder. These files will be for the peripherals listed in your error message.


    if you want general information on how bit-fields and driverlib fucntion you can take a look at this document www.ti.com/.../spraa85e.pdf

    -Ozino

  • I tried adding .obj files from c2000 ware and I was able to get those errors off but I am facing a new problem now. This is the error which I am facing

    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%555

    **** Build of configuration Debug for project F28335 ****

    "C:\\ti\\ccsv7\\utils\\bin\\gmake" -k -j 4 all -O

    'Building target: "F28335.out"'
    'Invoking: C2000 Linker'
    "C:/ti/ccsv7/tools/compiler/ti-cgt-c2000_16.9.6.LTS/bin/cl2000" -v28 -ml -mt --float_support=fpu32 -g --diag_warning=225 --diag_wrap=off --display_error_number -z -m"F28335.map" --stack_size=0x300 --warn_sections -i"C:/ti/ccsv7/tools/compiler/ti-cgt-c2000_16.9.6.LTS/lib" -i"C:/ti/ccsv7/tools/compiler/ti-cgt-c2000_16.9.6.LTS/include" --reread_libs --diag_wrap=off --display_error_number --xml_link_info="F28335_linkInfo.xml" --rom_model -o "F28335.out" "C:/ti/c2000/C2000Ware_1_00_03_00/libraries/boot_rom/f2833x/v2_0/rom_sources/Debug/ADC_cal.obj" "C:/ti/c2000/C2000Ware_1_00_03_00/libraries/boot_rom/f2833x/v2_0/rom_sources/Debug/CAN_Boot.obj" "C:/ti/c2000/C2000Ware_1_00_03_00/libraries/boot_rom/f2833x/v2_0/rom_sources/Debug/DSP2833x_GlobalVariableDefs.obj" "C:/ti/c2000/C2000Ware_1_00_03_00/libraries/boot_rom/f2833x/v2_0/rom_sources/Debug/FPUmathTables.obj" "C:/ti/c2000/C2000Ware_1_00_03_00/libraries/boot_rom/f2833x/v2_0/rom_sources/Debug/I2C_Boot.obj" "C:/ti/c2000/C2000Ware_1_00_03_00/libraries/boot_rom/f2833x/v2_0/rom_sources/Debug/IQmathTables.obj" "C:/ti/c2000/C2000Ware_1_00_03_00/libraries/boot_rom/f2833x/v2_0/rom_sources/Debug/IQmathTables2.obj" "C:/ti/c2000/C2000Ware_1_00_03_00/libraries/boot_rom/f2833x/v2_0/rom_sources/Debug/ITRAPIsr.obj" "C:/ti/c2000/C2000Ware_1_00_03_00/libraries/boot_rom/f2833x/v2_0/rom_sources/Debug/Init_Boot.obj" "C:/ti/c2000/C2000Ware_1_00_03_00/libraries/boot_rom/f2833x/v2_0/rom_sources/Debug/MCBSP_Boot.obj" "C:/ti/c2000/C2000Ware_1_00_03_00/libraries/boot_rom/f2833x/v2_0/rom_sources/Debug/Parallel_Boot.obj" "C:/ti/c2000/C2000Ware_1_00_03_00/libraries/boot_rom/f2833x/v2_0/rom_sources/Debug/ReservedSpace.obj" "C:/ti/c2000/C2000Ware_1_00_03_00/libraries/boot_rom/f2833x/v2_0/rom_sources/Debug/SCI_Boot.obj" "C:/ti/c2000/C2000Ware_1_00_03_00/libraries/boot_rom/f2833x/v2_0/rom_sources/Debug/SPI_Boot.obj" "C:/ti/c2000/C2000Ware_1_00_03_00/libraries/boot_rom/f2833x/v2_0/rom_sources/Debug/SelectMode_Boot.obj" "C:/ti/c2000/C2000Ware_1_00_03_00/libraries/boot_rom/f2833x/v2_0/rom_sources/Debug/Shared_Boot.obj" "C:/ti/c2000/C2000Ware_1_00_03_00/libraries/boot_rom/f2833x/v2_0/rom_sources/Debug/SysCtrl_Boot.obj" "C:/ti/c2000/C2000Ware_1_00_03_00/libraries/boot_rom/f2833x/v2_0/rom_sources/Debug/Vectors_Boot.obj" "C:/ti/c2000/C2000Ware_1_00_03_00/libraries/boot_rom/f2833x/v2_0/rom_sources/Debug/XINTF_Boot.obj" "C:/ti/c2000/C2000Ware_1_00_03_00/libraries/boot_rom/f2833x/v2_0/rom_sources/Debug/XINTF_Parallel_Boot.obj" "./main.obj" "C:/ti/c2000/C2000Ware_1_00_03_00/libraries/boot_rom/f2833x/v2_0/rom_sources/Debug/ti_test.obj" "../F28335.cmd" -llibc.a
    <Linking>

    This application has requested the Runtime to terminate it in an unusual way.
    Please contact the application's support team for more information.
    ../../master/DIAG/user_msg_api.c:217:internal fatal error #99926: (ofile_error_handler(): C:/ti/c2000/C2000Ware_1_00_03_00/libraries/boot_rom/f2833x/v2_0/rom_sources/Debug/SysCtrl_Boot.obj: corrupted object file: invalid string table size 603979776)

    INTERNAL ERROR: C:\ti\ccsv7\tools\compiler\ti-cgt-c2000_16.9.6.LTS\bin\lnk2000.exe had an internal inconsistency and aborted

    This is caused by a defect in the TI Linker.
    TI Customer Support may be able to suggest a workaround to avoid this.

    Upgrading to the newest version of the compiler may fix this problem.

    Contact TI in the E2E support forums at http://e2e.ti.com under
    "Development Tools", "TI C/C++ Compiler". See the link titled
    "Submitting an issue".

    We need to see this ENTIRE error message and a complete, reproducable
    test case including ALL of the command-line options.
    Include all of the object files, libraries, and linker command files
    used to link the program.


    >> Compilation failure
    makefile:162: recipe for target 'F28335.out' failed
    gmake[1]: *** [F28335.out] Error 1
    makefile:158: recipe for target 'all' failed
    gmake: *** [all] Error 2

    **** Build Finished ****
  • No I am not using that file in this.
  • Ashwin,

    You should not need to add the .obj files from C2000Ware. Those obj file will be created at build time when you have the necessary source files included in your project. Check to see if you have the necesary source files copied into the project directory. Include the necessary source files in your project and rebuild the project.

    Please look at an example project for the typical source files needed for a project.
  • The project which I am building is an example project. I didn't change a single code in it.
  • Which example are you trying to build? Have you modified any of the include paths or added any files to the project?
  • Example_2833xEPwmUpDownAQ.c is the example file which I used. When I build this example it said Project.h was missing so I added the project.h file then it asked for device.h. Once I added that too says the obj error.
  • I see. It should not have prompted you to add the Project.h file to the project if the include paths and the lib search paths have correctly been defined in the project properties. Are any of these files missing in the directory? If not, I would try reimporting the project and verifying that the paths are correct. Try importing other examples and see if they build fine for you.

  • Everything is there in the directory.... I use C2000ware of version 1.00.03.00 and latest controlsuite as well. In both the cases the situations are the same.
  • In that case, I am suspecting that the include paths are not correct. Try importing and builiding other examples and see if they work for you.
  • I tried ADC_SOC the same problem exists. To be sure when I started learning the progrmming of F28027 in control suite I found C2000_Piccolo_Development_Kit but I didn't find one for Delfino_F28335 is there any thing for Delfino_F28335_experimentkit?
  • Hmm...sounds like it may be an issue in your installation of controlSUITE or C2000Ware. Please use the examples in C2000Ware as these are the latest and up to date examples. Are any of the examples able to import and build without errors? The examples provided in either software packages are tested and verified to work. If you have questions about running software on the F2833x, you can refer to the user's guide for the F2833x available in C2000Ware.

    I don't believe there is an experiment kit for the F2833x.
  • I have included the library file in include file path in C2000 build properties. I included all the header folders in the main file. But I could not access the registers in those header files. I have no idea as to what my problem is. I installed the latest version of controlsuite and it installed perfectly. Any ideas?
  • Which library file did you add in the properties? Can you post the console output for your project. As well as the .cproject and .project for the project in discussion.
  • Were you able to resolve the issues you are experiencing?