新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 提高MSP430G单片机的Flash擦写寿命的方法

提高MSP430G单片机的Flash擦写寿命的方法

作者:时间:2014-01-14来源:网络收藏

Void ChkFstPowerOnInfo(void);

Write()用于写,传递的形参包括指向待写入数据的指针,待写入数据在子页中的起始字节编号,写入数据的长度,原型如下。

void Write( u8 *array, u8 startNum, u8 length );

• FlashErase()用于擦除Flash,传递的形参是子页的编号,在擦除函数中需要根据子页的编号判断是否需要执行页的擦除操作,原型如下。

void FlashErase(u8 seg_sn);

2.2.2 软件流程图

软件启动后,初始化模拟EEPROM流程图描述如下。提高MSP430G单片机的Flash擦写寿命的方法

调用API,向模拟EEPROM 写入数据的软件流程如图五所示。在软件处理中,要特别注意目标指针的切换和保证写入数据的正确性,在代码空间允许的情况下,可以增加一些校验算法来保证。提高MSP430G单片机的Flash擦写寿命的方法

采用划分子页的方案总结如下。

• 每次写入模拟EEPROM的数据长度为定长,即为子页的长度。

• 软件需要定义一个存储变量结构体,用于刷新和同步模拟EEPROM内容。在将数据写入模拟EEPROM之前,程序员需要按照约定的数据格式,在内存中将所有的目标存储变量进行整理。

• 在软件处理上,需要计算当前写入和下一次写入的物理地址;在每一次执行写入操作后,根据子页长度大小,将指向子页的目的操作指针自动累加。

• 待一个页(Page)写满后,需要将最后更新的模拟EEPROM数据拷贝到下一个页,再对写满页执行一次擦除操作。

• 在嵌入式软件处理上需加入合适的校验机制,保证写入数据的正确性并监测用于模拟EEPROM功能的Flash 子页是否已经失效。

2.3 两种方案的对比分析

两种方案的对比分析见表二。

表二 两种方案的对比分析

提高MSP430G单片机的Flash擦写寿命的方法


上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭