CN102147745A - 一种系统数据初始化的方法 - Google Patents

一种系统数据初始化的方法 Download PDF

Info

Publication number
CN102147745A
CN102147745A CN2011101351266A CN201110135126A CN102147745A CN 102147745 A CN102147745 A CN 102147745A CN 2011101351266 A CN2011101351266 A CN 2011101351266A CN 201110135126 A CN201110135126 A CN 201110135126A CN 102147745 A CN102147745 A CN 102147745A
Authority
CN
China
Prior art keywords
checksum
system software
program code
verification
software
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2011101351266A
Other languages
English (en)
Other versions
CN102147745B (zh
Inventor
李忠杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Shiyuan Electronics Thecnology Co Ltd
Original Assignee
Guangzhou Shiyuan Electronics Thecnology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangzhou Shiyuan Electronics Thecnology Co Ltd filed Critical Guangzhou Shiyuan Electronics Thecnology Co Ltd
Priority to CN201110135126.6A priority Critical patent/CN102147745B/zh
Publication of CN102147745A publication Critical patent/CN102147745A/zh
Application granted granted Critical
Publication of CN102147745B publication Critical patent/CN102147745B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • Stored Programmes (AREA)

Abstract

本发明实施例公开了一种系统数据初始化的方法,包括在系统内部存储器中预先存储系统软件的程序代码的校验和CHECKSUM;在系统软件设计阶段,在仅包含程序代码的系统软件中加入所述系统软件的CHECKSUM;在所述系统软件加载入系统后的上电阶段,判断所述系统内部存储器中存储的所述系统软件的程序代码的CHECKSUM和所述系统软件中所记录的CHECKSUM是否相同;如果判断为是,保留所述系统内部存储器中存储的CHECKSUM;如果判断为否,将所述系统内部存储器中存储的CHECKSUM替换为所述系统软件中记录CHECKSUM,并根据系统软件自动对系统数据执行初始化。实施本发明实施例,可由系统替代人工完成系统数据初始化,避免了系统数据错误,提高了系统可靠性。

Description

一种系统数据初始化的方法
技术领域
本发明涉及电子领域,尤其一种系统数据初始化的方法。
背景技术
在液晶电视领域,系统软件由于功能、需求、修订补丁等原因重复升级的概率比较大。升级后,为了保证EEPROM或FLASH 中保存的数据正确,需要执行系统数据初始化的操作。然而,目前在液晶电视生产领域,采用在工厂生产线上加一个工位,通过人工操作的方式执行系统数据初始化。这个做法费时、费力,而且还可能存在部分机器在生产线上漏了执行数据初始化操作而造成EEPROM、FLASH数据错误、个别机器工作异常的情况。
发明内容
本发明解决的问题在于,提供一种系统数据初始化的方法,可由系统替代人工完成系统数据初始化,避免了系统数据错误,提高了系统可靠性。
具体的,本发明实施例提供的系统数据初始化的方法,包括:
在系统内部存储器中预先存储系统软件的程序代码校验和CHECKSUM;
在系统软件设计阶段,在仅包含程序代码的系统软件中加入所述系统软件的程序代码的校验和CHECKSUM;
在所述系统软件加载入系统后的上电阶段,判断所述系统内部存储器中存储的所述系统软件的程序代码的校验和CHECKSUM和所述系统软件中所记录的校验和CHECKSUM是否相同;
如果判断为是,保留所述系统内部存储器中存储的所述系统软件的程序代码的校验和CHECKSUM;
如果判断为否,将所述系统内部存储器中存储的校验和CHECKSUM替换为所述系统软件中记录的校验和CHECKSUM,并根据系统软件自动对系统数据执行初始化。
较佳的,所述在系统软件设计阶段,在仅包含程序代码的系统软件中加入所述系统软件的程序代码的校验和CHECKSUM,具体包括:
在系统软件设计阶段,通过一执行脚本统计所述仅包含有程序代码的系统软件的程序代码的校验和CHECKSUM;
在所述仅包含程序代码的系统软件中加入所述系统软件的程序代码的校验和CHECKSUM。
较佳的,
当所述系统为linux系统时,所述执行脚本为Python;
当所述系统为windows系统时,所述执行脚本为vbscript。
较佳的,所述在系统软件设计阶段,通过一执行脚本统计所述仅包含有程序代码的系统软件的程序代码的校验和CHECKSUM,具体包括:
在系统软件的设计阶段,将仅包含有程序代码的系统软件的程序代码进行累加,得到代码累加值val01;
基于所述代码累加值val01计算得到所述程序代码的校验和CHECKSUM,计算公式如下:
CHECKSUM=0x10000-(val01%0x10000),其中,0x10000为一系统内存地址。
较佳的,所述系统软件为液晶电视系统软件。
较佳的,所系统内部存储器为EEPROM和FLASH任一种。
实施本发明实施例,具有如下有益效果:
本发明实施例在系统软件加载到系统内部之前,在系统内部的存储器中预先存储所述系统软件的程序代码校验和CHECKSUM;在系统软件设计阶段,实时根据软件的代码数计算所述程序代码的校验和CHECKSUM,在此基础上,当系统软件被加载入系统后,系统判断其内部存储的CHECKSUM和系统软件带有的CHECKSUM是否相同,当不同的时候将所述系统内部存储器中存储的校验和CHECKSUM替换为所述系统软件文件中记录的校验和CHECKSUM,并根据系统软件自动对系统数据执行初始化,以此完成系统数据的初始化。本发明由于在程序设计阶段实时统计所述程序代码的CHECKSUM,那么程序代码发生的任何修改,系统文件中的CHECKSUM都会跟着发生变化,所以系统文件中的CHECKSUM实时反应了程序是否发生更新,基于更新后的系统文件中的CHECKSUM替换系统内存储器中的CHECKSUM当然数据准确,因此,采用本发明之后,避免了系统数据错误,提高了系统的可靠性。
附图说明
图1是本发明的系统数据初始化的方法的一实施例流程示意图。
图2是本发明的系统数据初始化方法应用在液晶电视领域的流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
图1是本发明的系统数据初始化的方法的一实施例流程示意图。如图1所示,本发明的系统数据初始化的方法包括:
步骤S110,在系统内部存储器中预先存储系统软件的程序代码校验和CHECKSUM。具体实现中,所述系统内部存储器可为EEPROM和FLASH任一种。具体实现中,步骤S110可发生在系统软件首次设计之前,或者是系统软件发生修改之前(比如升级之前)。
步骤S111,在系统软件设计阶段,在仅包含程序代码的系统软件中加入所述系统软件的程序代码的校验和CHECKSUM。具体实现中,步骤S111具体可包括:在系统软件设计阶段,通过一执行脚本统计所述仅包含有程序代码的系统软件的程序代码的校验和CHECKSUM;在所述仅包含程序代码的系统软件中加入所述系统软件的程序代码的校验和CHECKSUM。当所述系统为linux系统时,所述执行脚本为Python;当所述系统为windows系统时,所述执行脚本为vbscript。所述程序代码校验和CHECKSUM的获得具体采用如下方式:在系统软件的设计阶段,将仅包含有程序代码的系统软件的程序代码进行累加,得到代码累加值val01;基于所述代码累加值val01计算得到所述程序代码的校验和CHECKSUM,计算公式如下:CHECKSUM=0x10000-(val01%0x10000),其中,0x10000为一系统内存地址。比如,将仅包含有程序代码的系统软件命名为fw01,将fw01的程序代码进行累加后得到数值val01,而CHECKSUM=0x10000-(val01%0x10000)。当计算出CHECKSUM后,生成一个新系统软件,命名为fw02,将fw01中的程序代码全部写入fw02中,并且在fw02的后端或其他位置的某个地址写入为fw01计算的CHECKSUM,以在实现在仅包含程序代码的fw01中加入了为fw01计算的CHECKSUM。由于fw01中程序代码做的任何修改后,根据其计算的CHECKSUM均会随着发生变化,因此,本发明使用CHECKSUM来监控系统软件是否发生修改非常可靠。
步骤S112,在所述系统软件加载入系统后的上电阶段,判断所述系统内部存储器中存储的所述系统软件的程序代码的校验和CHECKSUM和所述系统软件文件中所记录的校验和CHECKSUM是否相同,如果判断为是,执行步骤S113;如果判断为否,执行步骤S114。
步骤S113,保留所述系统内部存储器中存储的所述系统软件的程序代码的校验和CHECKSUM。此时表示,系统软件较系统内记录的状态未发生变化,比如未被升级或修改。
步骤S114,将所述系统内部存储器中存储的校验和CHECKSUM替换为所述系统软件文件中记录的校验和CHECKSUM,并根据系统软件自动对系统数据执行初始化。此时表示,系统软件交系统内记录的状态已经发生变化,比如已经被修改或者进行了升级。此时系统数据就需要根据系统软件的变化进行适应性的变化,比如,将存储升级前软件的存储器中的数据进行清零,以防止系统数据出错,提高系统的可靠性。
比如,具体实现中,在EEPROM或FLASH的地址adr02中存储有系统软件的程序代码校验和CHECKSUM。则在步骤S112对系统上电后,比较所述adr02中存储的CHECKSUM与系统软件中存储的CHECKSUM是否相同,如果相同,则不对EEPROM或FLASH的地址adr02中存储的CHECKSUM进行修改,如果不同,则将系统软件中存储的CHECKSUM写入EEPROM或FLASH的地址adr02中,以对EEPROM或FLASH中存储的CHECKSUM进行更新,并将EEPROM中与系统软件升级前相关的数据进行清零,已完成EEPROM的初始化,保证系统数据的准确性。
具体实现中,本发明的系统数据初始化的方法可用于液晶电视领域,下面结合液晶电视的上电过程对发明实施例进一步进行说明。具体参考图2所示,在图2中已经预先在液晶电视的EEPROM或FLASH中存储了液晶电视系统软件的CHECKSUM。因此,在步骤S210当给液晶电视供电后,在步骤S211系统会开始启动,当系统启动后,在步骤S212时,系统会读取加载的系统软件中的CHECKSUM,并将所述CHECKSUM与系统的EEPROM或FLASH中存储的液晶电视系统软件的CHECKSUM进行比较,当二者相同时,进入步骤S214,液晶电视系统自动进入待机状态,而当二者不同时,进入步骤S213,电视系统采用加载的系统软件中的CHECKSUM替换EEPROM或FLASH中存储的CHECKSUM,并完成系统数据的初始化,然后进入步骤S214,电视系统自动进入待机状态。
由前面的实施例可知:本发明实施例在系统软件加载到系统内部之前,在系统内部的存储器中预先存储所述系统软件的程序代码校验和CHECKSUM;在系统软件设计阶段,实时根据软件的代码数计算所述程序代码的校验和CHECKSUM,在此基础上,当系统软件被加载入系统后,系统判断其内部存储的CHECKSUM和系统软件带有的CHECKSUM是否相同,当不同的时候将所述系统内部存储器中存储的校验和CHECKSUM替换为所述系统软件文件中记录的校验和CHECKSUM,以此完成系统数据的初始化。本发明由于在程序设计阶段实时统计所述程序代码的CHECKSUM,那么程序代码发生的任何修改,系统文件中的CHECKSUM都会跟着发生变化,所以系统文件中的CHECKSUM实时反应了程序是否发生更新,基于更新后的系统文件中的CHECKSUM替换系统内存储器中的CHECKSUM当然数据准确,因此,采用本发明之后,避免了系统数据错误,提高了系统的可靠性。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

Claims (6)

1.一种系统数据初始化的方法,其特征在于,包括:
在系统内部存储器中预先存储系统软件的程序代码的校验和CHECKSUM;
在系统软件设计阶段,在仅包含程序代码的系统软件中加入所述系统软件的程序代码的校验和CHECKSUM;
在所述系统软件加载入系统后的上电阶段,判断所述系统内部存储器中存储的所述系统软件的程序代码的校验和CHECKSUM和所述系统软件中所记录的校验和CHECKSUM是否相同;
如果判断为是,保留所述系统内部存储器中存储的所述系统软件的程序代码的校验和CHECKSUM;
如果判断为否,将所述系统内部存储器中存储的校验和CHECKSUM替换为所述系统软件中记录的校验和CHECKSUM,并根据系统软件自动对系统数据执行初始化。
2.如权利要求1所述的系统数据初始化的方法,其特征在于,所述在系统软件设计阶段,在仅包含程序代码的系统软件中加入所述系统软件的程序代码的校验和CHECKSUM,具体包括:
在系统软件设计阶段,通过一执行脚本统计所述仅包含有程序代码的系统软件的程序代码的校验和CHECKSUM;
在所述仅包含程序代码的系统软件中加入所述系统软件的程序代码的校验和CHECKSUM。
3.如权利要求2所述的系统数据初始化的方法,其特征在于,
当所述系统为linux系统时,所述执行脚本为Python;
当所述系统为windows系统时,所述执行脚本为vbscript。
4.如权利要求2所述的系统数据初始化的方法,其特征在于,所述在系统软件设计阶段,通过一执行脚本统计所述仅包含有程序代码的系统软件的程序代码的校验和CHECKSUM,具体包括:
在系统软件的设计阶段,将仅包含有程序代码的系统软件的程序代码进行累加,得到代码累加值val01;
基于所述代码累加值val01计算得到所述程序代码的校验和CHECKSUM,计算公式如下:
CHECKSUM=0x10000-(val01%0x10000),其中,0x10000为一系统内存地址。
5.如权利要求1所述的系统数据初始化的方法,其特征在于,所述系统软件为液晶电视系统软件。
6.如权利要求1所述的系统数据初始化的方法,其特征在于,所系统内部存储器为EEPROM和FLASH任一种。
CN201110135126.6A 2011-05-24 2011-05-24 一种系统数据初始化的方法 Active CN102147745B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110135126.6A CN102147745B (zh) 2011-05-24 2011-05-24 一种系统数据初始化的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110135126.6A CN102147745B (zh) 2011-05-24 2011-05-24 一种系统数据初始化的方法

Publications (2)

Publication Number Publication Date
CN102147745A true CN102147745A (zh) 2011-08-10
CN102147745B CN102147745B (zh) 2015-04-22

Family

ID=44422020

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110135126.6A Active CN102147745B (zh) 2011-05-24 2011-05-24 一种系统数据初始化的方法

Country Status (1)

Country Link
CN (1) CN102147745B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108958784A (zh) * 2018-07-27 2018-12-07 广东美的制冷设备有限公司 软件升级控制方法、家电设备、服务器、装置及介质
CN109656580A (zh) * 2018-12-13 2019-04-19 深圳创维数字技术有限公司 串口型nand flash数据清零处理方法及系统
CN110750792A (zh) * 2019-10-23 2020-02-04 天津市英贝特航天科技有限公司 一种基于dsp flash的安全启动方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101488093A (zh) * 2009-03-11 2009-07-22 华为技术有限公司 一种嵌入式计算机系统及其硬件配置方法
CN101650662A (zh) * 2009-08-26 2010-02-17 中兴通讯股份有限公司 一种嵌入式系统的存储器件、固件启动及升级方法
CN101963912A (zh) * 2010-10-12 2011-02-02 浪潮电子信息产业股份有限公司 一种实现保存和校验系统硬件配置信息的方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101488093A (zh) * 2009-03-11 2009-07-22 华为技术有限公司 一种嵌入式计算机系统及其硬件配置方法
CN101650662A (zh) * 2009-08-26 2010-02-17 中兴通讯股份有限公司 一种嵌入式系统的存储器件、固件启动及升级方法
CN101963912A (zh) * 2010-10-12 2011-02-02 浪潮电子信息产业股份有限公司 一种实现保存和校验系统硬件配置信息的方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108958784A (zh) * 2018-07-27 2018-12-07 广东美的制冷设备有限公司 软件升级控制方法、家电设备、服务器、装置及介质
CN108958784B (zh) * 2018-07-27 2022-03-22 广东美的制冷设备有限公司 软件升级控制方法、家电设备、服务器、装置及介质
CN109656580A (zh) * 2018-12-13 2019-04-19 深圳创维数字技术有限公司 串口型nand flash数据清零处理方法及系统
CN110750792A (zh) * 2019-10-23 2020-02-04 天津市英贝特航天科技有限公司 一种基于dsp flash的安全启动方法

Also Published As

Publication number Publication date
CN102147745B (zh) 2015-04-22

Similar Documents

Publication Publication Date Title
CN101650662B (zh) 一种嵌入式系统的存储器件的固件启动及升级方法
US20110302572A1 (en) Embedded network device and firmware upgrading method
CN102163155A (zh) 存储设备的升级方法及升级控制装置
CN102508686A (zh) 一种系统安全升级的实现方法及其系统
CN103744694A (zh) 基于Nand闪存的动态分区搜索装置及其方法
CN101526907B (zh) 避免电子产品开机错误的闪存管理方法
CN102520948A (zh) 应用程序维护更新方法和装置
CN104391714A (zh) 一种车辆的软件更新方法和装置
CN103593289A (zh) 一种安卓机顶盒生产测试软件的设计方法
CN106020861A (zh) 一种智能手表的fota升级方法及系统
CN102147745A (zh) 一种系统数据初始化的方法
CN103116550A (zh) 切换闪存中物理块工作模式的方法和装置
CN109189434A (zh) 一种电能表的在线升级方法
WO2016078263A1 (zh) 升级控制设备、终端、终端升级方法及系统、存储介质
CN108984198A (zh) 一种Android系统的升级方法及装置
CN104133699A (zh) 设备系统软件升级方法与系统
CN108572830A (zh) 一种嵌入式系统及其引导程序的升级方法、系统
CN116820908A (zh) 基于Locust的性能测试方法、装置、设备及介质
CN113238790B (zh) 基于sd卡和eeprom的固件程序更新方法及系统
US20090158261A1 (en) Computer-Implemented Method of Releasing Battery State Estimation Software
CN108255510B (zh) 一种基于iap在线升级待升级固件传输校验设计方法
CN104699500A (zh) 智能设备中实现引导程序自动升级的方法
CN101131649A (zh) 设有闪存的装置的只读存储器升级速度改善方法
CN103902303A (zh) 基于配置表的程序固化方法
CN101013371A (zh) 嵌入式系统程序升级方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C53 Correction of patent of invention or patent application
CB02 Change of applicant information

Address after: Xue Cheng Ke Zhu Road Guangzhou City, Guangdong province 510663 science No. 192

Applicant after: Guangzhou CVT Electronics Technology Co., Ltd.

Address before: Xue Cheng Ke Zhu Road Guangzhou City, Guangdong province 510663 science No. 192

Applicant before: Guangzhou Shiyuan Electronics Technology Co., Ltd.

GR01 Patent grant