世俱杯 2025

登录 免费注册 世俱杯 2025 | 行业黑名单 | 帮助
维库电子市场网
技术交流 | 电路欣赏 | 工控天地 | 数字广电 | 通信技术 | 电源技术 | 测控之家 | EMC技术 | ARM技术 | EDA技术 | PCB技术 | 嵌入式系统
驱动编程 | 集成电路 | 器件替换 | 模拟技术 | 新手园地 | 单 片 机 | DSP技术 | MCU技术 | IC 设计 | IC 产业 | CAN-bus/DeviceNe

大家帮个忙,关于擦除flash的

作者:黑驴王子 栏目:嵌入式系统
大家帮个忙,关于擦除FLASH
我在看arm上K9F1208U0M FLASH的程序,在擦除部分有个东西搞了好久也不懂,请高手指教:
static U32 EraseBlock(U32 addr)//擦除,整个过程遵循流程图
{
    U8 stat;

    addr &= ~0x1f;
        
    NFChipEn();    
    WrNFCmd(ERASECMD0);        
    
        WrNFAddr(addr);
    WrNFAddr(addr>>8);
    if(NandAddr)
        WrNFAddr(addr>>16);//??????    

        WrNFCmd(ERASECMD1);        
    stat = WaitNFBusy();
    NFChipDs();
    
#ifdef    ER_BAD_BLK_TEST
    if(!((addr+0xe0)&0xff)) stat = 1;    //just for TEST bad block
#endif
    
    
    putch('.');




    return stat;
}

写地址的时候为什么先写addr,然后再写addr左移8位,还有后面左移16位,这样不是把前面的地址都改掉了吗?

参与讨论
昵称:
讨论内容:
 
 
相关帖子
移植UC/OS,调用OSTimeDly后不能任务调度,急!急!急!
UCOS的2个教训
UCOSII怎么可以在内存里运行?
请问在哪儿能找到39vf160的数据手册啊?
谁有USOSII在44B0下的版本?


Copyright © 1998-2006 tgdrjb.cn 浙ICP证030469号