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.

[参考译文] TMS320F28035:CPU_TIMER 示例中的 EALLOW 和 EDIS

Guru**** 2041660 points
Other Parts Discussed in Thread: CONTROLSUITE, C2000WARE
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1195531/tms320f28035-eallow-and-edis-in-cpu_timer-example

器件型号:TMS320F28035
Thread 中讨论的其他器件:controlSUITEC2000WARE

您好!

我想知道 CPU 定时器示例中是否需要在 CPU_timer2_ISR 中使用 EALLOW 和 EDIS 指令以及在 CPU_Timer1_ISR 中使用 EDIS (controlSUITE/device_support/F2803x/V130/DSP2803x_examples_ccsv5/cpu_timer/example_2803xCpuTimer.c)。  根据 TRM (并且只是尝试删除它们)、我 认为不需要它们。

提前感谢。

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

    罗马

    是的、正确的做法是、此特定用例不需要这些说明。

    下面是有关如何使用 TMS320C28x CPU 和指令集(修订版 F) 第2.4节中的指令 EALLOW 和 EDIS 的代码片段

    EALLOW—仿真访问使能位。 该位、当置位时、启用到仿真和其它受保护寄存器的访问。 通过 EALLOW 指令置位该位、通过 EDIS 指令清零该位。 请参阅特定器件的数据表、以确定受保护的寄存器。 当 CPU 处理一个中断时、EALLOW 的当前值被保存在堆栈上(当 ST1被保存在堆栈上时)、然后 EALLOW 被清除。 因此、在中断服务例程(ISR)开始时、禁用对受保护寄存器的访问。 如果 ISR 必须访问受保护的寄存器、它必须包含一条 EALLOW 指令。 在 ISR 结束时、EALLOW 可由 IRET 指令恢复。

    我还强烈建议您参考 C2000Ware 中提供的示例。 这些是目前支持的最新器件支持文件和示例。

    此致、

    Ozino

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

    您好、Ozino、

    非常感谢您的回答。  它澄清了我的疑问。 顺便说一下、我已经下载了最新版本的 C2000Ware、它在同一示例中仍有这些说明。

    此致、

    Román μ A

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

    您好 Román、

    很高兴听到这个消息。 我已经向 C2000Ware 人员提交了一个 TT、让他们了解这一点。

    此致、

    Ozino