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.

[参考译文] AM2634:SysConfig 手动输出模式中断##39;构建项目##39;

Guru**** 1832870 points
Other Parts Discussed in Thread: SYSCONFIG, CCSTUDIO
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/1400505/am2634-sysconfig-manual-output-mode-breaks-build-project

器件型号:AM2634
Thread 中讨论的其他器件:SysConfigCCStudio

工具与软件:

您好!

我使用的是 CCStudio 12.7.1。 将 SysConfig 输出的位置更改为所选目录时、构建可能会失败。

以下是默认的"自动"位置:

我将其更改为其他 位置:

一个'clean Project'、后跟一个'Build Project'、就可以正常构建。

但是、通常的工作流程是编辑文件、然后点击"Build Project"。 在这种情况下、链接器脚本中会报告几个重新定义的错误:

快速搜索会发现只有一个定义:

这应该可以与 SDK 示例空工程重现。

请允许 SysConfig 手动模式和"Build Project"共存。

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

    您好、Kier、

    我在末端尝试了在相同的 CCS 版本和最新的 SDK 安装程序上复制您的步骤、但无法在发布和调试模式下重现问题。 对我来说、构建项目成功完成了。

    我不确定您为什么会看到该问题、但您能否检查/显示 Release/syscfg 文件夹的内容? 我想知道 linker.cmd 在哪里还有另外的位置。 因为、当 工程包含 linker.cmd、而不是从 syscfg 生成的 linker.cmd 时、通常会发生这种情况。

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

    尊敬的 Sudeshna:

    感谢您的参与。 我附加了我的项目、以便我们使用完全相同的文件。 您能尝试一下我的项目吗?

    e2e.ti.com/.../syscfg_5F00_manual_5F00_ws.zip

    以下是我生成错误所采取的步骤的视频:

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

    您好、Kier、

    感谢您发送工作区。  
    我遇到了与某些头文件路径相关的问题、但没有与链接器相关的问题。 修复这些问题后、我可以正确运行它。

    另外、这是我要使用的变量。 您能尝试一下邮政编码吗?

    e2e.ti.com/.../6082.syscfg_5F00_manual_5F00_ws.zip

    如果这样可行、那么它可能与变量类型相关。

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

    谢谢你。 我会看到您的项目和工作区出现相同的错误。

    请确认您按照以下顺序重现错误:

    - 右键单击"empty_am263x-cc_r5fss0-0_freertos_ti-arm-clang"和"Clean Project"。

    -右键单击 "empty_am263x-cc_r5fss0-0_freertos_ti-arm-clang"并单击"Build Project"。 构建应该可以。

    -打开"empty.c"。

    -编辑"empty.c"。

    -保存" empty.c"。

    -右键单击 "empty_am263x-cc_r5fss0-0_freertos_ti-arm-clang"并单击"Build Project"。 Build 现在应该会出现错误。

     

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

    我可以在生成日志中查看问题发生的原因。

    在正常情况下:Clean Project -> Build Project、链接器调用仅指向链接器脚本。

    在 NG 场景中:Edit File -> Build Project、链接器调用指向链接器脚本、但错误地将"linker.cmd"包含在目标文件列表中。 这就是为什么会出现重新定义的错误:

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

    是的、我现在可以看到出现了错误场景。 我总是在建筑前清洁、这就是它工作的原因。

    这是一个很好的观察结果、自动模式下不会出现这种情况。 我将与 相关团队核实此问题并返回。

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

    进展如何? 这个问题是一个痛苦。

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

    尊敬的 Kier:

    很抱歉 耽误你的时间。

    通常、中间构建构件会在构建目录(例如 /Debug/)、这就是 CCS 将这些生成的项目与用户源代码区分开来的方法。  由于您将中间编译工件重定向到工程的根目录、所以 CCS 会在后续编译期间将它们错误地用作用户源代码。  为了解决该问题、您需要排除 /syscfg/ folder from build -右键单击该文件夹、然后选择 从构建中排除 .

    Baltasar

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

    尊敬的 Baltasar:

    非常感谢您提供提示。  我更进一步、仅将 linker.cmd 从构建中排除、这看起来也可行。 我不愿意将整个 syscfg 目录排除在构建之外、因为这会误导 CCS Eclipse 用户。 它使他们似乎不是工程的一部分,这是不真实的。

    原因似乎是、根据我的上述屏幕截图、linker.cmd 在某些情况下被视为要链接的目标文件。 仅排除该文件会修复它。 这表明 SysConfig 生成的源代码(*。c/*。h)通常由 CCS 正常处理、但 linker.cmd 文件除外。

    在使用手动生成模式时、这似乎是一个应在 CCS 中解决的问题。

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

    Baltasar、 您是否意识到这是一个应该修复的 CCS 问题?

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

    "你以为我赢了吗 ?

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

    尊敬的 Kier、Ki:  

    仅供参考、我打开了一个内部错误条目来跟踪它- CCSNXT-1827。  外部链接可用后、我将提供更新。

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

    谢谢 Baltasar。

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

    网址是: https://sir.ext.ti.com/jira/browse/EXT_EP-11944