Skip to main content
ranran
Senior
February 25, 2019
Solved

Breakpoints change behavior when accessing external memory !

  • February 25, 2019
  • 2 replies
  • 742 views

Hello,

I have a very weird behavior...

When trying to access external synchronous PSRAM.

I see the clock and cs change only if I stop and starts stepping inside the while(1) loop below.

When doing "go", there is no clock nor CS changes.

I tried to add delays as you can see, but nothing helps.

#define FPGA_BANK_ADDR 0x64000000
 
__IO uint8_t value;
__IO uint8_t * volatile psramaddress = (__IO uint8_t volatile*)FPGA_BANK_ADDR+2;
while(1)
{
 *psramaddress = value++; 
 rd_2 = *psramaddress ; 
HAL_Delay(500);
}

Is there any idea ?

Thanks

    This topic has been closed for replies.
    Best answer by ranran

    Seems to be like we missed the transaction in scope , and only saw the first transaction for some reason (altough not in trigger mode).

    Becuase in software/code, we did have succeeded in continous all registers from fpga, which means that clock transaction, and CS must have toggled for each transaction.

    2 replies

    Tesla DeLorean
    Guru
    February 25, 2019

    Check caching, buffering and sharing setting for memory region and try changing MPU settings.​

    Tips, Buy me a coffee, or three.. PayPal Venmo (See Profile) Up vote any posts that you find helpful, it shows what's working..
    ranran
    ranranAuthorBest answer
    Senior
    March 1, 2019

    Seems to be like we missed the transaction in scope , and only saw the first transaction for some reason (altough not in trigger mode).

    Becuase in software/code, we did have succeeded in continous all registers from fpga, which means that clock transaction, and CS must have toggled for each transaction.