Flash 存储器的擦除必须是以1KB 为单位对齐的地址并指定哪一区块被擦除,或者全部擦除。也就是说以区块是flash 擦除的单位。
●执行 1-KB 页的擦除
执行 1KB 页的擦除步骤如下:
(1) 将页地址写入FMA 寄存器
(2) 将Flash 写入匙码(flash write key)写入FMC 寄存器,并将ERASE 位置位(写入0xA4420002)。
(3) 查询FMC 寄存器直至ERASE 位被清零。
如图 3 所示:

图3 执行1KB 页的擦除步骤示意图
实例程序如程序清单 1 所示:
程序清单 1

●执行 Flash 的完全擦除
执行完全擦除的步骤如下:
(1) 将Flash 写入匙码(flash write key)写入FMC 寄存器,并将MERASE 位置位(写入0xA4420004)。
(2) 查询FMC 寄存器直至MERASE 位被清零。
如图 4 所示:

图4 执行完全擦除的步骤示意图
实例程序如程序清单 2 所示:
程序清单 2

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。