nand flash的块擦除代码

[复制链接]
 楼主| xddzccn 发表于 2007-12-17 09:11 | 显示全部楼层 |阅读模式
 大家来看看这段代码   这里面的 addr是什么意思啊 
一直都搞不懂 addr是整个 flash的地址  ,还是行地址 
也就是块地址 谢谢!
static U32 NFEraseBlock(U32 addr)
{
    U8 stat;

    addr &= ~0x1f;
        
    NFChipEn();    
    NFWrCmd(ERASECMD0);        
    NFWrAddr(addr);
    NFWrAddr(addr>>8);
    if(NandAddr)
        NFWrAddr(addr>>16);
    NFWrCmd(ERASECMD1);        
    stat = NFWaitBusy();
    NFChipDs();
    
#ifdef    ER_BAD_BLK_TEST
    if(!((addr+0xe0)&0xff)) stat = 1;    //just for test bad block
#endif
    
    printf("Erase block 0x%08x %s ", addr, stat?"fail":"ok");
    
    return stat;
}
gouki_s 发表于 2007-12-17 13:40 | 显示全部楼层

不是很清楚吗?

addr &= ~0x1f
每block 128k
您需要登录后才可以回帖 登录 | 注册

本版积分规则

41

主题

550

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部

41

主题

550

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部