tail066 发表于 2022-6-12 21:23

FLASH的读写


flash的特性是,写数据只能将1写为0,0不能写为1。擦除数据是将所有数据都写为1。因此如果想在已经数据的flash上写⼊新的数据,则必须先擦除。


FLASH的块/扇区/页关系




常⽤FLASH擦写规则
      最⼩擦除单位:扇区
      可选择擦除单位:扇区、块、全⽚
      最⼤编程(写⼊)单位:页( 256 Byte),⼤于256 Byte则需要循环写⼊。
      Flash 写⼊数据时和 EEPROM 类似,不能跨页写⼊,⼀次最多写⼊⼀页,W25Q128的⼀页是 256 字节。写⼊数据⼀旦跨页,必须
      在写满上⼀页的时候,等待 Flash 将数据从缓存搬移到⾮易失区,重新再次往⾥写。
      最⼩编程(写⼊)单位:1 Byte,即⼀次可写⼊ 1~256 Byte的任意长度字节。
      未写⼊时FLASH⾥⾯的数据为全1,即0xFF。
      只能由 1 —> 0 写⼊,不能由 0 —> 1 写⼊,即如果已经写⼊过了,则需要先擦除(擦除后数据变为全1)再写⼊。

      ⽰例:0xF0(1111 0000),即⾼4位可写⼊,低4位不可写⼊。


热爱童话世界 发表于 2022-11-29 20:32

Flash还分为按字节写入,页写入等等呢

討厭和人归類 发表于 2022-11-29 21:04

其实flash还挺好用的,就是还得解锁啥的, 比较麻烦

极客晨星 发表于 2022-11-29 21:36

我一般都是喜欢用W25Q128,就比较简单,而且操作很容易

晚晚皆安 发表于 2022-11-29 22:08

写入数据之前,必须得解锁吧

可爱的白兔先生 发表于 2022-11-29 22:40

一般都是按页或者扇区写入的,就比较麻烦,写一个字节,就要动一片字节

情和欲 发表于 2022-11-29 23:12

你可以看看铁电这种,可以按照字节写入,挺有意思

喜爱弄人 发表于 2022-11-29 23:44

话说flash和eerom这种不一样是吧

风吻过你的不羁 发表于 2022-11-30 00:16

单片机内部的flash就这样,必须按页写入比较OK

銀河 发表于 2022-11-30 00:48

写入之前要将锁解开,然后写完再加锁,这样保护数据不丢失

偷吻月亮 发表于 2022-11-30 01:20

能按全片操作么?就拿W25Q128来说
页: [1]
查看完整版本: FLASH的读写