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.

[参考译文] TMS320F2800135:TMS320F2800135上的调试错误-_system_post_cinit ()在0x3FFF08上停止

Guru**** 2394305 points
Other Parts Discussed in Thread: TMS320F280039C, TMS320F2800135, C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1481064/tms320f2800135-debugging-error-on-tms320f2800135---_system_post_cinit-halt-at-0x3fff08

器件型号:TMS320F2800135
主题中讨论的其他器件:TMS320F280039C、、 C2000WARE

工具与软件:

迁移项目的位置 TMS320F280039C 最终目的 TMS320F2800135 . 项目在上正常运行 F280039C 但是当我尝试在上运行它时 F2800135 时、调试器在_system_post_cinit()具有ESTOP0 AT 地址时停止 0x3FFF08 . 反汇编过程如所示 ITRAP1 (FFFF FFFF) 发出安全指令。

工程配置:

  • 我包含了两个syscfg文件:
    • epwm_3_ph.syscfg (适用于 F2800135)
    • EPWM_3_ph2.syscfg (适用于 F280039C)
  • 消息流 Code Composer Studio (CCS v12)
  • 目标器件: TMS320F2800135
  • 编译器: TI-CGT-C2000 22.6.1.LTS

所采取的故障排除步骤:

  1. 已检查内存映射:

    • 错误发生在 0x3FFF08 、显示在保留/引导 ROM 部分中。
    • 这表明程序计数器(PC)可能跳转到了一个非法的存储器区域。
  2. 已检查异常原因:

    • 不是 PC 寄存器可见 观察输入和输出。
    • 已检查 NMI 和看门狗计时器(WD)寄存器 、但没有明确的复位原因指示。
  3. 反汇编视图观察:

    • 之前的说明ESTOP0包括 ITRAP1 (FFFF FFFF) 、它似乎表示 非法的指令陷阱 .

问题:

  1. 到底是什么导致了 ITRAP1FFFF FFFF ()指令出现?
  2. 如何调试执行为什么跳转到0x3FFF08?
  3. 从 F280039C 迁移到 F2800135时、是否有我可能遗漏的特定迁移步骤?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    在 CCS 启动器件复位后、您是否可以选择"Run"->"Load"->"Load Symbols"并从 C2000Ware 中加载此.out 文件?

    C:\ti\c2000\C2000Ware_5_04_00_00\libraries\boot_rom\f280013x\RevB\rom_sources\ccs_files\cpu\Release

    这样、您可以单步执行代码并确定 ESTOP0发生的确切位置。

    谢谢!

    Luke

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

    您能告诉我如何解决这个问题吗?因为您建议生成的文件不是人类可读的格式。

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

    尊敬的 Devesh:

    我需要更多信息来确定问题的可能原因、因此我建议您加载.out 文件。 如果您从我提到的.out 文件中加载符号、您将能够单步执行引导 ROM 本身中的每一行代码。 通过这种方式、您可以确定导致 ITRAP 的指令、我们将提供更多信息来确定问题的原因。

    谢谢!

    Luke