CN103425508A - 一种zigbee固件压缩更新的方法 - Google Patents

一种zigbee固件压缩更新的方法 Download PDF

Info

Publication number
CN103425508A
CN103425508A CN2013102027818A CN201310202781A CN103425508A CN 103425508 A CN103425508 A CN 103425508A CN 2013102027818 A CN2013102027818 A CN 2013102027818A CN 201310202781 A CN201310202781 A CN 201310202781A CN 103425508 A CN103425508 A CN 103425508A
Authority
CN
China
Prior art keywords
firmware
zigbee
boot
upgraded
compression
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
Application number
CN2013102027818A
Other languages
English (en)
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to CN2013102027818A priority Critical patent/CN103425508A/zh
Publication of CN103425508A publication Critical patent/CN103425508A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明涉及一种zigbee固件压缩更新的方法,步骤如下:1)压缩待更新的zigbee固件,待下载;2)用户程序下载压缩的待更新的zigbee固件至zigbee***的单片机内存中;3)引导程序解压步骤2)的zigbee固件,并覆盖用户程序,更新***固件。本发明所述的方法利用压缩算法,从一个文件内容中寻找某种规律,实现去除内容中的冗余,达到节省存储空间的目的,将固件压缩到内存剩余区域,充分利用了片内的剩余内存,避免采用额外的外部存储器。本发明所述的方法利用压缩算法,从一个文件内容中寻找某种规律,实现去除内容中的冗余,达到节省存储空间的目的,将固件压缩到内存剩余区域,充分利用了片内的剩余内存,避免采用额外的外部存储器。

Description

一种zigbee固件压缩更新的方法
技术领域
本发明涉及zigbee固件升级方法,更具体地说,涉及一种zigbee固件压缩更新的方法。
背景技术
现有zigbee单片机更新的方式为:固件内有引导代码和用户程序两个区域,用户程序从空中接收固件并写入外部存储器,待固件完全下载之后重启。引导代码负责用外部存储器的程序覆盖单片机内部的用户程序。
现有更新方式的缺点如下:
现有单片机内存空间较紧缺,剩余空间无法同时容纳当前用户程序和升级代码。如果增加外部存储器充当辅助资源。但是一旦程序完成更新,***外部存储器就没有用了,利用率高而且不经济。
而且,因为zigbee***的特殊性,zigbee协议栈占用大部分的程序空间,所以不能采用其他设备的常规升级办法对zigbee***进行固定升级。
发明内容
本发明的目的在于克服现有技术的不足,提供一种减小固件的占用空间,可直接在***内存内进行下载更新,克服存储空间限制,摆脱外部存储器的zigbee固件压缩更新的方法。
本发明的技术方案如下:
一种zigbee固件压缩更新的方法,步骤如下:
1)压缩待更新的zigbee固件,待下载;
2)用户程序下载压缩的待更新的zigbee固件至zigbee***的单片机内存中;
3)引导程序解压步骤2)的zigbee固件,并覆盖用户程序,更新***固件。
作为优选,步骤1)中采用LZO算法对待更新的zigbee固件进行压缩处理。
作为优选,步骤3)中,引导程序检查并解压压缩的待更新的zigbee固件,步骤如下:
3.1)引导程序判断压缩文件是否存在,如果是,进行步骤3.2),如果否,重复执行引导程序,执行步骤3.1);
3.2)引导程序检查文件检验码是否正确,如果是,进行步骤3.3),如果否,删除压缩文件,返回重复执行引导程序,执行步骤3.1);
3.3)引导程序解压压缩文件,并覆盖用户程序,更新***固件。
作为优选,步骤2)中将zigbee协议栈作为文件传送的底层协议。
作为优选,用户程序中下载文件的代码将zigbee协议栈定义为文件传送的底层协议。
作为优选,步骤2)具体为:
2.1)网络获取zigbee固件;
2.2)获取文件长度、检验码;
2.3)接收数据并写入内存中;
2.4)判断是否接收完整,如果是,进行步骤2.5),如果否,返回步骤2.3)重复执行;
2.5)检查文件检验码是否正确,如果是,进行步骤2.6),如果否,删除压缩文件,返回步骤2.1);
2.6)写入标志位;
2.7)重启***,进入引导程序。
作为优选,固件中包含引导程序与用户程序。
本发明的有益效果如下:
本发明所述的方法利用压缩算法,从一个文件内容中寻找某种规律,实现去除内容中的冗余,达到节省存储空间的目的,将固件压缩到内存剩余区域,充分利用了片内的剩余内存,避免采用额外的外部存储器。
由于压缩了固件占用空间的大小,克服现有技术在更新zigbee固件的方法上不能采用在其他设备上较常用的更新方法,实现在更新zigbee固件的方法上,同样能进行与其他设备上较常用的更新方法相类似的步骤,简化了更新zigbee固件的方法,提高更新效率。
附图说明
图1是引导程序的执行流程图;
图2是用户程序的执行流程图。
具体实施方式
以下结合附图及实施例对本发明进行进一步的详细说明。
一种zigbee固件压缩更新的方法,步骤如下:
1)压缩待更新的zigbee固件(固件中包含引导程序与用户程序),待下载;
2)用户程序下载压缩的待更新的zigbee固件至zigbee***的单片机内存中;
3)引导程序解压步骤2)的zigbee固件,并覆盖用户程序,更新***固件。
步骤1)中采用LZO算法对待更新的zigbee固件进行压缩处理,该算法解压简单,速度非常快,而且解压不需要内存,适用于内存紧缺的使用环境。LZO算法是无损算法,参考实现程序是线程安全的,在解决了解压速度与解压需求的情况下,保证了数据的安全性。
步骤2)中将zigbee协议栈作为文件传送的底层协议。
用户程序中下载文件的代码将zigbee协议栈定义为文件传送的底层协议。
如图2所示,步骤2)具体为:
2.1)网络获取zigbee固件;
2.2)获取文件长度、检验码;
2.3)接收数据并写入内存中;
2.4)判断是否接收完整,如果是,进行步骤2.5),如果否,返回步骤2.3)重复执行;
2.5)检查文件检验码是否正确,如果是,进行步骤2.6),如果否,删除压缩文件,返回步骤2.1);
2.6)写入标志位;
2.7)重启***,进入引导程序。
如图1所示,步骤2)用户程序下载完数据后,重启***,***重启上电后,执行步骤3)中,引导程序检查并解压压缩的待更新的zigbee固件,步骤如下:
3.1)引导程序判断压缩文件是否存在,如果是,进行步骤3.2),如果否,重复执行引导程序,执行步骤3.1);
3.2)引导程序检查文件检验码是否正确,如果是,进行步骤3.3),如果否,删除压缩文件,返回重复执行引导程序,执行步骤3.1);
3.3)引导程序解压压缩文件,并覆盖用户程序,更新***固件。
上述实施例仅是用来说明本发明,而并非用作对本发明的限定。只要是依据本发明的技术实质,对上述实施例进行变化、变型等都将落在本发明的权利要求的范围内。

Claims (7)

1.一种zigbee固件压缩更新的方法,其特征在于,步骤如下:
1)压缩待更新的zigbee固件,待下载;
2)用户程序下载压缩的待更新的zigbee固件至zigbee***的单片机内存中;
3)引导程序解压步骤2)的zigbee固件,并覆盖用户程序,更新***固件。
2.根据权利要求1所述的zigbee固件压缩更新的方法,其特征在于,步骤1)中采用LZO算法对待更新的zigbee固件进行压缩处理。
3.根据权利要求1所述的zigbee固件压缩更新的方法,其特征在于,步骤3)中,引导程序检查并解压压缩的待更新的zigbee固件,步骤如下:
3.1)引导程序判断压缩文件是否存在,如果是,进行步骤3.2),如果否,重复执行引导程序,执行步骤3.1);
3.2)引导程序检查文件检验码是否正确,如果是,进行步骤3.3),如果否,删除压缩文件,重复执行引导程序,执行步骤3.1);
3.3)引导程序解压压缩文件,并覆盖用户程序,更新***固件。
4.根据权利要求1所述的zigbee固件压缩更新的方法,其特征在于,步骤2)中将zigbee协议栈作为文件传送的底层协议。
5.根据权利要求4所述的zigbee固件压缩更新的方法,其特征在于,用户程序中下载文件的代码将zigbee协议栈定义为文件传送的底层协议。
6.根据权利要求1所述的zigbee固件压缩更新的方法,其特征在于,步骤2)具体为:
2.1)网络获取zigbee固件;
2.2)获取文件长度、检验码;
2.3)接收数据并写入内存中;
2.4)判断是否接收完整,如果是,进行步骤2.5),如果否,返回步骤2.3)重复执行;
2.5)检查文件检验码是否正确,如果是,进行步骤2.6),如果否,删除压缩文件,返回步骤2.1);
2.6)写入标志位;
2.7)重启***,进入引导程序。
7.根据权利要求1所述的zigbee固件压缩更新的方法,其特征在于,固件中包含引导程序与用户程序。
CN2013102027818A 2013-05-27 2013-05-27 一种zigbee固件压缩更新的方法 Pending CN103425508A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2013102027818A CN103425508A (zh) 2013-05-27 2013-05-27 一种zigbee固件压缩更新的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2013102027818A CN103425508A (zh) 2013-05-27 2013-05-27 一种zigbee固件压缩更新的方法

Publications (1)

Publication Number Publication Date
CN103425508A true CN103425508A (zh) 2013-12-04

Family

ID=49650302

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2013102027818A Pending CN103425508A (zh) 2013-05-27 2013-05-27 一种zigbee固件压缩更新的方法

Country Status (1)

Country Link
CN (1) CN103425508A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104636140A (zh) * 2015-01-29 2015-05-20 小米科技有限责任公司 固件压缩方法、固件解压方法和装置
CN105786573A (zh) * 2016-03-16 2016-07-20 烽火通信科技股份有限公司 快速升级智能家居中ZigBee控制器的方法及***
CN111258601A (zh) * 2020-01-09 2020-06-09 深圳市东深电子股份有限公司 基于无损数据压缩算法的水利rtu远程升级方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1702618A (zh) * 2004-05-24 2005-11-30 建兴电子科技股份有限公司 固件更新方法
CN101184301A (zh) * 2007-12-14 2008-05-21 中兴通讯股份有限公司 移动终端远程固件升级方法及***
CN102136934A (zh) * 2010-10-21 2011-07-27 华为技术有限公司 实现Zigbee设备远程升级的方法、装置及网络***
KR20130015243A (ko) * 2011-08-02 2013-02-13 엘지전자 주식회사 지그비 장치 및 펌웨어 업그레이드 방법
CN102946600A (zh) * 2012-11-19 2013-02-27 Tcl通讯(宁波)有限公司 一种移动终端参数固件升级方法及***

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1702618A (zh) * 2004-05-24 2005-11-30 建兴电子科技股份有限公司 固件更新方法
CN101184301A (zh) * 2007-12-14 2008-05-21 中兴通讯股份有限公司 移动终端远程固件升级方法及***
CN102136934A (zh) * 2010-10-21 2011-07-27 华为技术有限公司 实现Zigbee设备远程升级的方法、装置及网络***
KR20130015243A (ko) * 2011-08-02 2013-02-13 엘지전자 주식회사 지그비 장치 및 펌웨어 업그레이드 방법
CN102946600A (zh) * 2012-11-19 2013-02-27 Tcl通讯(宁波)有限公司 一种移动终端参数固件升级方法及***

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104636140A (zh) * 2015-01-29 2015-05-20 小米科技有限责任公司 固件压缩方法、固件解压方法和装置
CN104636140B (zh) * 2015-01-29 2018-05-29 小米科技有限责任公司 固件压缩方法、固件解压方法和装置
CN105786573A (zh) * 2016-03-16 2016-07-20 烽火通信科技股份有限公司 快速升级智能家居中ZigBee控制器的方法及***
CN105786573B (zh) * 2016-03-16 2019-04-26 烽火通信科技股份有限公司 快速升级智能家居中ZigBee控制器的方法及***
CN111258601A (zh) * 2020-01-09 2020-06-09 深圳市东深电子股份有限公司 基于无损数据压缩算法的水利rtu远程升级方法
CN111258601B (zh) * 2020-01-09 2023-09-08 深圳市东深电子股份有限公司 基于无损数据压缩算法的水利rtu远程升级方法

Similar Documents

Publication Publication Date Title
CN102799452B (zh) ***软件升级方法和装置
CN105391985B (zh) 一种基于嵌入式Linux的视频监控***与方法
CN102880494B (zh) 一种用于微小卫星***的局部代码更新方法及其***
KR101541112B1 (ko) Fota 시스템 및 그 실행 방법
CN103176826B (zh) 一种自由配置终端设备默认语言的方法及终端默认语言配置***
CN104468235A (zh) 一种基于iap的可配置全网络远程节点固件升级***及装置
CN103425508A (zh) 一种zigbee固件压缩更新的方法
CN103047739A (zh) 一种智能新风***及其远程批量自动更新软件方法
CN102624875B (zh) 一种对终端设备的语言包进行替换或更新的方法
CN102567054B (zh) 双塔放大器的控制方法及相应的装置
CN104991806A (zh) 单片机程序远程固件升级***和方法
CN103777981A (zh) 一种适用于x86架构的多操作***远程加载实现方法
CN104079970A (zh) 一种移动设备与wifi智能电视数据交互及控制的***和方法
CN103902309A (zh) 一种远程升级无线模块固件的方法
CN101135978B (zh) 压缩版应用程序生成、执行方法与装置及应用方法与***
CN103927145A (zh) 一种基于混合内存的***休眠、唤醒方法及装置
CN103902334A (zh) 基于安卓***的静默式升级方法及***
CN204595832U (zh) 一种基于单片机的无线编程设备
CN109471651A (zh) 一种固件升级方法、网关设备及固件升级***
CN104486393A (zh) 资源配置与回收方法和资源配置与回收***
CN109710297B (zh) 一种设备整体或分模块进行升级和回退方法
CN104750516A (zh) 终端设备操作***升级方法
CN106681761B (zh) 一种交互式升级的方法及***
KR102226379B1 (ko) 일종의 시스템 펌웨어의 버닝 스피드 향상 방법
CN102917267A (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20131204

RJ01 Rejection of invention patent application after publication