Dear Sir,


I want to read a Flag in SDRAM setted by HPI-host.
Followign is the code:

  #define Flag  *( volatile int* ) 0xC0000000;

  Flag = 0;   //clear the Flag to 0
  //read the Flag
  while( Flag == 0 )   //wait until Flag to be set
  {
    BCACHE_inv( (void *)Flag, 4, 1 ); // invalidate the Flag;   
  }

If I don't enable L1D_Cache, the program is OK. When I configed L1D_Cache and set the SDRAM  cacheable through BIOS Configuration, the progrom stalled here.

Why BCACHE_inv( ) dosen't work?


    Waiting for your replies,

Thank you!!

Best Regards,

Wiky