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:Questions About Stack Memory Behavior and Address Allocation

Part Number: RM48L952

Tool/software:

Hello,

I am currently trying to understand how the Stack Pointer Register operates.

I have reviewed the Datasheet and Technical Reference Manual but could not find a detailed explanation of how the Stack Memory works. Is there a specific document that provides detailed information about Stack Memory operation?

Here is what I have deduced so far:

  1. The basic unit of stack memory is 8 bytes.
  2. The memory allocated for storing the return address is 8 bytes.
  3. However, actual data (payload) is stored in 4-byte units.
  4. If the size of a parameter or an argument is less than or equal to 4 bytes when divided by 8 bytes, it is stored in the remaining space of the memory allocated for the return address.

The above points are based on my assumptions, and I am having difficulty understanding the following:

  • Why the value 0x00000001 is stored at address 0x08000FA8
  • Why the value 0x00000005 is stored at address 0x08000FF8

I would greatly appreciate it if you could provide clarification on these points. Thank you!

  • Hi Kim,

    My apologies for the delay in the late response.

    We don't have any specific document related to the stack, i will again check internally whether anyone has this.

    • Why the value 0x00000001 is stored at address 0x08000FA8
    • Why the value 0x00000005 is stored at address 0x08000FF8

    I need to test to understand how this storing of data happened.

    Could you please share the complete project so that i can easily debug from my end.

    --
    Thanks & regards,
    Jagadish.