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:CLA 调试问题

Guru**** 2800955 points

Other Parts Discussed in Thread: TMS320F28388D

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1623599/tms320f28388d-cla-debug-issue

器件型号: TMS320F28388D

TI 团队大家好、  

Iam Nikileshwar。 IAM 使用 TMS320F28388D C2000 控制器进行 UPS 说明。 我正在 CLA 中读取并执行 RMS 计算并将其发送到 CPU。

首先、即使 iam 在代码中启用了__mdebugstop ()、调试也不会在 CLA 任务中停止。 CLA 显示在调试页面中运行。

请帮助我纠正问题,因为我不能理解问题在哪里。

请找到图片。

提前感谢、

v Nikileshwar

image.png

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

    我怀疑 CPU 永远不会到达__mdebugstop() 指令。 检查任务是否确实是正在运行的任务。 您可以查看 MIRUN 寄存器... 或者、最好在任务开始时将 GPIO 拉高、在_mdebugstop () 后将 GPIO 拉低、以指示 (1) GPIO 是否启动、(2) GPIO 是否超过 mdebugstop。

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

    嗨、Lori、  

    感谢您的支持。

    我错过了启用 ePWM 中断来触发 CLA 任务。 完成此操作后、CLA 会在  __mdebugstop () 处停止。

    问题又来了。  我是按照 您建议在 CLA 任务中将 GPIO 从高电平拉至低电平所做的。 我正在进行分步调试、我使用的 GPIO 从高电平到低电平的代码卡在某个点、因此无法运行。 我在下面附上了相关图像 、并用红色标记、以查找卡住的位置。

    我还使用  gpio_setControllerCore () 函数将 GPIO 控制配置为 CLA 内核。

    请指导我解决这个问题。

    提前感谢。

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

    如果您运行、而不是步骤、它是否仍然卡住? 我怀疑 mod (%) 功能是问题所在。 在 CLA 上需要花费大量周期、因为 CLA 没有用于加速%函数的硬件指令。 如果您弄清楚 pinMask 是什么、可以绕过此 代码并直接写入寄存器。

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

    例如、写入 GPIOA 数据寄存器位 0 的示例  

    HWREG (GPIODATA_BASE + GPIO_O_GPADAT) 且= 0x0001;

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

    嗨、Lori、  

    问题已解决。

    感谢您的支持。