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.

[参考译文] TMS320F28022:有时堆栈上的字不会像预期的那样发生变化。

Guru**** 2391705 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/769078/tms320f28022-sometimes-words-on-stack-don-t-change-as-expected

器件型号:TMS320F28022

Win7 SP1 32位、Code Composer 6.13、Piccolo 28022以50MHz 运行。

有时、在单步执行我的代码时、我喜欢堆栈上的某些词语在程序控制下不会被更改。

例如、我的堆栈指针可能具有0x0540、并且一条读取的指令(在反汇编器中)...

0080c7:  2B48       MOV         *- SP[8]、#0

这是为了在位置0x0538中放置一个0。

但该位置不变。

我可以使用"Memory Browser"窗口或"Variables"窗口通过调试器手动更改位置。

然后是一条指令、如...

0080e3:  0A48       INC         *-SP[8]

不会使字递增。

该位置前后的词语似乎表现良好。 即、栈上的变量会根据常规 INC 或 MOV 指令按预期变化。

以前有人遇到过这种行为吗?

谢谢、Mark。

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

    Mark、

    您是否看到测试/应用程序因这种情况而出现任何故障? 我们预计这些指令不会出现任何问题。 是否可能是 CCS 视图问题导致此情况不可见? 您是否尝试刷新 CCS 窗口?

    此致、

    Vivek Singh

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

    此问题似乎随时间而异。 现在似乎已经消失了。

    我们在另一天发生电源故障、当然、所有计算机和目标都进行了硬重置。 可能对它现在的工作做出了贡献。

    当我更改内存浏览器窗口中的值时、我确实看到了"手表"窗口中的更改、反之亦然。

    当这种情况再次发生时、我将尝试刷新 各种窗口并进行下电上电。

    感谢 Vivek 花时间回应。

    标记。