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.

[参考译文] TMS320F280049C:使用相同源代码的两个工程的不同执行时间

Guru**** 2558250 points
Other Parts Discussed in Thread: TIDM-1000

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1390271/tms320f280049c-different-execution-time-for-two-project-with-the-same-source-code

器件型号:TMS320F280049C
Thread 中讨论的其他器件:TIDM-1000

工具与软件:

我有两个项目:项目一是我自己创建的项目、项目二是 TI 解决方案 TIDM-1000 (pfc3phvienna)。

当我使用10kHz 的定时器 ISR 中断在这些项目中运行相同的源代码时、项目1的执行时间为140ns、而项目2的执行时间为30ns。

为什么两个项目之间的执行时间不同? TI 解决方案是否有专门设置来优化执行时间?

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

    尊敬的 TI 专家:

    剂量任何人都可以回答这个问题?

    谢谢

    财富

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

    尊敬的 Lin:

    您能否确认您测试的两个代码的优化级别是否相同?

    我想此处可能会选择更高的优化级别。  

    谢谢、此致、

    Uttam

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

    尊敬的 Uttam:

    这些工程在级别4选择了相同的优化级别。

    但是、编译器结果不同。

    下面显示了不同的汇编代码:

    项目1.

    项目2.

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

    尊敬的 Lin:

    如果汇编代码不同、则原因应该是您的10kHz ISR 代码差异或导致此处增加执行的任何其他中断。

    1.提供差动 以查看检查。  

    2.检查是否有任何中断被添加  到 ISR 中(或者检查是否有任何高优先级中断被添加到您的代码中)。  

    3.可以进行 GPIO 评测以获取准确的执行时间。 捕获它们至少4-6个周期、然后比较其在整个项目中的值是否相同?

    让我知道你在这里的结果。  

    此致、

    Uttam

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

    ++另外、您能否检查是否作为调试/发布运行此程序。

    基本上、我们的所有 driverlib 函数都将在输入参数上设置一些断言、以验证正确的输入。  如果您在调试构建中、将包含这些断言、这会增加额外的时钟周期。

    如果工程处于版本构建中、则会删除断言、从而 节省时钟周期。  

    这可能是另一个原因。  

    此致、

    Uttam