当一块Flash芯片中的不同的扇区烧录了不同的程序,而我们只想擦除某个扇区的程序保留其他程序时,Flash的全擦除是不能满足要求的,这时候就需要扇区擦除来实现这一功能。扇区擦除可以对Flash芯片中的某一扇区进行擦除而不改变其他扇区中的存储数据,要擦除扇区的选择通过扇区擦除地址来表示。
1、实验目标
编写扇区擦除工程,擦除事先烧录到Flash中的某程序所占的某个扇区,使该程序不能正常工作。在此次实验工程,我们选择擦除第0个扇区,擦除地址为24’h00_04_25。
2、时序分析
扇区擦除(Sector Erase)操作,简称SE,操作指令为8’b1101_0000(D8h),具体见图 。
由数据手册中扇区擦除介绍部分可知,扇区擦除指令是将Flash芯片中的被选中扇区的所有存储单元设置为全1,在Flash芯片写入扇区擦出指令之前,需要先写入写使能(WREN)指令,将芯片设置为写使能锁存(WEL)状态;随后要拉低片选信号,写入扇区擦除指令、扇区地址、页地址和字节地址,在指令、地址写入过程 中,片选信号始终保持低电平,待指令、地址被芯片锁存后,将片选信号拉高;扇区擦除指令、地址被锁存并执行后,需要等待一个完整的扇区擦除周期(tSE),才能完成Flash芯片的扇区擦除操作。扇区擦除操作的详细介绍及时序图,具体见图
上文全擦除操作中我们提到,扇区擦除(SE)指令写入前必须先对Flash芯片写入写使能(WREN)指令。 结合写使能指令、扇区擦除指令的相关内容和操作时序,绘制完整扇区擦除操作时序图如图 。
3、程序设计
程序设计可参考作者全擦除文章https://blog.csdn.net/qq_52438147/article/details/142622093?spm=1001.2014.3001.5502
Flash扇区擦除模块波形图,具体见图 :
持续更新。。。。