stm32 flash半页写入

stm32 flash half page writing

当我在stm32微控制器上执行从闪存到闪存的半页写入时,我需要一个RAM缓冲区来保存那些读取的值然后写入它们吗?我的意思是我有 2 个独立的闪存区域,我想将一些数据从第一个区域复制到第二个区域。我是否需要创建缓冲区并先读取半页然后写入它还是可以同时进行?

编辑: 我想执行闪存页面复制 - 将闪存中的一块内存复制到闪存中的不同地址

如果您需要将另一半数据保留在目标闪存页面中,那么您需要先读取它们,然后再擦除该页面并复制源页面的一半。然后你把临时存的数据再写回去
否则你可以只擦除页面并写入源页面的一半。
请注意,如果断电,您将丢失临时存储的数据。

答案是我需要先处理数据到temporal buffer,因为写入flash时,读取操作停滞,所以无法从不同的页面读取。