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.

[参考译文] TMS320F28377S:结构中乘法指令的不同时序

Guru**** 2439710 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1047265/tms320f28377s-different-timing-for-multiply-instruction-in-structure

器件型号:TMS320F28377S

您好 Champ、

我正在寻求客户。

在 C 语言中, a->b 和(* a).b 的操作 在结构上的含义与我的理解相同。

客户发现 处理两条指令的时间消耗、存在差距。   

在函数中、类似这样的写入方式 MathTemp =(F32) ADC * Gain_Matrix->Low_Gain 已全部更改为以下方式:MathTemp =(F32) ADC *(* Gain_Matrix)。 低增益。

经过测试、修改后时间消耗显著减少至3us。 (a ->b 至(* a).b )

这两个含义应该是相同的、但结果是完全不同的。

我想问这种操作(尤其是包含->的操作)、 不建议在 CCS 中使用吗?  

为什么要让它们与众不同? 使用时是否出错?

我是否可以说明 a ->b 和(* a).b 结构中乘法指令的用法?

谢谢。

BR、Johnny


 

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="488507" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1047265/tms320f28377s-different-timing-for-multiply-instruction-in-structure "]这两个含义应该相同,但结果是完全不同的。

    同意。

    客户能否遵循 如何提交编译器测试案例

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

    您好、Johnny、

    含义与您正确的含义相同、但可能是两种不同的 C 语言用法会导致不同的汇编代码。 如果您可以发送以下内容进行分析、这将有所帮助:

    1.使用 How-to 提交-a-Compiler-Test-case.html 提交测试用例

    2.编译器版本

    3.编译器优化级别

    4.结构"A"的定义

    谢谢、

    Ashwini

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

    谢切斯特的答复。

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

    切斯特和阿什维尼、您好!

    感谢大家。  我看到、这 两个不同的 C 语言可能会导致不同的汇编代码。

    我会要求我的客户提供您所说的分析需求。

    但是、提前感谢 您的参与。

    Johnny

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

    您好、Johnny、

    感谢您、我们很乐意在了解详情后进行调查。

    -Ashwini