缩短单片机内的Flash的擦写时间

查看单片机(HC32F448)的数据手册得到块擦除时间为18+4Thclk (ms)。

一般数据存储都是将1改为0的情况,无法从0改为1,所以需要先擦除然后存储数值。如何缩短Flash的擦写时间?

  1. 提高时钟频率。

  2. 软件算法优化。主要是减少擦除次数。

2.1预擦除:在写入数据之前,提前执行擦除操作。这样,当实际写入数据时,Flash已经处于待写状态,从而减少了写入操作的时间。(程序初始化时可以先块擦除)

2.2**空间换时间。**利用相对多的代码空间来换取相对多的存储次数。

单片机的区域有8K的一页,一次写入16个字节,那么可以写入8192/16=512次。等到存储完成一个区域,再次写入一次时,则需要擦除。不仅减少了擦写时间,而且增加了flash寿命。

注意:要找到这个写入的字节已经存储到一页flash的哪个存储区域。

相关推荐
云山工作室3 小时前
基于单片机的智能电表
单片机·毕业设计·毕设
晨晖23 小时前
简单排序c语言版
c语言·开发语言
逐梦之程5 小时前
STM32的串口通讯--DMA接收和CPU接收不定长数据帧对比
stm32·单片机·嵌入式硬件
文弱书生6565 小时前
2-electronbot主控免驱工程结构
linux·单片机·嵌入式硬件
求知喻5 小时前
LCD真值表
单片机·嵌入式硬件
铜豌豆_Y6 小时前
【实用】GDB调试保姆级教程|常用操作|附笔记
linux·c语言·驱动开发·笔记·嵌入式
csg11076 小时前
高效驱动,灵活控制:深度解析RZ7899大电流DC双向马达驱动芯片及其创新应用
单片机·嵌入式硬件·物联网
心疼你的一切6 小时前
三菱FX5U PLC与C#通信开发指南
开发语言·单片机·c#
superman超哥8 小时前
仓颉锁竞争优化深度解析
c语言·开发语言·c++·python·仓颉
JSMSEMI118 小时前
JSM9N20C 200V N 沟道 MOSFET
单片机·嵌入式硬件