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/TMS320F28069F:获取堆栈指针位置

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/592314/ccs-tms320f28069f-get-stack-pointer-postion

器件型号:TMS320F28069F

工具/软件:Code Composer Studio

有时我会得到一个陷阱 ISR。 我已经在堆栈上放置了定义的值、并且堆栈不会溢出。 有关更多详细信息、我想知道 TRAP-ISR 到来时堆栈指针的位置。 不清楚如何做到这一点。

也许有人可以帮助我、

谢谢、

1月

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

    在 CCS 内核寄存器下的"Registers"视图中、您应该能够看到堆栈指针(SP)的当前值。 它能起作用吗?

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

    尊敬的惠特尼:

    感谢您的回答。

    我更喜欢 C 代码中的 stackpointer 位置。 这是出于我们的目的、使用 CCS 进行调试并不容易。 我喜欢在 ITRAP ISR 中打印 DE SP 位置。

    如下所示:

    https://e2e.ti.com/support/microcontrollers/c2000/f/171/t/21107

    但该示例不适用于 Piccolo。 编译器给出语法错误。

    我使用 CCS 5.5和编译器版本6.2.7。

    谢谢。

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

    您好、Jan、

    是的、我认为这是 C6000代码。 我的汇编代码有点粗略、但我认为这应该是一个合适的 C2000等效代码:

    uint16_t returnSP (uint16_t dummy);
    
    __asm (".def _returnSP\n"
    ".global _returnSP\n"
    "_returnSP:\n"
    " MOV AL、@SP \n"
    " LRETR\n"); 

    惠特尼