This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

[Cortex-A53] STP instruction stores out of the specified memory

Hi Experts,

     I have a question about "STP" instruction in Cortex-A53.

     STP W6, W6, [SP, #20]  --> after it executes, the memory of [sp, #16] and [sp, #28] are corrupted.

     I don't know why cause it. 

    Can you help to explain the reason? 

    The environment is:

       Before STP executes:

             W6=0x10, SP=0xFFFD36D0, MMU disable, dcache disable, icache enable.

             memory content is:

             [0xFFFD36E0]:  0xFFFD3740 0x00000000 0x00000001 0xFFFD3750

      After STP executes:

             memory content is:

             [0xFFFD36E0]:  0x00000000 0x00000010 0x00000010 0x00100000

      Thanks for your attention!

Best Regards,

Emmy

Parents
  • Emmy0: AXI is ok, AHB is wrong

    I don't think AHB is wrong. For example the Static Memory my board is using is connected to the CCN (Cache Coherent Network) through AXI4, not AHB. AHB is less offering and less complex and eg. Coresight uses it. 

    For the AXI4 behind Static Memory I can run equally well the code being attributed to the Devices and Memory.

Reply
  • Emmy0: AXI is ok, AHB is wrong

    I don't think AHB is wrong. For example the Static Memory my board is using is connected to the CCN (Cache Coherent Network) through AXI4, not AHB. AHB is less offering and less complex and eg. Coresight uses it. 

    For the AXI4 behind Static Memory I can run equally well the code being attributed to the Devices and Memory.

Children
  • Hi MarekBykowski,

         Yes, if Static Memory via AXI4, it works well.

         Unfortunately, my board's Staic Memory is connected AHB, so STP access address is restricted  to 64-bit align. I have worked around in code to avoid "STP" generation. Now it can work.

          Thanks!

    Best Regards,

    Emmy