你好,
我需要在flash里面存储数据,但目前无法正确写flash,flash挂在CE1。DSP core时钟是200M,EMIF工作在40M,能正确读写SDRAM,CE1配置如下,配置的保持时间,建立时间和读写脉冲宽度均满足flash芯片的要求。请问可能是什么原因?
EMIF_FMKS(CECTL, WRSETUP, OF(4)) |
EMIF_FMKS(CECTL, WRSTRB, OF(3)) |
EMIF_FMKS(CECTL, WRHLD, OF(3)) |
EMIF_FMKS(CECTL, RDSETUP, OF(4)) |
EMIF_FMKS(CECTL, TA, OF(2)) |
EMIF_FMKS(CECTL, RDSTRB, OF(3)) |
EMIF_FMKS(CECTL, MTYPE, ASYNC16) |
EMIF_FMKS(CECTL, RDHLD, OF(3)),
void Flash_Writes(Uint32 addr,Uint16 data)
{
//Uint16 TempData=0;
*FLASH_555 = FLASH_UL1;
PLLdelay(1000);
*FLASH_2AA = FLASH_UL2;
PLLdelay(1000);
*FLASH_555 = FLASH_PROGRAM;
PLLdelay(1000);
//for(;;)
//{
*(Uint16 *)addr = data;
//TempData = *(Uint16 *)(addr);
//}
//TempData = *(Uint16 *)(addr);
while(*(Uint16 *)addr != data);//卡在此处
}
static void PLLdelay(int Count)
{
volatile int i = Count;
while(i--);
}




