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.

[参考译文] CCS/TMS320F28379D:28379D CLA 调试

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

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/677849/ccs-tms320f28379d-28379d-cla-debug

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

工具/软件:Code Composer Studio

您好,

我对2837xD 上的 CLA 有一些疑问、如下所示:

1\ Cla1Taks1和 cla1Isr1之间有什么区别?

2\如果我想调试 CLA 和 C28x 并在 CLA 程序中使用单步执行,必须在 CLA 的第一行中设置_mdebugstop()? 当在 CLA 上使用单步执行时,CLA 任务只能插入一次,然后指针在最后一行停止,因为}在末尾意味着_mdebugstop()。但是我想多次进入 CLA 程序,如何进行?

3\_mdebugstop()只能在调试环境中使用? 如果 CLA 程序持续运行或下载到芯片闪存中,应该使用_mdebugstop()?   

4\in the project、the sources include .cla file and other files.If only connect to C28x CPU and load program、the resultis that CPU and CLA program are automatically loaded into each chip。 或 CLA progam 只能用于连接 cla2,然后加载符号?

5\Current loop control is implemented only the CLA on the motor control, include SVpwm、FOC、current sense、update ePWM CMP 等。 这种解决方案是可行的吗? 如果可以、我可能需要构建一些任务来实现电流环路吗?

我希望我的表达是明确的。

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

    1) 1) CLATask1是 CLA 在触发时将执行的程序。 cla1isr1是由 C28x 执行并在 CLA 上的任务1完成后触发的中断服务例程。

    2) 2) MDEBUGSTOP 不必是执行的第一个操作码。 它可以放置在 MSTOP 或任务结束指令之前的任何位置。 我不确定您在这里的问题是什么? 一旦 CLA 在 MDEBUSTOP 上暂停、您可以单步执行 CLA。

    3) 3)不需要注释 MDEBUGSTOP。 如果仿真器未连接、那么 MDEBUGSTOP 将被 CLA 视为 NOP。

    4) 4).cla 文件包含 CLA 代码。 编译 CCS 工程时、编译器会为 CLA 指令集构建.CLA 代码。 编译 CCS 工程并创建.out 后、CCS 将会将包含 C28x 代码和 CLA 代码的.out 加载到器件中。 连接 CLA 后、您可以添加符号来查看 CLA 在 MDEBUGSTOP 上停止的位置。

    5) 5)只要 CLA 能够访问您需要访问的所有外设、这是可行的。

    希望这能有所帮助。
    SAL
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Pezzino、感谢您的快速回复。

    问题2 如果我想多次输入 CLA 任务1、我很困惑如何执行它。 我在论坛上看到了一些关于只调试一次 CLA 程序的答案,因为 CLA 程序将不会被执行并在最后一行的末尾停止。 同时,错误发生如下:

    CPU2_CLA1:无法运行目标 CPU:(错误-2060 @ 0x0)在器件运行时无法完成请求的操作。 停止器件、然后重试此操作。

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

    我对这个问题有点困惑。

    每个 CLA 任务可被触发多次。 它是一种任务驱动或事件驱动的加速器。 完成任务后、它可能会收到另一个触发信号以再次开始执行。

    请参阅 C2000Ware 中的 CLA 示例以及 CLA 数学库示例。

    此致、
    SAL
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Sal,ć
    感谢您的回答。 这个概念对我来说是非常清楚的。 然后我将尝试一些示例来验证 CLA 任务。