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.

[参考译文] DRV8301-69M-KIT:如何将 motorware 中的实验例程修改为闪存运行模式

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1114529/drv8301-69m-kit-how-to-modify-labs-routine-in-motorware-to-flash-running-mode

器件型号:DRV8301-69M-KIT
主题中讨论的其他器件:MOTORWARE

大家好:

我有一个非常简单的问题、即如何使 motorware 中的实验例程在闪存中运行(不连接 CCS 或被称为独立模式?) 并驱动电机旋转?

我知道编译时可以选择 RAM 模式或闪存模式、 我选择闪存模式来编译程序并将其刻录到芯片中、但在我切断电源并重新打开电源后电机没有旋转。

已为闪存启动配置了启动模式。

当 lab02b 在 RAM 模式下运行时,当我将这两个标志设置为1 (“gMotorVars.Flag_enableSys”和“gMotorVars.Flag_Run_Identify”)时,电机可以正常旋转,芯片也可以正常运行识别参数的程序。

但我无法在独立模式下设置这两个标志。 这是电机无法旋转的原因吗?

如果是、我应该对程序进行哪些更改以使 lab02b 脱机运行?

此致、

肯格

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

    您可以查看下面的链接、该链接是与您发布的问题类似的问题。

    https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1107829/launchxl-f28069m-question-about-flash-programming

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

    您好、Yanming:

    感谢你的帮助。 但这不符合我的问题。

    我可以肯定的是、代码已准备就绪、可以离线运行、因为在移除 JTAG 和上电后、controlCARD 上的 LD2将正常闪烁。  但我的电机仍然不会移动。

    那么、我想问一下、在离线操作(在没有 JTAG 的情况下运行)的情况下、我是否需要修改程序以便 Lab02b 能够正常驱动电机?
    或者、lab02b 能否在离线运行(在没有 JTAG 的情况下运行)时驱动电机?

    肯格

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

    是的、所有实验都可以在没有 JTAG 的情况下离线运行、但您应该稍微更改一下实验代码以设置相关标志以启动电机、如实验中所示、从而在 CCS 调试窗口中设置这些标志。

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

    感谢 Yanming:

    您可以进一步帮助解释所做的更改吗?

    我试图将"gmotorvars.flag_enables"和"gmotorvars.flag_run_identify"的判断条件修改为1、但它似乎不起作用。

    最好

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

    如上面提到的链接所示、在闪存中运行代码。 只需  在启动函数之后和主循环之前将"gmotorvars.flag_enableys"和"gmotorvars.flag_run_identity"设置为1。

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

    非常感谢您的指导、但由于我的软件功能较差、我真的不知道在哪里修改这两个标志。

    我尝试修改两个位置、但仍然不起作用。

    希望能够指出我需要修改的确切位置。

    谢谢。

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

    您好、Yanming:

    感谢您的指导、我可以通过以下修改使套件在闪存中运行:

    以前:

    ...
    
    while(!(gMotorVars.Flag_enableSys));
    
    ...
    
    while(gMotorVars.Flag_enableSys)
    
    ...
    
    CTRL_setFlag_enableCtrl(ctrlHandle, gMotorVars.Flag_Run_Identify);
    
    ...

    之后:

    ...
    
    while(!(1));
    
    ...
    
    while(1)
    
    ...
    
    CTRL_setFlag_enableCtrl(ctrlHandle, 1);
    
    ...

    然而、 虽然程序可以在闪存中运行、但是每次上电时、controlCARD 需要被"触发"以使芯片运行。

    例如、只有在 JTAG 电缆被插入并从 USB 接口上拔出后、芯片才会运行此程序。  之后、它可以正常运行(只需连接24V 电源即可)

    这是为什么?

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

    您可以查看 controlCARD 的硬件指南、在不连接 USB JTAG 调试器的情况下设置用于在闪存中运行代码的开关。

    qsg_hw_cncd28069miso.pdf

    C:\ti\motorware\motorware_1_01_00_18\docs\boards\control\f2806x\docs

    SW1:闪存 中运行代码的等待模式

    SW3: 来自 ISO JTAG 电路的 TRST 信号将不会连接到 F2806x

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

    您好、Yanming:

    非常感谢。 困扰我很长时间的问题终于得到解决!