系统参数在flash中的存储方法

文档序号:6597124阅读:619来源:国知局
专利名称:系统参数在flash中的存储方法
技术领域
本发明涉及参数的存储技术领域,尤其涉及系统参数在FLASH中的存储方法。

背景技术
目前所生产的碟机、卫星接收机等系统中都是使用EEPROM(电可擦写可编程只读存储器)来保存用户修改设定的系统参数,可以使用户的操作大大简化,也极富人性化。但是随着这些机器本身功能的不断增强,需要保存的参数也越来越多,对EEPROM的容量要求也在不断攀升,有的已高达8K、16K,这样就使得整机的成本增加不少。因此,我们可以将系统参数存储在FLASH中,这样就可省去EEPROM,降低成本。但是系统参数在FLASH中的存储并不能像在EEPROM中存储那样可以直接对任意地址进行读写修改,就需要我们能够提出一种系统参数在FLASH中的存储方法。


发明内容
本发明所要解决的技术问题是针对现有技术的不足,提出一种系统参数在FLASH中的存储方法。
本发明解决上述技术问题采用的技术方案是系统参数在FLASH中的存储方法,包括以下步骤 a.在FLASH中划分扇区用于存储系统参数; b.在内存中分配存储系统参数所需的空间,作为一个临时buffer; c.将FLASH中存储的系统参数读取到所述临时buffer中; d.用户在临时buffer中对系统参数进行设定修改; e.对FLASH中存储系统参数的扇区进行擦除; f.将临时buffer中的经过修改后的系统参数存储于FLASH中经过擦除后的扇区。
本发明的有益效果是能够省去EEPROM器件,降低了成本。

具体实施例方式 下面结合实施例对本发明作进一步的描述。
本发明突破了现有技术对系统参数的存储惯例,即将存储于EEPROM中的系统参数保存于FLASH(闪存)中,这样就可以省去整机中的EEPROM,降低了成本,提高产品的市场竞争力 EEPROM的存取方式相对于FLASH来说,EEPROM可以直接对任意地址进行读写,而在将参数存入FLASH之前必须使扇区为空,则需对FLASH进行擦除处理。所以为了使原有的参数不丢失,在擦除扇区之前需从FLASH将参数读到临时buffer(高速缓冲存储器)中。
实施例 本例采用如下方式实现对系统参数的存储a.在FLASH中划分扇区用于存储系统参数,可以适当划分一到二个扇区用于存储系统参数;b.在内存中分配存储系统参数所需的空间,作为一个临时buffer;c.将FLASH中存储的系统参数读取到所述临时buffer中;d.用户在临时buffer中对系统参数进行设定修改;e.利用软件算法对FLASH中存储系统参数的扇区进行擦除;f.通过编程指令将临时buffer中的经过修改后的系统参数存储于FLASH中经过擦除后的扇区。这样就完成了对系统参数的存储。
本例中对FLASH中存储系统参数的扇区进行擦除可按如下步骤执行第一步向FLASH写芯片擦除命令序列,地址0x555写0Xaa、地址0x2AA写0x55、地址0x555写0x80、地址0x555写0xAA、地址0x2AA写0x55,地址0x555写0x10;为确保写芯片擦除命令的成功性,系统需禁止中断,当最后一个芯片擦除命令写完后再重新打开中断; 第二步控制器在FLASH的地址输入口设定一有效地址,且该地址必须为非保护扇区地址,从I/O0口至I/O7口接收数据给变量Toggle1; 第三步在同一地址处读数据给变量Toggle2,异或Toggle2、Toggle1两变量,并判断异或结果是否为0;如为0表明擦除完成;如为1则转到第一步处理; 第四步根据I/O5口的状态是否为1来判断擦除时间是否超时,如果I/O5口为0则跳转到第三步;如果I/O5口为1,表示擦除超时,则进入第五步处理; 第五步从同一地址处读两次数据分别给变量Toggle1,Toggle2;Toggle2等于变量Toggle1,Toggle2的异或;判断Toggle2是否为0来判断擦除是否完成?如果为0表明擦除完成;如果为1则擦除失败。
对FLASH中存储系统参数的扇区进行擦除后,需要利用编程指令将临时buffer中的数据存储于FLASH中经过擦除后的扇区 第一步向FLASH写芯片编程命令序列,地址0x555写0xAA、地址0x2AA写0x55、地址0x555写0xA0、向要编程的地址写编程数据data; 第二步控制器在FLASH的地址输入口设定刚编程的地址,从I/O0口至I/O7口接收数据,判断I/O7口的数据与0x80进行逻辑与运算的结果是否等于0?如果不等于0则转到第三步处理,如果等于0则转到第四步处理; 第三步根据I/O5口的状态是否为1来判定编程时间是否超时?如果I/O5口为0跳转到第二步;如果I/O5口为1,编程超时,转到第五步处理; 第四步判断地址是否到芯片最后地址?如果到最后地址,芯片编程结束;如果未到芯片最后地址,地址加1后转第一步; 第五步控制器在FLASH的地址输入口设定刚编程的地址,从I/O0口至I/O7口接收数据,判断I/O7口数据与0x80进行逻辑与运算的结果是否等于0?如果不等于0表明编程失败;如果等于0则转到第四步处理。
权利要求
1.系统参数在FLASH中的存储方法,其特征在于包括以下步骤
a.在FLASH中划分扇区用于存储系统参数;
b.在内存中分配存储系统参数所需的空间,作为一个临时buffer;
c.将FLASH中存储的系统参数读取到所述临时buffer中;
d.用户在临时buffer中对系统参数进行设定修改;
e.对FLASH中存储系统参数的扇区进行擦除;
f.将临时buffer中的经过修改后的系统参数存储于FLASH中经过擦除后的扇区。
全文摘要
本发明涉及参数的存储技术领域,尤其涉及系统参数在FLASH中的存储方法。本发明提出了一种系统参数的新型存储方法。其技术方案的要点是a.在FLASH中划分扇区用于存储系统参数;b.在内存中分配存储系统参数所需的空间,作为一个临时buffer;c.将FLASH中存储的系统参数读取到所述临时buffer中;d.用户在临时buffer中对系统参数进行设定修改;e.对FLASH中存储系统参数的扇区进行擦除;f.将临时buffer中的经过修改后的系统参数存储于FLASH中经过擦除后的扇区。本发明省去了EEPROM器件,降低了成本,适用于碟机、卫星接收机等。
文档编号G06F12/02GK101354680SQ20081030430
公开日2009年1月28日 申请日期2008年8月29日 优先权日2008年8月29日
发明者李前富 申请人:四川长虹电器股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1