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.

[参考译文] TMS320F28335:更改了 C2000编译器6.4.11和21.6.0之间的 ASIN/acos 函数的性能

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

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1241102/tms320f28335-changed-performance-of-the-asin-acos-function-between-c2000-compiler-6-4-11-and-21-6-0

器件型号:TMS320F28335

大家好!

我们已注意到 ASIN/ACOS 功能(TI TMS320F28335目标)的性能差异。 粗略时间测量显示的是6.4.11编译器执行时间大约为3微秒、而21.6.0编译器执行时间大约为37微秒。 研究编译器源代码后发现、此处使用了 long double。 C2000-Ware 中包含的可用库"rts2800_fpu32_fast_complement.lib"不包含可使用的 ASIN/acos 函数(仅适用于 TMU 支持)。  TMS320F28335 不提供 TMU 支持。

此问题是否已知? 我们有哪些选择?

提前感谢您的支持!

此致、

马蒂亚斯

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

    Matthias

    我已经请求编译器团队专家提供支持、因为这完全与编译器相关。

    从软件方面来说-是的、此设备不包含 TMU、因此无法使用 FPUFastRTS 库的相应 ACOS/ASIN 函数。 在此库中、只有两个函数具有 TMU 依赖项。 该库中的所有其他函数都是 TMU"替代函数"、即当没有 TMU 可用时、它比 RTS 库更快(尽管精度较低)。

    谢谢。

    Sira

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

    假设您从较旧的 COFF ABI 更改为较新的 EABI。  这意味着该类型 双精度 从32位更改为64位。  IF 32位 浮点 对于您的计算而言已足够好、那么请从 ASIN ACOS 阿辛夫 acosf

    谢谢。此致、

    -乔治

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

    您好、George、

    感谢您的回答。 我们使用 COFF。 我们的双人房因此为32位。 但在函数中、内部使用了代码生成库 long double 中的 asinf。

    请参阅此处:

    此致、

    马蒂亚斯

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

    作为背景信息、在15.12.0.LTS 版本中引入了对许多浮点 RTS 函数实现的更改。  此说明从发行说明中复制...

    RTS 数学库已更改。 现在支持 C99数学函数、包括 long double (64位)和浮点型浮点数学例程。

    [quote userid="180176" url="~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1241102/tms320f28335-changed-performance-of-the-asin-acos-function-between-c2000-compiler-6-4-11-and-21-6-0是否知道此问题?

      针对 蒂亚姆克朗 该编译器使用这些例程的相同实现。  我们欢迎您通过这个链接来了解这一点。  它报告 asinf 比 acosf 慢很多。  是您看到的吗?  我不确定该问题何时解决。  但我认为、一旦确定了之后、在 C2000编译器的任何版本中都会提供此修复。  我可以检查一下、然后给您回复。

    谢谢。此致、

    -乔治

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

    George

    是的、较差的性能也是我们看到的。

    如果您可以检查 C2000编译器版本的规划并随时更新我、那会很好。

    谢谢。此致、

    马蒂亚斯

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

    遗憾的是、目前或近期没有发布下一版本 C2000编译器的计划。   

    保持更新

    最好的方法是注册"开始观看此问题"。   有关详细信息、请参阅此常见问题解答。

    谢谢。此致、

    -乔治