CN103425508A - 一种zigbee固件压缩更新的方法 - Google Patents
一种zigbee固件压缩更新的方法 Download PDFInfo
- 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
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固件压缩更新的方法,步骤如下:
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固件压缩更新的方法,其特征在于,固件中包含引导程序与用户程序。
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)
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)
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通讯(宁波)有限公司 | 一种移动终端参数固件升级方法及*** |
-
2013
- 2013-05-27 CN CN2013102027818A patent/CN103425508A/zh active Pending
Patent Citations (5)
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)
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 |