scorf_buaa
驱动牛犊
驱动牛犊
  • 注册日期2004-08-31
  • 最后登录2005-01-14
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:959回复:0

NAND FLASHG高级编程请教

楼主#
更多 发布于:2004-08-31 16:15
我在对NAND FLASH写入时写不进去,一次性写入528个字节,也就是一个page,下面是我的原代码,不知道那里有问题,请各位帮帮忙.

int _WrPage(unsigned int block,unsigned int page,U8 *pPage)  
{
    unsigned int blockPage=(block<<5)+page;
    int i;
    FC_CMD;
    rKM29UXDATA=0x80;
    
    FC_ADDR;
    rKM29UXDATA=0;
    rKM29UXDATA=blockPage&0xff;
    rKM29UXDATA=(blockPage>>8)&0xff;
    FC_DATA;

    for(i=0;i<528;i++){rKM29UXDATA=*pPage++;}

    FC_CMD;
    rKM29UXDATA=0x10;
    for(i=0;i<10;i++);  
  
   rKM29UXDATA=0x70;
    WAITRB; //wait max 500us;
    
    FC_DATA;
    for(i=0;i<3;i++);  //twhr=60ns
    if((rKM29UXDATA&0x1))
    {
FC_INACTIVE;
rSYSCFG=SYSCFG_8KB;
_PutString("broken");
        return 0;
    }
    else
    {
FC_INACTIVE;    
rSYSCFG=SYSCFG_8KB;
#if (WRITEVERIFY==1)
return _VerifyPage(block,page,pPage);
#else
return 1;
#endif
    }

}
游客

返回顶部