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.

[参考译文] TMS320F2800137:F2800137仿真问题

Guru**** 2943390 points

Other Parts Discussed in Thread: TMS320F2800137

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1270603/tms320f2800137-f2800137-simulation-problem

器件型号:TMS320F2800137

F2800137在闪存中进行仿真、如果有许多断点、则无法正常进行仿真、如下图所示:

闪存的 cmd 文件已配置为更大的大小。 请问如何解决这个问题? 此问题是否是由于 TMA320F2800137的小 RAM 阻止了 PFC (TIDM02008)程序的正常仿真?

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

    尊敬的 Yong:

    专家目前不在城里,请期待周一的回复。

    此致、

    阿米尔·奥马尔

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

    您好  

    专家 回来了吗?

    谢谢!

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

    你好、Yong、

    您使用了多少个断点?

    伊袋

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

    您好!  伊袋

    两个。

    如果多于两个、CCS 将提醒资源不足并且程序无法运行。

    谢谢!  

    此致

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

    尊敬的 Yong:

    由于该器件没有 ERAD 模块、因此只有两个硬件断点可用。  请注意、不能在闪存或 ROM 存储器空间中设置软件断点、因为软件断点需要调试器写入存储器。

    要管理设置的断点、可进入窗口菜单并选择 Show View > Breakpoints。

    此致、
    伊袋

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

    你好,伊袋!

    我想了一会儿,如果它像你说的。  因此、如下图所示、

    在 TMS320F2800137_ ex8_上运行 ePWM   死区示例代码不能有多个断点。

    请帮助分析一下、谢谢!

    此致!

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

    尊敬的 Yong:

    按照我在上一篇文章中所述打开断点视图。 确保您只有两个硬件断点。 如果您需要两个以上的 断点、则其余必须是软件断点。

    有关 管理和配置断点的更多信息: 用于 C2000器件的 CCS 中的硬件断点和观察点(TI.com)

    此致、
    伊袋

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

    你好,Ibukun  

    您说硬件仿真在闪存中运行、而软件仿真在 RAM 中运行、对吗?

    好的、我明白了。

    另一个问题是、如果我在软件环境中编译程序、则会发生以下错误。

    我想确认这是否是因为 F2800137RAM 太小、无法为程序分配地址?

    此致!

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

    尊敬的 Yong:

    您说过硬件仿真在闪存中运行,而软件仿真在 RAM 中运行,对吗?

    这不是我说的。 硬件断点由器件电路作为片上调试资源提供支持、而软件断点实际上是一条特殊的 CPU 指令(ESTOP0)、被插入到位于所需断点地址的代码存储器中。 闪存和 RAM 之间的区别在于、虽然 RAM 可以动态修改以插入软件断点指令、但这无法在闪存中完成、因为闪存是只读存储器(若要修改闪存、您必须执行特殊的擦除和编程操作)。 因此、如果你正在从闪存内执行、你只能使用硬件断点。 如果从 SRAM 运行、则可以同时使用硬件断点和软件断点。

    在 本例中、您从 SRAM 执行。 但是、在这个器件上、您仍然只限于只能使用2个硬件断点、所以如果您需要的断点不止2个、您需要确保额外的断点是软件断点而不是硬件断点。

    对于第二个问题、是的、链接器会说它没有足够的存储器来分配您的程序。 分配给.text 的 RAM 大小为~8KB、因此需要确保编译后的输出不超过该大小。 输出控制台窗口应明确显示它尝试和未能分配的字节数。 最终、如果你需要程序大于8KB、那么你也许应该将其放置在闪存内。

    此致、
    伊袋

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

    好的、我明白了。 非常感谢 

    此致、