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.

[参考译文] CODECOMPOSER:错误#10234-D:保留未解析的符号 — 将项目迁移到 CCS 20.4

Guru**** 2680595 points

Other Parts Discussed in Thread: CONTROLSUITE, C2000WARE

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/1596956/codecomposer-error-10234-d-unresolved-symbols-remain---migrating-a-project-to-ccs-20-4

部件号: CODECOMPOSER
Thread 中讨论的其他器件: controlSUITEC2000WARE

尊敬的团队:

我需要以下故障排除方面的帮助:

我尝试将一个工作项目从具有 CCS 12.8.*的计算机迁移到运行 CCS 20.4.0 的新计算机。 该工程适用于 F28388D MCU。  

我已经看了大量的在线资源,连接到该错误消息,但找不到一个,适合我的情况。 我得到的最接近的是本 TI 文档: https://software-dl.ti.com/ccs/esd/documents/sdto_ccs_build-errors.html#error-unresolved-symbols-remain
该文档指出:“如果您尝试根据 TivaWare 或 controlSUITE 示例创建自己的工程、遇到此错误很常见、但忘记在链接器的“文件搜索路径“选项中使用--library 选项将所需的库添加到工程中。“ 这听起来好像我可能搞砸了。

我所做的是:我使用工程向导为 MCU 创建了一个新工程。 由于旧工程使用了 C2000(版本 4.02.00.00)、数字电源 SDK(版本 4.01.00.00)和电机控制 SDK(版本 4.01.00.00)、因此我相应地安装了这些软件包。 然后、我调整了产品依赖项和工程属性中的编译器包含路径。 通过工程浏览器、我还点击 driverlib.lib 文件的“Adjust linked file“、然后从此处选择:c:/ti/C2000Ware_4_02_00_00/driverlib/f2838x/driverlib/ccs/Release/driverlib.lib

我针对我的 MCU/我的工程所包含的两个 CPU 都执行了该操作。
然后转到“Properties"-“- C2000 链接器 — 文件搜索路径,并在-library 下插入了以下内容:c:\ti\C2000Ware_4_02_00_00\driverlib\f2838x\driverlib\ccs\Release\driverlib.lib
然后、我在--search_path 下插入以下内容:c:\ti\C2000Ware_4_02_00_00\driverlib\f2838x\driverlib\ccs\Release
所以我想我应该遵守所提供的文件 (?)。

我的构建输出仍如下:

[7]       首次引用
[8] 符号          In file
[9]--       ------------------------
[10]__disable_interrupts ./main_CPU2.obj src
[11]_enable_interrupts ./main_CPU2.obj src

[12]错误#10234-D:未解析的符号仍然存在
[13]错误#10010:链接过程中遇到错误;未构建“desire_wea_ccs_cp2.out"</s>“

[14]*****构建完成****

我检查了哪些文件显示了这些“未定义的符号“(因为我在 main_CPU2.c 中没有使用它们):

C:\ti\C2000Ware_4_02_00_00\driverlib\f2838x\driverlib\ccs\Release\driverlib.lib
C:\Users\username\workspace_ccs\workspace_V3\wea_ccs_CPU2\CPU2_flash\wea_CCS_cpu2_linkinfo.xml
C:\Users\username\workspace_ccs\workspace_V3\wea_ccs_CPU2\CPU2_flash\wea_ccs_CPU2.map
C:\Users\username\workspace_ccs\workspace_V3\wea_ccs_CPU2\device\driverlib\interrupt.h

这对我来说似乎很奇怪、因为这些都是 TI 生成的文件。 我最后一个假设是、编译器版本可能错误、因为旧计算机上 CCS 12.8.*中的工程使用了编译器 TI v22.6.0.LTS、而我的新编译器是 TI v22.6.3.LTS、但从我的阅读来看、这个选项不会造成任何问题...

此致、

Marvin

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

    尊敬的 Marvin:

    感谢您的耐心。 以下是我建议您采取什么措施来解决此问题。  

    1. 请下载 C2000Ware 的最新版本。  
    2. 从 F2838x driverlib 工程导入一个空工程。 选择适当的构建配置
    3. 将项目文件复制到这个新创建的项目。
    4. 重新编译并开始调试。

    请注意、默认情况下应包括所有工程依赖项。 您可能需要根据您的项目添加其他项目。 我强烈建议您不要使用 controlSUITE SDK、因为这是一个现已弃用的产品。 C2000Ware 提供最新的器件支持。

    此致、

    Ozino