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.

C6713读写flash



你好,

我需要在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--);
}