CN102999397A - 一种嵌入式软件升级校验的方法 - Google Patents
一种嵌入式软件升级校验的方法 Download PDFInfo
- Publication number
- CN102999397A CN102999397A CN201210547063XA CN201210547063A CN102999397A CN 102999397 A CN102999397 A CN 102999397A CN 201210547063X A CN201210547063X A CN 201210547063XA CN 201210547063 A CN201210547063 A CN 201210547063A CN 102999397 A CN102999397 A CN 102999397A
- Authority
- CN
- China
- Prior art keywords
- file
- fileinfo
- product information
- verification
- data
- 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.)
- Pending
Links
Landscapes
- Storage Device Security (AREA)
Abstract
本发明为一种嵌入式软件升级校验方法,该方法包括数据封装、数据校验、数据对比三个步骤,通过多重校验对比方式保证软件安全升级;本发明极大地增加了嵌入式软件升级的安全,避免错误的升级文件导致软件甚至设备崩溃的可能,从而保证了嵌入式设备的错误可修正性,性能延展性,功能提升性,为用户能安全可靠地使用嵌入式设备提供了保障。
Description
技术领域
本发明涉及嵌入式软件领域,特别是涉及一种嵌入式软件升级校验的方法。
背景技术
嵌入式设备是将经过剪裁的计算机软件***植入到受控器件内部,搭载特定应用为用户提供服务的设备,诸如消费电子,智能家电,网络设备,医疗仪器,航天设备,工业控制等方面已广泛应用于家庭工作生活当中。软件升级在嵌入式设备问题修正,性能改善,满足用户新需求方面起着举足轻重的作用。而当前市面上各种嵌入式设备提供的升级校验方式并不安全,一个错误非法的文件被写入设备,很可能使升级失败进而导致软件崩溃设备失效,所以安全可靠的校验方法是嵌入式软件升级不可或缺的。
发明内容
本发明的目的是针对上述现有技术中的软件升级,提出一种更为严密可靠的校验方式,确保软件升级安全高效。
本发明采用如下技术方案:一种嵌入式软件升级校验方法,包括以下步骤:
步骤一:依次添加产品信息结构和头信息校验码、文件信息结构和升级文件校验码、升级文件本身,通过数据封装成新的封装文件;
步骤二:下载步骤一中组合成的封装文件至数据缓冲区;
步骤三:对从数据缓冲区中获取到的封装文件,依次对其产品信息和文件信息进行数据校验;
步骤四:将步骤三中校验通过的文件安装到指定的目录,并获取安装文件信息至数据缓冲区,和之前获取文件信息进行对比;
步骤五:步骤四中对比结果相同,升级成功。
在上述方法中,所述步骤一中的封装采用二进制方式。
在上述方法中,所述步骤二中的下载方式为通过http或ftp等网络方式,还能通过usb接口或串口外部接入方式。
在上述方法中,所述步骤三中的产品信息校验为对产品信息头结构本身做校验。
在上述方法中,所述文件信息校验为对文件名的文件长度对比以及文件校验。
从本发明的结构特征可以看出,本发明的优点在于:本发明通过产品信息校验,产品信息比对,软件版本比对,软件文件校验,软件文件比对等多重校验比对方式,极大地增加了嵌入式软件升级的安全,避免错误的升级文件导致软件甚至设备崩溃的可能,从而保证了嵌入式设备的错误可修正性,性能延展性, 功能提升性,为用户能安全可靠地使用嵌入式设备提供了保障。
附图说明
本发明将通过实施例并参照附图的方式说明,其中:
图1为本发明的嵌入式软件升级数据封装过程;
图2为本发明的嵌入式软件升级校验对比过程。
具体实施方式
下面结合附图对本发明做进一步的说明。
图1为数据封装的过程,整个数据包括产品信息,文件信息,文件内容三个部分。
其中的产品信息:把供应商名称vender,产品型号model,硬件版本hardver,软件版本softver组成一个结构,对这个结构进行crc32校验,产生出产品信息校验码并和这个结构组成新的结构成为产品信息内容;
文件信息:对要升级的文件进行crc32校验并计算文件长度,然后定义文件名称并把文件长度和校验码一起组成新的结构成为文件信息;
文件内容:也就是升级文件的本身;
上述的三个部分按顺序采用二进制方式组织成新的封装文件。
图2为数据校验对比过程,整个过程包括升级文件的获取、文件内部数据格式的校验、文件对比、最后完成升级。
其中升级文件的获取:嵌入式设备通过网络或串口、USB等外部接口方式获取到升级封装文件,放入数据缓冲区,网路下载可以采用http或ftp方式。
文件内部数据格式的校验:
首先是对产品信息校验,从数据缓冲区中已获取到的升级文件中,按之前封装数据的规则提取出产品信息部分,取出crc校验码和信息部分进行校验,看数据在传输封装过程中是否出错;校验正确后,依次取出供应商名称,产品型号,硬件版本看是否与嵌入式设备上的相符合;都相符则取出软件版本,看是否高于嵌入式设备当前版本号,高于则进行升级。
接下来对文件校验,从数据缓冲区中已获取到的升级文件中,按之前封装数据的规则提取出文件信息部分,而后取出文件内容部分,按文件信息中的文件名命名,和文件信息中的文件长度对比是否一样;取出crc校验码和文件内容部分进行校验,看数据在传输封装过程中是否出错;
文件对比:在上述过程都顺利完成的情况下,安装文件到指定目录,形成新的***软件或应用软件;读取新安装的文件内容至数据缓冲区,与之前获取到的文件内容做对比,对比一致则表示升级成功。
本说明书中公开的所有特征,除了互相排斥的特征以外,均可以以任何方式组合。
本说明书(包括任何附加权利要求、摘要和附图)中公开的任一特征,除非特别叙述,均可被其他等效或具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (5)
1.一种嵌入式软件升级校验方法,其特征为包括以下步骤:
步骤一:依次添加产品信息结构和头信息校验码、文件信息结构和升级文件校验码、升级文件本身,通过数据封装成新的封装文件;
步骤二:下载步骤一中组合成的封装文件至数据缓冲区;
步骤三:对从数据缓冲区中获取到的封装文件,依次对其产品信息和文件信息进行数据校验;
步骤四:将步骤三中校验通过的文件安装到指定的目录,并获取安装文件信息至数据缓冲区,和之前获取文件信息进行对比;
步骤五:步骤四中对比结果相同,升级成功。
2.根据权利要求1所述的校验方法,其特征为所述步骤一中的封装采用二进制方式。
3.根据权利要求1所述的校验方法,其特征为所述步骤二中的下载方式为通过http或ftp等网络方式,还能通过usb接口或串口外部输入方式。
4.根据权利要求1所述的校验方法,其特征为所述步骤三中的产品信息校验为对产品信息头结构本身做校验。
5.根据权利要求4所述的校验方法,其特征为所述文件信息校验为对文件名的文件长度对比以及文件校验。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210547063XA CN102999397A (zh) | 2012-12-17 | 2012-12-17 | 一种嵌入式软件升级校验的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210547063XA CN102999397A (zh) | 2012-12-17 | 2012-12-17 | 一种嵌入式软件升级校验的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102999397A true CN102999397A (zh) | 2013-03-27 |
Family
ID=47927998
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210547063XA Pending CN102999397A (zh) | 2012-12-17 | 2012-12-17 | 一种嵌入式软件升级校验的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102999397A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104217167A (zh) * | 2014-09-11 | 2014-12-17 | 株洲南车时代电气股份有限公司 | 一种多软件***软件版本校验方法 |
CN104881312A (zh) * | 2015-06-02 | 2015-09-02 | 嘉应学院 | 一种fpga逻辑代码可迭代升级的方法及电路 |
CN106469078A (zh) * | 2016-08-31 | 2017-03-01 | 青岛海信电器股份有限公司 | 一种智能家电的升级方法及装置 |
CN108170461A (zh) * | 2017-12-28 | 2018-06-15 | 北京四达时代软件技术股份有限公司 | 差分升级包生成方法、差分升级方法及装置 |
CN109213510A (zh) * | 2018-09-21 | 2019-01-15 | 深圳市鼎阳科技有限公司 | 一种用于嵌入式设备的应用程序升级方法及存储介质 |
CN111459536A (zh) * | 2020-03-31 | 2020-07-28 | Tcl移动通信科技(宁波)有限公司 | 移动终端蓝牙固件更新方法、装置、终端设备和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0556150A (ja) * | 1991-08-28 | 1993-03-05 | Nec Corp | 加入者データ編集用コマンド方式 |
CN101436138A (zh) * | 2007-11-16 | 2009-05-20 | 苏州科达通信技术发展有限公司 | 一种用于软件升级且动态回滚的控制装置以及控制方法 |
CN102043634A (zh) * | 2009-10-23 | 2011-05-04 | 康佳集团股份有限公司 | 一种嵌入式***和嵌入式软件升级方法 |
-
2012
- 2012-12-17 CN CN201210547063XA patent/CN102999397A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0556150A (ja) * | 1991-08-28 | 1993-03-05 | Nec Corp | 加入者データ編集用コマンド方式 |
CN101436138A (zh) * | 2007-11-16 | 2009-05-20 | 苏州科达通信技术发展有限公司 | 一种用于软件升级且动态回滚的控制装置以及控制方法 |
CN102043634A (zh) * | 2009-10-23 | 2011-05-04 | 康佳集团股份有限公司 | 一种嵌入式***和嵌入式软件升级方法 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104217167A (zh) * | 2014-09-11 | 2014-12-17 | 株洲南车时代电气股份有限公司 | 一种多软件***软件版本校验方法 |
CN104881312A (zh) * | 2015-06-02 | 2015-09-02 | 嘉应学院 | 一种fpga逻辑代码可迭代升级的方法及电路 |
CN104881312B (zh) * | 2015-06-02 | 2017-11-03 | 嘉应学院 | 一种fpga逻辑代码迭代升级的方法及电路 |
CN106469078A (zh) * | 2016-08-31 | 2017-03-01 | 青岛海信电器股份有限公司 | 一种智能家电的升级方法及装置 |
CN108170461A (zh) * | 2017-12-28 | 2018-06-15 | 北京四达时代软件技术股份有限公司 | 差分升级包生成方法、差分升级方法及装置 |
CN108170461B (zh) * | 2017-12-28 | 2021-07-27 | 北京四达时代软件技术股份有限公司 | 差分升级包生成方法、差分升级方法及装置 |
CN109213510A (zh) * | 2018-09-21 | 2019-01-15 | 深圳市鼎阳科技有限公司 | 一种用于嵌入式设备的应用程序升级方法及存储介质 |
CN111459536A (zh) * | 2020-03-31 | 2020-07-28 | Tcl移动通信科技(宁波)有限公司 | 移动终端蓝牙固件更新方法、装置、终端设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102999397A (zh) | 一种嵌入式软件升级校验的方法 | |
CN106843942B (zh) | 穿戴式设备的固件升级方法及穿戴式设备 | |
CN104714819B (zh) | 文件***升级包制作方法、升级方法及装置、终端 | |
CN102622253B (zh) | 一种单片机及其在线升级的方法 | |
CN109413154A (zh) | 数据格式转换方法、装置、计算机设备及存储介质 | |
WO2016082547A1 (zh) | 一种升级文件制作方法及装置和升级文件获取方法及装置 | |
CN106657361B (zh) | 一种代码添加混淆的安卓安装包ota升级方法 | |
CN104111832A (zh) | 一种安卓应用程序安装包加壳方法及***及解壳方法 | |
CN104123149B (zh) | 软件升级方法、装置、客户端及*** | |
CN105706099A (zh) | 软件更新装置及软件更新程序 | |
KR100847560B1 (ko) | 다운로드되는 펌웨어의 오류 정정을 위한 회로 및 방법 | |
CN105138333A (zh) | 基于安卓***的apk文件压缩的方法及*** | |
CN103761095B (zh) | 一种生成通用的升级文件头部数据信息的方法 | |
CN110213113A (zh) | 基站的web配置管理方法及基站 | |
CN102316376A (zh) | 一种机顶盒自动更新数据方法及*** | |
CN106569843A (zh) | 一种生成ota中间包的方法及装置 | |
US20050105518A1 (en) | Method for transmitting and processing command and data | |
CN103425932B (zh) | 签名校验方法和终端设备 | |
CN107239358A (zh) | 安卓***的启动方法、移动终端及具有存储功能的装置 | |
US11449410B2 (en) | Universal runtime verification system between source language and language converted through transpiler | |
CN110019485A (zh) | 一种产品数据入库方法、终端设备及存储介质 | |
CN101938765B (zh) | 一种网管和网元自动适配的方法和*** | |
CN103631611A (zh) | 对***进行升级的方法及该设备 | |
CN107967157B (zh) | 一种生成ota中间包过程中的数据处理方法及装置 | |
CN103577204A (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 | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20130327 |