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

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

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

  1. 提高时钟频率。

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

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

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

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

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

相关推荐
sheepwjl27 分钟前
《嵌入式硬件(七):使用IMX6ULL所需环境以及编译方法》
单片机·嵌入式硬件·环境·.s编译
PAK向日葵3 小时前
【C/C++】面试官:手写一个memmove,要求性能尽可能高
c语言·c++·面试
siy23334 小时前
[c语言日记] 数组的一种死法和两种用法
c语言·开发语言·笔记·学习·链表
gmmi5 小时前
嵌入式学习 51单片机(2)
stm32·单片机·嵌入式硬件
清风6666666 小时前
基于STM32单片机的无线鼠标设计
stm32·单片机·计算机外设·毕业设计·课程设计
rit84324997 小时前
基于灰狼算法(GWO)优化支持向量回归机(SVR)参数C和γ的实现
c语言·算法·回归
饭碗的彼岸one7 小时前
C++设计模式之单例模式
c语言·开发语言·c++·单例模式·设计模式·饿汉模式·懒汉模式
hope_wisdom8 小时前
C/C++数据结构之栈基础
c语言·数据结构·c++··stack
hazy1k9 小时前
STM32H750 I2C介绍及应用
stm32·单片机·嵌入式硬件
劲镝丶9 小时前
malloc概述
c语言·开发语言·c++