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.

[参考译文] TMS320F28377D:连接仿真器时、无法正确初始化全局变量

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1460373/tms320f28377d-global-variable-cannot-be-initialized-correctly-when-emulator-connected

器件型号:TMS320F28377D

工具与软件:

你(们)好


客户声称有一个全局变量来指示其应用中的器件 IP、该全局变量通过 CPU2使用特定值进行初始化。  
程序在自由运行模式中运行良好、但是当仿真器被连接时、全局变量在初始化之后变为全0。  
我检查了 E2E 线程、其中显示我需要确认这两个 CPU 的 RAM 所有权。 我在下面进行了检查:


我要检查的变量已向上、它位于0xF926 GS RAM3中。  

GS RAM3所有权分配给 CPU2。  

我的问题是:自由运行与在线调试有何区别? 如何进行调试来避免此问题?

谢谢

Joe

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

    你(们)好

    请更新此主题吗?

    谢谢

    Joe

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

    Joe、

    我想这可能与 GEL 文件有关、在"On Target Connect"期间有一条指令用于初始化 RAM、从而将其清零。  这样就可以确保在新器件上、当 RAM 在未定义状态下加电时不会出现 ECC 错误。  这有您看到的内容的缺点、但我们可以通过编辑 GEL 文件来消除此问题:

    在 CCS 中、转到"Tools->GEL Files"。  这将打开一个新窗口、您可以双击 GEL 文件在 CCS 中将其打开。  向下滚动至第77行(假设您正在使用标准 F2837x GEL)、您可以注释掉您不想在目标连接上初始化的 RAM。  确保你单击保存(save)、然后右键单击 GEL 并选择重新加载(Reload)。  自我们将其保存回去后、这将在以后的任何调试会话中保持不变。

    请告诉我这是否解决了该问题。

    此致!

    Matthew