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.

[参考译文] TMS320F28388D:计算经过的时钟周期

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

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1365364/tms320f28388d-calculate-the-elapsed-clock-cycles

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

尊敬的专家:

我正在尝试为我的 ISR 代码计算所用时钟周期、以确保它们不超过 PWM 周期持续时间。 我已通过启用时钟(run->clock ->enable)和设置断点来处理此问题。 遗憾的是、这种方法这次没有成功。 下面是我遇到的问题:

(1) RAM:

(1.1)我无法在 ISR 代码的末尾以及一些配置代码(例如 ePWM 设置)中添加断点、如下所示;断点指示符保持灰色。

1.2当我在我的 ISR 代码的第一行设定一个断点时、我有时需要按下"运行"两次来进入下一个断点。 其他时候、一次按压就足够了。

(2)闪存  

我只能设置一个断点。 尝试设置一个额外的断点会导致一个错误:

(3)调试模式与释放模式

我在一个线程中读到、使用释放模式可能比调试模式进行计时测量更准确。 如何切换到释放模式?

以下是指向该主题供参考的链接:

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1323740/tms320f280049-code-execution-clock-cycles/5049174?tisearch=e2e-sitesearch&keymatch=calculate%2520the%2520elapsed%2520clock%2520cycles#5049174

谢谢。

埃里克

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

    您好、Eric、

    您是否考虑过在 ISR 开始和结束时切换 GPIO 以及在示波器上查看它以确保 ISR 及时完成? 由于 ISR 的启动可能会被其他 ISR 延迟、这或许是一个更准确的测试、来确定您的 ISR 是否正在及时完成。

    调试与发布模式适用于 driverlib.lib 文件、而不是整个 C2000Ware 项目。 您可以通过从 C2000WARE/driverlib/f2838x/driverlib 中导入 driverlib 工程、在 Release 模式下编译 driverlib.lib。 编译这个项目时、将激活编译配置设定为 Release、然后将 driverlib.lib 复制到你的项目中。

    谢谢!

    卢克

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

    Luke、您好!

    我会根据您的建议尝试使用 GPIO。 但是、你还能帮助我解决 我遇到的有关断点的问题吗? 这对我们也很重要。 此外、虽然我已经在我的项目中包括了 driverlib、但是我仍然不确定如何将构建配置设置为 Release 模式。

    谢谢!

     埃里克

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

    您好、Eric、

    发布与调试模式只适用于 driverlib.lib 库。 对于整个工程、可以选择打开编译器优化、但没有 Release 或 Debug 模式。

    您是否可以通过选择"View"->"Breakpoints"来查看您设置的所有断点? 然后删除已设置的所有断点并重试。

    谢谢!

    卢克

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

    Luke、您好!

    1.我可以在哪里为 drive.lib 设置释放模式? 在下面的屏幕截图中、我找不到 driverlib.lib 的此设置。

    2、我已经删除了所有断点并重试、但 RAM/Flash 中的问题仍然存在。 例如、断点不能有效地添加到下面屏幕截图中所示的行(RAM)中。

    谢谢。

    埃里克

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

    您好、Eric、

    C2000Ware 中有一个专用于构建 driverlib.lib 文件的项目。 您需要从 C2000Ware/driverlib/f2838x/driverlib 文件夹中导入它。 将该工程的构建配置更改为发布模式、然后将生成的 driverlib.lib 文件复制到包含应用程序代码的工程中。

    谢谢!

    卢克