[发明专利]嵌入式系统FLASH参数存取方法有效
申请号: | 201310216884.X | 申请日: | 2013-05-31 |
公开(公告)号: | CN103336749A | 公开(公告)日: | 2013-10-02 |
发明(设计)人: | 彭涛;王勇;赵安;赵丽萍 | 申请(专利权)人: | 南京熊猫电子股份有限公司;南京熊猫通信科技有限公司 |
主分类号: | G06F13/16 | 分类号: | G06F13/16 |
代理公司: | 南京经纬专利商标代理有限公司 32200 | 代理人: | 朱小兵 |
地址: | 210002 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明提出了嵌入式系统FLASH参数存取方法,所述方法定义了FLASH参数的存储格式,提供了驱动程序初始化方法,以及驱动程序四个功能接口:读取指定关键字参数接口、读取全部参数接口、修改参数接口和保存参数接口。本发明方法针对FLASH芯片的数据存储的特点进行优化和设计,应用程序通过驱动程序可以实现对FLASH参数的高性能、高可靠性的存取操作,解决嵌入式系统软件的应用程序在参数存取的实际问题,大幅提升应用程序参数存取的性能和可靠性。 | ||
搜索关键词: | 嵌入式 系统 flash 参数 存取 方法 | ||
【主权项】:
嵌入式系统FLASH参数存取方法,其特征在于,所述方法包括FLASH参数的存储格式定义、驱动程序初始化和驱动程序功能接口;具体过程如下:A, 参数的存储格式定义:驱动程序使用FLASH芯片的两个扇区,每个扇区逻辑上划分为数据区和校验区两部分;数据区用于保存参数关键字及对应参数值,校验区用于保存数据区的校验值;B,驱动程序初始化流程;具体步骤如下:步骤B‑1,读取FLASH芯片中保存参数扇区的内容;步骤B‑2,计算数据区上有效内容的CRC32值和校验区最后CRC32值做比较,如果相同则认为参数存储正确,然后逐一从读取的内容中解析参数,并将参数的关键字计算散列值后,跳转到散列表的指定位置,再查找参数关键字,如果该参数关键字在散列表中已有,则用新的参数值替换散列表中原参数值;如果没有该参数关键字则添加该参数值;C,驱动程序功能接口:其提供四个接口给用户程序,分别为读取指定关键字参数接口、读取全部参数接口、修改参数接口和保存参数接口; C1,读取指定关键字参数接口,其步骤如下: C1‑1,应用程序通过接口传入关键字, C1‑2,计算关键字的散列值, C1‑3,跳转到在初始化生成的散列表对应位置,查找参数值, C1‑4,返回参数值结果给应用程序;C2,读取全部参数接口,其步骤如下:C2‑1,驱动程序遍历散列表,C2‑2,将散列表中全部参数值指针加入到一个数组中去,C2‑3,对C2‑2中的数组进行排序,C2‑3,排序结束后,将数组指向的参数逐一拷贝并返回给用户程序; C3,修改参数接口,其步骤如下: C3‑1,应用程序传入参数关键字及其参数值, C3‑2,驱动程序计算参数关键字散列值, C3‑3,根据C3‑2获得的参数关键字散列值,查找散列表,如果散列表中有该散列值表项,则用该参数关键字对应的参数值替换原有参数值;否则,如果散列表中没有该散列值表项,则增加新的参数值; C3‑4,修改或添加结束后,对刚修改或添加的参数值标记为已修改,该标记由保存参数接口使用; C4,保存参数接口,其具体步骤如下: C4‑1,驱动程序先将被标记为已修改的参数值从散列表中遍历出来; C4‑2,判断数据区的剩余空间是否足够保存这些被标记的参数值,如果足够,使用数据区修改前的CRC32值和当前即将修改的参数计算一个新的CRC32值,在剩余的数据区空间写入修改的参数值,在剩余的校验区空间写入新的CRC32值;如果空间不够,则使用全部获取参数接口获取全部参数,此时计算全部参数值占用空间是否大于数据区空间的大小,如果大于,返回错误,否则擦除全部扇区,重新写入参数值和CRC32值;重新写入成功后,驱动程序将所有被标记已修改的参数重新标记为未修改。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京熊猫电子股份有限公司;南京熊猫通信科技有限公司,未经南京熊猫电子股份有限公司;南京熊猫通信科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201310216884.X/,转载请声明来源钻瓜专利网。
- 上一篇:一种具有可调耦合孔的双模极化腔
- 下一篇:波导滤波器、其制备方法及通信设备