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.

[参考译文] TMS320F280025:CAN 通信不能与优化配合使用。

Guru**** 2524460 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1067963/tms320f280025-can-communication-does-not-work-with-optimizations

部件号:TMS320F280025

专家。

我们处理 CAN 通信的驱动程序在没有优化的情况下工作正常,但一旦添加优化,它就停止工作。 由于应用程序的复杂性,我们需要优化代码。

任何关于这种行为的原因的想法。

谢谢,

威尔逊

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

    您好,威尔逊,  

    您看到这种行为的原因可能有很多。  一个常见的根本原因可能是应用程序在某些关键变量声明中可能没有使用“volatile”关键字。  请查看实施的这一方面,并综合所有可能受影响的变量。  如果不使用 volatile 关键字强制执行访问,编译器通常会优化某些访问。  

    请告诉我们您的发现...

    谢谢,
    克利须那  

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

    您好,威尔逊,  

    您可能会发现此优化指南也很有用: https://software-dl.ti.com/C2000/docs/optimization_guide/index.html 

    请告诉我们您发现的问题的根源是什么。  

    此致,

    克利须那

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

    克利须那

    感谢你的建议。 行为的根源与优化无关。 我们的 CAN 服务正在超时,因为另一项服务需要很长时间。

    此致,

    威尔逊