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/DRV8302-HC-C2-KIT:DRV8302-HC-C2-KIT 不能#39;t run -在0x3ff599位置停止

Guru**** 2589245 points
Other Parts Discussed in Thread: CONTROLSUITE, DRV8302

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/651999/ccs-drv8302-hc-c2-kit-drv8302-hc-c2-kit-doesn-t-run---halts-at-location-0x3ff599

器件型号:DRV8302-HC-C2-KIT

工具/软件:Code Composer Studio

我一直在尝试调试 DRV8302-HC-C2-KIT、但没有成功。

它有一个 F28035控制卡、我正在尝试为无传感器 PM 电机运行应用。

我能够在 BUILDLEVEL 1处编译代码、然后加载。

但是、操作总是在位置0x3FF559处挂起。

我已经阅读了"HowToRunGuide"中的说明多次、我似乎没有遗漏任何内容。

我运行的是 Code Composer 版本7.0.0.00042。 我注意到、指南中引用了 CCS v4。

是否有可能需要 CCS 7的设置、或者是否发生了其他情况?

谢谢你

戴尔

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Dale、您是使用 RAM 还是闪存构建配置来运行它吗? 此外、您是否能够获得任何其他 controlSUITE 示例来处理您的 controlCARD?

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

    这是使用 RAM 配置构建的
    我最近测试了 BLDC 项目、并且能够构建和运行。

    谢谢你

    戴尔
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您激活了哪个链接器命令文件? 当您查看编译期间生成的.map 文件时、0x3FF559属于哪个段?

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

    地址0x3ff559位于 BootROM 部分。
    活动链接器文件为"F28035_RAM_PM_Sensorless.CMD"
    为了便于参考、我从.map 文件中复制了第0页信息:

    第0页:
    开始 00000000 00000002 00000000 00000002 RWIX
    BOOT_RSVD 00000002 0000004e 00000000 0000004e RWIX
    RAMM0 00000050 000003b0 00000235 0000017b RWIX
    程序 00008000 00001800 000010e6 0000071A RWIX
    IQTABLES 003fe000 00000b50 00000b50 00000000 RWIX
    IQTABLES2 003feb50 0000008c 00000000 0000008c RWIX
    IQTABLES3 003febdc 000000aa 00000000 000000aa RWIX
    BootROM 003ff27c 00000d44 00000000 00000d44 RWIX
    复位 003fffc0 00000002 00000000 00000002 RWIX
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好 Sean

    其他信息。

    当我将代码载入28035时、我收到以下错误消息:

    C28xx:在0x8000上执行"Finish Auto Run"时删除断点时遇到问题:(错误-1066 @ 0x8000)无法设置/清除请求的断点。 验证断点地址是否在有效存储器中。 (仿真包6.0.504.1)

    此外、我注意到 F28035控制卡上的 LED3正在闪烁。

    谢谢你

    戴尔

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    在调试器和 CCS 连接的情况下运行时、操作是否暂停? 如果是、请加载引导 ROM 符号并查看代码停止的位置。

    您的器件似乎正在复位、然后将引导 ROM。

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

    你(们)好

    是-在连接 CCS 的情况下暂停操作。

    我再次尝试运行。 我在菜单中使用了 run->load->load 符号。

    是否有其他方法可以加载引导 ROM 符号?

    此时会弹出一个代码窗口、但会显示消息"No source available for 0x3ff599

    如果我"重新启动"、则会弹出一个用于 boot28.asm 的窗口;它似乎到达的指令为"MOV    SP、#__stack"

    但是、该指令似乎与位置0x3ff599处的内容不匹配。 (反汇编窗口在0x3ff599处显示"ESTOP0")

    谢谢你

    戴尔

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

    更多观察结果:

    经过进一步调查后、我提出了几个似乎暗示代码被破坏的观察结果。

    1. 一些应该为 true/false 的变量、即0或1、具有较大的值、例如。 EnableFlag = 35744
    2. 更重要的是:alpha_State_ptr = 0x02718E66;我确定这应该是0x008XXX 以指向存储器的代码段。
    3. 代码立即开始执行打开加载、并在 Ox3ff599处停止。

    将其与从同一封装加载 BLDC 代码的结果进行对比:

    1. 变量具有正确的值、例如 EnableFlag 为1。
    2. 加载时不会开始执行。 我需要单击"开始/恢复"图标

    我怀疑此项目中有编译器或 CCS 设置不正确、但在查看设置时看不到任何内容。我使用的是 CCS7、编译器版本为 TI v16.9.1.LTS。

    很清楚、这不是我的代码-而是我从 TI 下载的代码来运行 DRV8302评估套件。 封装中的 BLDC 代码看起来工作正常;无传感器 PM 代码导致了此问题。 遗憾的是、我的应用是 PM 电机。

    谢谢你

    戴尔

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    嘿、Dale、抱歉、这里的响应出现了停顿。 您是否能够解决最终遇到的问题?

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

    我最近通过 controlSUITE 下载了该代码的最新版本。
    这解决了问题、我可以旋转电机。 我无法弄清原始代码中的错误。

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

    感谢 Dale 的更新。

    肖恩