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.

[参考译文] TMS320F28075:F28075可能会中断执行时间太长

Guru**** 2580295 points
Other Parts Discussed in Thread: C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/649370/tms320f28075-f28075-can-interrupt-execution-time-too-long

器件型号:TMS320F28075
主题中讨论的其他器件:C2000WARE

您好 Champ、

客户发现 F28075 " CAN_loopback_interrupts_cpu01"示例 CANIntHandler 执行时间太长,大约为5us (   CANMessageGet (CANA_base、2、&sRXCANMessage、true);执行 时间 太长 )。

仍然是优化执行时间的方法?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    1.优化 C 代码。 您可以使用各种 C 优化来创建
    应用。 如果适用、则无需进一步操作。
    2.使用 pragma 和内在函数。 编译器具有内置支持、允许您继续使用
    汇编代码环境。 如果您可以使用它们、它们允许您留下来
    在您的大小/速度限制范围内、您无需进一步操作。 您可以考虑
    此时您的应用已完成。
    3.使用汇编语言。 有时会优化和使用 pragma 和内在函数
    不允许您满足大小/速度限制。 此时、您可能需要创建一个可调用 C 语言的
    汇编语言函数。 (来自 spra806)

    希望这会有所帮助。
    此外、您运行处理器的速度是多少?
    在某些 C2000系列中、当例程从 RAM 运行时、运行速度更快(不确定是不是这样
    是 F28075的情况、但值得探索)
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    除了 Todd 提供的好建议之外、如果可能、还可以查看 C2000Ware 中的新 CAN driverlib。 这提供了一个更简单的读取消息函数、并且是要使用的首选 driverlib。

    ~\C2000Ware_1_00_02_00\driverlib\f2807x

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

    您好 Todd、

    非常感谢您的建议、客户使用了120MHz CPU 频率。

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

    非常感谢、我们将尝试测试 driverlib 性能。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Todd、
    我理解它。
    对于 pragma,您是否意味着将代码分配给从 RAM 运行?