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.

[参考译文] RM48L952:关于堆栈内存运行方式和地址分配的问题

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1448690/rm48l952-questions-about-stack-memory-behavior-and-address-allocation

器件型号:RM48L952

工具与软件:

您好!

我目前正在尝试了解栈指针寄存器的运行方式。

我已经查看了数据表和技术参考手册、但找不到有关堆栈存储器工作原理的详细说明。 是否有提供有关堆栈存储器操作详细信息的特定文档?

到目前为止我推导出的内容如下:

  1. 栈存储器的基本单元是8字节。
  2. 分配用于存储返回地址的存储器为8个字节。
  3. 但是、实际数据(有效载荷)以4字节为单位存储。
  4. 如果参数或参数的大小除以8个字节时小于或等于4个字节、则它将存储在为返回地址分配的存储器的剩余空间中。

以上几点是基于我的假设、我很难理解以下几点:

  • 为什么要有价值 0x00000001 存储在地址 0x08000FA8
  • 为什么要有价值 0x00000005 存储在地址 0x08000FF8

如果你能就这些问题作出澄清、我将不胜感激。 谢谢!

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

    您好、Kim、

    我对延迟回复表示歉意。

    我们没有任何与堆栈相关的特定文档、我将再次在内部检查是否有人拥有该文档。

    [报价 userid="634215" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1448690/rm48l952-questions-about-stack-memory-behavior-and-address-allocation "]
    • 为什么要有价值 0x00000001 存储在地址 0x08000FA8
    • 为什么要有价值 0x00000005 存储在地址 0x08000FF8
    [报价]

    我需要进行测试以了解这种数据存储是如何发生的。

    您能分享一下整个项目吗、这样我就能轻松完成调试了

    ——
    谢谢、此致、
    Jagadish。