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-F28377S:链接错误未解析符号

Guru**** 2539500 points
Other Parts Discussed in Thread: C2000WARE

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/608696/ccs-launchxl-f28377s-linking-error-unresolved-symbols

器件型号:LAUNCHXL-F28377S

工具/软件:Code Composer Studio

您好:

由于符号未解析、我无法链接程序。 我认为我缺少一些基本的东西、因为其中一个未解析的符号是"_Interrupt_enable"。  我添加了所有看起来与 include 文件相关的库和头文件。  考虑到 CCSv7.2或 C2000Ware 可能已损坏、我移除并重新安装了这两个文件以清理目录、但没有结果。  我将项目导入到了新的工作区中。  我还在 C2000Ware 和 CCSv7中搜索字符串"_Device_init"、但未找到。  按照论坛中的建议,我禁用了防病毒程序,但没有效果。  

我欢迎任何建议。  

Karl Seeler

****为项目 eqepTest070617构建配置调试****

"C:\\ti\\ccsv7\\utils\\bin\\gmake"-k -j 4 all -O  
'生成文件:./main.c'
'调用:C2000编译器'
"c:/ti/ccsv7/tools/compiler/ti-cgt-c2000_16.9.3.LTS/bin/cl2000 /ti/ccsv7/tools/compiler/ti-cgt-c2000_16.9.3.LTS/include /ti/ccsv7/tools/compiler/ti-cgt-c2000_16.9.3.LTS/lib /ti/c2000/C2000Ware_1_00_01_00/driverlib/f2837xs/driverlib /ti/c2000/C2000Ware_1_00_01_00/device_support/f2837xs/common/cmd /ti/c2000/C2000Ware_1_00_01_00/device_support/f2837xs/headers/cmd /ti/C2000/C2000Ware_1_00_01_00/device_support/f2837xs/headers/include -v28 -ml -mt --cla_support=cla1 --float_support=fpu32 --tmu_support=vcu_support=vcu2 --include_path="C:/Users/seele/workspace_v7/eqepTest070617 --include_path=/ti/ccsv7/utils/bin --include_path=/ti/ccsv7/ccs_base/c2000/include --include_path=/ti/ccsv7/utils/bin /ti/ccsv7/tools/compiler/ti-cgt-c2000_16.9.3.LTS/include /ti/C2000/C2000Ware_1_00_01_00/driverlib/f2837xs/driverlib/inc /ti/c2000/C2000Ware_1_00_01_00/device_support/f2837xs/common/source /ti/c2000/C2000Ware_1_00_01_00/device_support/f2837xs/headers/include --include_trinese-tr.com.cn"/ti/ccsv7/tools/compiler/ti-cgt-c2000_16.9.3.LTS/lib/src --include_path=/ti/c2000/C2000Ware_1_00_01_00/driverlib/f2837xs/driverlib/ccs/Debug --include_path=/ti/C2000/C2000Ware_1_00_01_00/device_support/f2837xs/common/include --include"/ti/c2000/C2000Ware_1_00_01_00/device_support/f2837xs/headers/source /ti/c2000/C2000Ware_1_00_01_00/libraries/boot_rom/f2837xs/revB/rom_sources/F2837x_bootROM/cpu01-bootROM/include /ti/c2000/C2000Ware_1_00_01_00/libraries/boot_rom/f2837xs/revB/rom_sources/F2837x_common/include/driverlib_inc /ti/c2000/C2000Ware_1_00_01_00/libraries/boot_rom/f2837xs/revB/rom_symbol_libs/c1_ROM_API /ti/c2000/C2000Ware_1_00_01_00/libraries/flash_api/f2837xs/lib /ti/c2000/C2000Ware_1_00_01_00/libraries/flash_api/f2837xs/include/Constants /ti/c2000/C2000Ware_1_00_01_00/libraries/flash_api/f2837xs/include /ti/c2000/C2000Ware_1_00_01_00/libraries/math/FPUfastRTS/c28/include:  
'完工建筑:./main.c'
'
'构建目标:eqepTest070616.OUT'
'调用:C2000链接器'
"c:/ti/ccsv7/tools/compiler/ti-cgt-c2000_16.9.3.LTS/bin/cl2000 -v28 -ml -mt --cla_support=cla1 -float_support=fpu32 -tmu_support=tmu0 -vcu_support=vcu2 -advice:performance=g -diag_warn=warna-diag_support=off -display_error_number -vcu_support=vcu-exclus-link_ram_ex-l70at_ex-rom-exclus_exclus_exclus-link_exclus-intrack-les-les-link_ex-ine-evment-track_exam -link_ex-les"-rep3220617-217_ex-in_ex-r_em_exclus.ement-track_ex-ine-texclus.ement-track_ex-in_ex-in_ex-rq0672.html"-lepm_ex-lep322.html/test_ex-link_ex-link_ex-in_ex-l /ti/ccsv7/tools/compiler/ti-cgt-c2000_16.9.3.LTS/include /ti/ccsv7/tools/compiler/ti-cgt-c2000_16.9.3.LTS/lib   
 未定义          第一个参考
 符号             文件中    
 ------          --------
 _Device_init        /main.obj    
 _Device_initGPIO      /main.obj    
 _ePWM_setEmulationMode  ./main.obj    
 _GPIO_setPadConfig     /main.obj    
 _GPIO_setPinConfig     /main.obj    
 Interrupt_enable      /main.obj    
 _Interrupt_initModule   ./main.obj    
 _Interrupt_initVectorTable ./main.obj    
错误#10234-D:未解析的符号仍然存在
错误#10010:链接期间遇到错误;未生成"eqepTest070616.out"
>>编译失败
Makefile:141:目标'eqepTest070617. out'的配方失败
Makefile:137:目标'all'的配方失败
gmake[1]:***[eqepTest070617. out]错误1.
gmake[1]:目标"辅助输出"不会由于错误而重新生成。
gmake:***[全部]错误2.
****构建完成****
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Karl、

    我相信您的项目可能缺少一些关键 driverlib 文件的包含路径。 确保在项目设置中添加了这些路径。 如果您右键单击该工程、请选择 Properties -> Build -> C2000 Compiler -> Include Options。 在(--include_path、-i)字段下、确保 包含指向 包含器件驱动程序文件的 driverlib/f2837xs/driverlib 文件夹的路径。 此外、请确保 main.c 文件中包含正确的#include。 对于 driverlib 工程、请确保 device.h 和 driverlib.h 具有#include。有关其他参考、请参阅 C2000Ware 中提供的示例、了解有关如何包含工程所需文件夹的更多 driverlib 示例。 希望这对您有所帮助。

    此致、

    Ozino

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Ozino 您好:

    感谢您的回复。 在我的原始消息中、我忽略了从 main.c 添加#include 指令以及项目的 include 路径。 它们是:

    #include
    #include
    #include
    #include "driverlib.h"
    #include "device.h"
    #include "C28x_FPU_FastRTS.h"

    我对照项目包含搜索路径和 main.c 包含指令检查了建议的目录和文件、并发现建议的目录和文件已包含在内。 即使包含这些目录和文件、工程也不会链接、这一事实让我怀疑我可能损坏了 CCS7.2或 C2000Ware。 遗憾的是、在我执行 CCS7.2和 C2000Ware 的全新安装后、工程仍然没有链接。 我同意我必须缺少一个库、但我无法识别我应该添加到项目中的目录或文件。 我将再次研究正确编译和链接的示例项目、以查看是否可以找到我缺少的内容。

    此致、

    Karl
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Karl、

    您的项目中是否包含 driverlib.lib 文件? 如果没有、您可以在项目中放置此.lib 的副本。 可以在 driverlib\f2837xs\driverlib\ccs\Debug 中找到.lib 的副本。 如果您仍有任何疑问、请告诉我。

    此致、

    Ozino

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Ozino 您好:

    不、我的项目中没有 driverlib.lib 文件。  我在 include 搜索路径中只有它的目录。  将文件 driverlib.lib 添加到我的项目中消除了未解析的符号错误。

    非常感谢您的帮助。

    此致、

    Karl

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Karl、

    很高兴您能够解决项目中的错误。 祝您在项目的其余部分顺利!

    此致、
    Ozino