您好,
我正在尝试了解为什么在 F28379D 中的 EPWM10中将 OST 设置在 CPU2控制下的 controlCARD 上。

我已按照本手册操作:
...并尝试为 EPwm10Regs.TZFLG.OST 添加监视点,但这无法停止 CPU。 我正在使用 XDS100v2。
一切似乎都是正确的:

请告诉您为什么 CPU2无法停止?
谢谢你。
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.
您好,
我正在尝试了解为什么在 F28379D 中的 EPWM10中将 OST 设置在 CPU2控制下的 controlCARD 上。

我已按照本手册操作:
...并尝试为 EPwm10Regs.TZFLG.OST 添加监视点,但这无法停止 CPU。 我正在使用 XDS100v2。
一切似乎都是正确的:

请告诉您为什么 CPU2无法停止?
谢谢你。
谢谢 Ki。 是断点似乎正常工作。
我已仔细检查 EPwm10Regs.TZFLG 的地址0x4993是否正确。 OST 标志为位2。
我认为以下代码应作为设置 TZFLG.OST 的测试用例:
EPWM_clearTripZoneFlag( EPWM10_BASE, EPWM_TZ_FLAG_OST );
EPWM_forceTripZoneEvent( EPWM10_BASE, EPWM_TZ_FORCE_EVENT_OST);好的,让我们来试试。
我在这里构建了该项目,并在 controlCARD 上运行:
C:\ti\C2000\C2000Ware_4_00_00_00\driverlib\f2837xd\examples\CPU1\led
我在 for 循环的末尾添加了上述行。 以下是 ePWM_forceTripZoneEvent()前后的寄存器状态:


我希望你们也能这样做。
根据最初的问题,即使我将监视点设置为在写入此寄存器时停止,LED 仍会闪烁。
我附上了我的整个 project.e2e.ti.com/.../led_5F00_ex1_5F00_blinky.zip
(笑声)
我在运行示例时遇到问题。 一旦解决问题,我会尝试一下。
您在这里可能是正确的。 数据监视点将监视数据总线是否写入特定地址。 如果以其他方式更改该值,那么这可能解释为什么监视点没有触发。
我会将此主题提请设备专家注意。 他们可以提供进一步的援助。
谢谢
Ki
你好,Kier,
我也能在我身边重复你的调查结果。 硬件监视点适用于非只读位,但适用于 TZFLG,因为它是只读的,插入断点后 CPU 将不会停止。 可能是您和 Ki 的建议所致。
[引用 userid="479799" url="~ë/support/tools/code-composer-studio -group/CCCS /f/code-composer-studio -forume/1081156/Cannot -halt-cpu-bi-hardware-watchpoint/4015470#4015470"]当 ePWM 设置了外围设备时,似乎无法停止 CPU [除非有人设置了此选项?]请提供您的申请中为何需要这种情况的背景资料吗? 也许我可以建议另一种调试方法。
此致,
Marlyn
你好,Kier,
[引用 userid="479799" url="~ë/support/tools/code-composer-studio -group/CCCS /f/code-composer-studio -forume/1081156/no-halt-cpu-by-hardware-watchpoint/4017900#4017900]',我使用了无目的注释代码方法,直到触发停止。 我最终找到了原因并解决了问题,因此除非您有更明智的方法,否则寻找替代方案的必要性就不复存在了?我很高兴您能找到问题。 不幸的是,对于这种使用案例,您所做的只是找出这种情况的唯一方法,除了可能是单步通过代码查看哪个代码行影响 OST 位。
此致,
Marlyn