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/TMS320F28374D:CCS 中用于 C28x 的 WEAK pragma

Guru**** 2431510 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/794596/ccs-tms320f28374d-weak-pragma-in-ccs-for-c28x

器件型号:TMS320F28374D

工具/软件:Code Composer Studio

大家好,  

我们是否支持     C28x 编译器中 GCC en.wikipedia.org/.../Weak_symbol 中定义的 pragma weak?

有什么相似之事吗?

我将代码从 GCC 移植到 C28x、欢迎提出任何建议  

谢谢你  

此致

卡洛

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

    您好、Carlo、

    EABI 基于 CG 工具的 v18.12构建、支持'weak ' pragma。  如需更多信息、请参阅 C 编译器用户指南的第133页、如下所示:

    此致、

    Richard

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Richard,
    很棒!
    请像这样支持属性弱:

    void __attribute__(WEAK ) weak _func (void);

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

    也支持__attribute__表单,但比我想象的要复杂一些。

    您需要在 EABI 模式下进行编译以利用弱函数。 所有新器件都支持 EABI、但我不确定 F2837x 是否是其中之一。 让我请其他人对此发表评论。

    此致、

    Richard
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你(们)好 Richard
    请让我有点困惑,我一定要住在 F2837xx 系列。
    我了解 F2837x --> WEAK pragma 是可以的,而属性 Pragma 需要 EABI,F2837x 不支持此操作? 有新闻吗?
    您是否确认?
    非常感谢
    此致
    卡洛
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Carlo、
    我很抱歉耽误你的时间。
    情况是弱函数仅受 EABI 支持。 这适用于 pragma 和__attribute__方法。 因此、如果要使用 weak、则必须使用--abi=eabi 编译器设置进行编译。 如果您具有支持 EABI 的 CGT 版本、则可以通过这种方式为任何 C2000器件进行构建。
    问题是 C2000配套资料尚未针对当前可用的任何器件(包括 F2837x)使用 EABI 构建。 这意味着 RTS 库和您正在使用的任何其他 C2000库将不支持 EABI。 EABI 支持将在下一个发展蓝图器件上开始。
    我想这意味着您将无法在该器件上使用 EABI、因此无法指定弱函数。
    很抱歉我没有更好的消息。
    此致、
    Richard