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.
大家好、我正在尝试使用3PhGaNInv Booster 板评估 TMS320F280049C Launchpad。 我已经浏览过 SPRCO3文档(可在该 TI 链接中找到): https://www.ti.com/lit/an/spraco3/spraco3.pdf?ts=1629130699832&ref_url=https%253A%252F%252F
我收到以下错误:
"在 C:/Users\Dani\dual_axis_driv\dual_axis_m伺 服驱动器_FCL_QEP_f28004x\F28004x_RAM\dual_axis_m伺 服驱动器_FCL_QEP_f28004x.out:{3}0x3fb024A"
Dan
SYSCTL_DELAY()是一个汇编宏,因此 CCS 在显示源代码时遇到了问题,就像显示正常的 C 函数一样。 您可以在 driverlib sysctl.c 文件中找到该代码(如果您想查看)。
无论如何、SYSCTL_DELAY ()中没有 ESTOP0指令、因此它看起来实际上并不是在这里执行的指令。 从地址可以看出、这是引导 ROM 中的"等待引导"模式。
加载程序后是否会立即发生这种情况? 如果您在 CCS 中点击了 RESET 和 RESTART 按钮,您可以将其转至 main(),还是它一直卡在0x3fb02a 上?
惠特尼
您好、惠特尼加载后、它立即卡在这条线路上。 如果我执行重新启动、然后进行复位、则会转到另一行代码(但我只能在"Disassembly"视图中看到该行)。 然后我可以单步执行代码、但是如果我点击"Resume"、它会再次卡在该指令上。
显示 源代码的问题是否 与您提到的有关汇编宏的问题有关? (我可能只是误解了这里的内容)
此外、当 我对代码执行"重新编译"时、我会得到以下内容:
清理完成后、它会成功构建。 这是否会导致问题? 我检查了位置、看起来这些文件存在、但文件路径的第二行到最后一行位于正斜杠(\sources/、\src_device/、\src_driver/等)之间、不是实际文件路径的一部分。
非常感谢您的回复、如果有更多信息、请告诉我。
Dan
只要工程在末尾编译、重建过程中的清理步骤中的错误就不会成为问题
似乎您正在获得一个额外的复位、该复位会使您返回到引导 ROM 中。 您能否转至 Tools -> Debugger Options -> Program/Memory Load Options、然后在未选中"Reset the target on a program load or restart"(在程序加载或重新启动时重置目标)框的情况下尝试执行此操作(如果尚未取消选中)?
惠特尼
您好、Whitney、以下是我选择的选项。 我取消选择了"在程序加载或重新启动时设置目标"(文档说明已要求我选择该目标)、但结果相同。 以下是调试屏幕:
很抱歉、我在过去的几周内生病了、回复延迟。
Daniel
在调试视图中、如果您转到"Scripts"->"EMU 引导模式选择"->"EMU_BOOT_RAM"、然后尝试重置并重新启动、这是否会有所不同?
在"Registers"视图中、您能否查找 CpuSysRegs.RESC 并查看设置了哪些位?
您使用的是哪个版本的 MotorControl SDK? 您是否曾尝试过其他一些 C2000Ware 示例、并确认只有此应用程序存在此问题?
惠特尼
我认为这可能已经解决了额外复位指令的问题。 但是、我仍然无法看到在导入的图中生成的任何类型的波形。 明天我可以花更多时间来玩这个游戏、并为您提供更多详细信息。
我的电机控制 SDK 版本是3.02.00.00。 这是您想要查看的寄存器。
一个月左右之前、我已经完成了一些示例项目、以熟悉 LaunchPad (没有 Booster 板)。 但是、我认为这是唯一一个具有针对电路板组合配置的文件的项目、并且无法使其 超过第一个构建阶段。 我们对双电机应用并不感兴趣、只是想了解如何使电机在此运行。
感谢您分享 RESC reg。 似乎 CCS 仍在执行某种操作来重置器件-而不是看门狗或硬件问题。 我有点惊讶"在程序加载或重新启动时重置目标"不是问题(该指令应该从文档中删除)。
EMU_BOOT_RAM 将仿真引导配置设置为从 RAM 引导、因此即使它获得了复位、它也会开始从 RAM 执行您的应用程序、而不是卡在等待引导中。 因此、它并不能真正解释额外复位的来源、而是解决问题。
您能看到 isrTicker 在递增吗?
惠特尼
是- ISR ticker 正在递增。
我之前在另一个涉及看门狗的文档(TMS320F28004x 微控制器技术讲座)中完成了系统初始化实验。 但我认为这不会影响我们在这里所做的工作?
我连接了一个示波器、以检查它是否未显示在 CCS 中。 电源已打开 并进入 Booster 板 、但没有 PWM。
在文档的第28页上、有一条关于实时选项的正确复位程序的警告(在说明的开头似乎最好这样做哈哈)。 我 无法想象我每次花时间处理这个问题时都能正确地完成这个过程。 问题是否与此相关(是否有办法让我检查)?
再次感谢!
Daniel、您好!
现在您已经完成了 ISR 检查、您指的是什么问题。
Daniel、您好!
[引用 userid="496005" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1028574/tms320f280049c-spraco3-sysctl_delay/3816411 #3816411"]是- ISR ticker 正在递增。您是否将项目优化降低到0或1并提高速度1或2? CCS 调试 F5或 F6通常会跳过应用程序代码、并将优化设置为全局。 单击 View (视图)以添加并检查调试中的 Break Points (断点)选项卡。
您好 Ramesh、根据上面的帖子、问题一直在生成 PWM 波并将其显示在导入的图形中。 假设代码此时应该这么做、我是否错了? 除了应该设置的"Expressions"窗口中的 enableFlag 之外、还有其他值吗? (我尝试编辑了与 p 24底部提到的变量关联的表达式)。
当我运行代码时、CCS 首先冻结几分钟并显示以下值:
我不确定这些数字来自哪里。 几分钟后、我能够编辑使能标志、将其设置回1、并且图形中的电压降至0。
您好、GI、编译器中的优化级别(如果这是您的意思)设置为4、然后"速度与尺寸折衷" 5。 我将尝试改变这种情况(但编译优化不应影响输出文件(还是有其他项目优化设置)?
Daniel:
您要评估的构建级别是什么? 我假设您处于1级。
用户指南应能帮助您进行评估。 用户指南中的说明是否不清楚?
您好、Ramesh、我处于构建级别1、这是正确的。 说明足够清楚;不清楚的是 、当我不最终得到说明的预期结果时、会发生什么错误。 我曾尝试密切关注这些问题、并多次进行讨论、但我可能错过或未能理解某些问题。 根据用户指南 、您是指上述文档(SPRACO3)还是其他文档?
Daniel、您好、请给我们几天时间了解我们可以提供哪些帮助。
谢谢、我非常感谢。 如果有更详细的信息、请告诉我。
请确保双 BOOSTXL-3PHGAN 逆变器板已连接到 LAUNCHXL-F280049C、如用户指南中所述。
2.请在将"enableFlag"设置为"1"后检查 motorVars[0].isrTicker 和 motorVars[1].isrTicker 是否正在增加。
3.请检查 motorVars[0].tripFlagDMC 和 motorVars[1].tripFlagDMC 是否等于"0"、否则表示 BOOSTXL-3PHGAN 未正确连接。
BTW、请无需启用器件实时模式即可在 F28004x 上运行代码。
两个振荡器都将递增。 MotorVars[0].tripFlagDMC 的值为0、motorVars[1].tripFlagDMC 的值为3。 我想我曾经假设 这种情况只在连接了一个逆变器板的情况下运行。 谢谢!
是的。 如果您没有两个 boostxl 板、则可以使用此示例运行一个电机、尽管它用于双电机控制。
好的、我使用它是因为它是我能够找到的电机控制示例代码、而不是因为它用于双电机控制。