在软件处理中,当成功保存Flash 数据后,再写入该子页的状态标志。单片机上电后,用户程序将查找最后一次写入的子页,再将该子页的数据内容并恢复到内存中的数据结构中。
4. 系统可靠性设计
4.1 时钟源的选择
由于驱动Flash 的时钟源(ACLK、MCLK、SMCLK)和时钟频率可以设定,为了保证在将数据写入模拟EEPROM时的可靠性,建议在将Flash 的时钟频率降低后,再对其进行操作。例如将Flash 的时钟频率降低到1MHz 后,进行写入操作。需要注意,在降低了时钟频率后,若此时钟源也是定时器(Timer)的时钟源,则可能会影响到定时器的定时准确性,需要软件上做好处理。
4.2 代码在RAM中运行
由于向Flash 写入数据操作是通过执行Flash 中程序代码,对Flash 进行擦除和编程操作。由于对Flash 的编程需要mcu 内部执行一个升压操作,所以如果有足够的内存空间,建议将编程、擦除等关键代码拷贝到RAM中运行,可以使用关键字__ramfunc 指定,如下图七所示。
图七 使用关键字__ramfunc 将程序指定到Ram 中运行 5. 总结
本文从软件方面,以及安全性方面探讨了使用MSP430G 系列单片机在使用Flash 模拟EEPROM方面的应用,提供了两种不同的方式供选择。两种方式都可以大幅度提高模拟EEPROM的编写、擦除寿命,并且满足高可靠性的应用设计,用户可以结合具体的应用进行选择。
|