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.

[参考译文] TM4C129EKCPDT:Code Composer 编译器链接选项

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1331952/tm4c129ekcpdt-code-composer-compiler-link-options

器件型号:TM4C129EKCPDT

您好!

我正在尝试将 Mongoose Web Service 开源代码包含到我的项目中。 源代码是一个单片.c 文件并且将宏用于构建选项。 如果构建选项未指定、则该代码不会链接到最终的二进制文件中。 这要求编译器支持链接选项来执行此操作。 对于 GCC 编译器,使用--gc-sections 链接选项。

TI 的 Code Composer ARM 编译器是否支持类似选项、或者此功能在默认情况下处于启用状态?  

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

    我认为我不理解这个问题。  如果您不希望工具自动删除与 Mongoose Web Service 相关的代码和数据、您就会使其听起来好像不希望工具自动删除一样。  但 gcc 链接器选项 -- GC 部分 正是这样。   

    默认情况下、TI Arm 工具链中的链接器会删除从未调用的函数或从未使用的数据。  要为特定函数或数据变量禁用此行为、请使用选项 --retain= Name_function_or_variable。  

    谢谢。此致、

    -乔治

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

    谢谢 George!

    "TI Arm 工具链中的链接器默认会删除从未调用的函数或从未使用的数据。" 这正是我想澄清的。  如果未选择相关功能、我确实希望工具删除未使用的代码和数据。


    我还有一个问题:

    玩 Mongoose 游戏时、我发现 TI 的工具不提供以下头文件、因此、当我在项目中加入 Mongoose 源代码时、这导致无法进行编译。

    #包含
    #包含
    #包含

    我可以简单地从 GCC 环境复制这些文件吗?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我能简单地从 GCC 环境复制这些文件吗?

    否。  我认为这是 Linux Box 等托管系统的 GCC 工具链。  在这种情况下、这些头文件的内容是特定于该系统的。  但不适用于嵌入式 Arm 系统。  

    不幸的是,我缺乏提出替代方案所需的专业知识。  我将通知器件专家有关该主题的情况。

    谢谢。此致、

    -乔治

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

    您好,天磊,

     您的问题将转移到 MCU 支持团队。 正如 George 所述、您不能仅将头文件(例如、sys/stat.h)复制到嵌入式 Arm 系统。  我对  Mongoose Web Service 没有任何了解。 我建议您联系供应商、了解如何将这些文件移植到 Arm 系统。  

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

    您好,乔治,只是为您的专家的一点信息:鹅项目工作在裸机。 这些头文件仅适用于数据类型。 我已经使用我的 Soucery CodeBench IDE 实现该功能、但我要切换到 TI 的 Code Composer Studio。

    Charles、我想继续打开该主题、查看我是否能获得更多信息。