什么是“乒乓操作”?设用户可存储的Flash空间为8KB 把这 8KB 分成两块 4KB 的区域(A区 和 B区),轮流使用。就像打乒乓球一样,数据在 A 和 B 之间来回“切换”。 就是:用两块等大的 Flash 区域轮流存数据,一边写新数据,一边保留旧数据,提高可靠性和寿命。 具体是怎么工作的? 假设: A区:4KB B区:4KB 运行逻辑大致是: 当前数据存 A区 当需要更新数据时: 不直接覆盖 A区(因为 Flash 不能随便改) 而是把新数据写到 B区 写完后: 标记 B区为“最新有效数据” A区变成“旧数据” 下一次更新: 再写回 A区(擦除后) 两块区域继续来回切换 为什么要这么做? Flash 有几个特点: 1.不能直接覆盖写(必须先擦除) 2.擦除是按块(比如 4KB)进行 3.掉电时容易写一半导致数据损坏 “乒乓操作”的好处: 1. 防止数据损坏(掉电保护) 写新数据时,旧数据还在另一块里 → 写失败也不丢数据 2. 避免频繁擦写同一块(延长寿命) A / B 轮流用 → 平衡 Flash 擦写次数 3. 保证数据始终有一份是完整的 任何时刻至少有一块是“可用的” 为什么“有效只有 4KB”? 因为: 8KB 被分成两块 任意时刻只用其中一块存“有效数据” 另一块是备用 / 正在更新
共1条
1/1 1 跳转至页
双缓冲-兵乓操作
关键词: 双缓冲
共1条
1/1 1 跳转至页
回复
我要赚赏金打赏帖 |
|
|---|---|
| STM32C0116DK开发探索记(3)被打赏¥30元 | |
| STM32C0116DK开发探索记(2)被打赏¥24元 | |
| STM32C0116DK开发探索记(1)被打赏¥29元 | |
| 谨防极海G32M3101电机评估板易跌落的陷阱被打赏¥24元 | |
| 【全网首拆】M5STACK ATOM系列开发板拆解 / AtomS3R-CAM摄像头更换方法(提高10倍像素)被打赏¥26元 | |
| 基于MCP23S17的输入输出功能模块控制被打赏¥20元 | |
| 【S32K3XX】SPD 软件包使用Link文件修改被打赏¥22元 | |
| Switch-Case局部变量定义问题被打赏¥23元 | |
| 基于米尔TIAM62L开发板的串口通信及应用被打赏¥20元 | |
| PCF8574功能模块及其使用被打赏¥20元 | |
我要赚赏金
