
流程图和pseudocodes
图22.擦除挂起和恢复流程图和伪代码
开始
M58LRxxxKC , M58LRxxxKD
写B0H
erase_suspend_command (){
writeToFlash ( bank_address , 0xB0)并;
writeToFlash ( bank_address , 0x70 ) ;
/ *读状态寄存器来检查
清除已完成* /
写70H
阅读状态
注册
DO -
status_register = readFlash ( bank_address ) ;
/ * E或G必须切换* /
SR7 = 1
是的
SR6 = 1
NO
}而( status_register.SR7 == 0 ) ;
NO
抹掉完成
如果( status_register.SR6 == 0 ) / *擦除完成* /
{ writeToFlash ( bank_address ,为0xFF ) ;
写FFH
读数据
是的
写FFH
其他
}
的read_data ( ) ;
/ *该设备返回到读阵列
(好像编程/擦除暂停并没有印发) 。 * /
{ writeToFlash ( bank_address ,为0xFF ) ;
read_program_data ();
/ *从另一个块*读取或程序数据/
从另一个块读取数据
or
节目
or
块锁定/解锁/锁定下
or
设置配置寄存器
writeToFlash ( bank_address , 0xD0 ) ;
/ *写入0xD0恢复擦除* /
writeToFlash ( bank_address , 0x70 ) ;
/ *读状态寄存器,以检查是否擦除已完成* /
}
}
写D0H
写70H
(1)
擦除继续
银行在读状态
注册模式
AI10116c
1.读状态寄存器命令(写70H )可之前或之后的恢复擦除命令发出。
94/108