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

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

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

  1. 提高时钟频率。

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

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

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

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

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

相关推荐
東隅已逝,桑榆非晚17 小时前
新手入门指南:认识 C 语言文件操作(上)
c语言·开发语言·笔记
社交怪人18 小时前
【A×B】信息学奥赛一本通C语言解法(题号1036)
c语言
LCG元19 小时前
STM32实战:基于STM32F103的智能衣柜(除湿+防霉+照明)
stm32·单片机·嵌入式硬件
Eric 辰东19 小时前
【C 语言程序的编译和链接】详解编译链接过程
c语言·笔记·算法·学习方法
星恒随风19 小时前
C语言数据结构排序算法详解(上):从插入排序、希尔排序到选择排序、堆排序
c语言·数据结构·笔记·学习·排序算法
0南城逆流019 小时前
【STM32】RTT-Studio中HAL库开发教程十三:MSH串口组件
stm32·单片机·嵌入式硬件
SoftLipaRZC19 小时前
C语言数据在内存中的存储:整型与浮点型的秘密
c语言·开发语言
子朔不言19 小时前
MH2030B 一个输入IO失效故障分析(stm32F030系列有类似问题)
单片机·嵌入式硬件·mh2030b
社交怪人19 小时前
【2的幂】信息学奥赛一本通C语言解法(题号1037)
c语言
LCG元19 小时前
STM32实战:基于STM32F103的智能饮水机(温度控制+流量计费)
stm32·单片机·嵌入式硬件