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

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

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

  1. 提高时钟频率。

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

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

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

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

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

相关推荐
百里与司空1 小时前
STM32——看门狗通俗解析
stm32·单片机·嵌入式硬件·门控循环单元
格林威2 小时前
Baumer工业相机堡盟工业相机如何通过BGAPISDK使用短曝光功能(曝光可设置1微秒)(C语言)
c语言·开发语言·人工智能·数码相机·计算机视觉
结衣结衣.2 小时前
Linux——进程状态
linux·运维·服务器·c语言·笔记·学习
格林威3 小时前
Baumer工业相机堡盟工业相机如何通过BGAPI SDK设置相机的图像剪切(ROI)功能(C语言)
c语言·开发语言·人工智能·数码相机·计算机视觉
少杰是小白3 小时前
计算机二级自学笔记(程序题1部分)
c语言·笔记
python_use6 小时前
充电管理芯片
单片机·嵌入式硬件
wheeldown6 小时前
【C语言】(指针系列3)数组指针+函数指针+typedef+函数数组指针+转移表
c语言·数据结构·算法
小比卡丘7 小时前
C语言进阶版第8课—指针(2)
c语言·开发语言·算法
fhvyxyci7 小时前
【数据结构初阶】队列接口实现及用队列实现栈超详解
c语言·数据结构