当前位置:   article > 正文

为什么写flash时,要先擦除。_gd32 写flash之前为什么要擦除

gd32 写flash之前为什么要擦除

Flash存储器的写操作原理决定了它需要先擦除后才能写入数据。
这是因为,Flash存储器的存储单元是浮动栅极晶体管,每一个存储单元只能由1变0,无法由0变1。原因是,当电子被注入浮动栅后,栅极上的电荷就固定了,无法再次吸电子。

而擦除操作是将一整块存储段的所有单元恢复到1的状态。那么之后,无论写入什么数据,都能由1变0,实现数据的写入。如果不先擦除,当需要由0变1的 bit 出现时,就无法完成写入操作,从而导致写入失败。

也就是说,Flash的写入操作分两步:

  1. 擦除:将目标存储段全部设置为1,为后续数据写入做准备。
  2. 写入:将1变0,根据需要写入的数据,选择性地由1变0。

总结:Flash需要先擦除后才能写入新的数据,这是由Flash存储单元的物理结构和写入机制决定的。Flash的每一个存储单元只能由1变0,无法由0变1。所以,需要先将目标存储段全部设为1(擦除),然后选择性地由1变0(写入),才能实现数据的修改或更新。如果我们需要更新已经写入Flash的某些内容,也同样需要先擦除目标存储段,然后重新写入整段数据。

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/429218
推荐阅读
相关标签
  

闽ICP备14008679号