CN104699500A - 智能设备中实现引导程序自动升级的方法 - Google Patents
智能设备中实现引导程序自动升级的方法 Download PDFInfo
- Publication number
- CN104699500A CN104699500A CN201510006066.6A CN201510006066A CN104699500A CN 104699500 A CN104699500 A CN 104699500A CN 201510006066 A CN201510006066 A CN 201510006066A CN 104699500 A CN104699500 A CN 104699500A
- Authority
- CN
- China
- Prior art keywords
- firmware
- smart machine
- boot
- host computer
- intelligent equipment
- 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
Links
Landscapes
- Stored Programmes (AREA)
Abstract
本发明涉及一种智能设备中实现引导程序自动升级的方法,其中包括:上位机获取智能设备的固有属性信息,并将该固有属性信息保存至新版本引导程序所指定存储空间内;上位机发送一个中间固件至智能设备,并用中间固件替换所述的智能设备的原有固件;智能设备运行中间固件;上位机将新版本引导程序的数据发送至中间固件;中间固件将新版本引导程序更新至原有固件的位置空间。采用本发明的智能设备中实现引导程序自动升级的方法,使用中间固件实现引导程序的自动升级,避免原来必须返厂拆装和运输时间长的技术问题,同时也不受时间地点的限制,操作简单,无需成本,不受环境约束,改善用户体验,具有更广泛的应用范围。
Description
技术领域
本发明涉及软件在线升级技术领域,尤其涉及引导程序升级技术领域,具体是指一种智能设备中实现引导程序自动升级的方法。
背景技术
随着现代社会科学技术的发展,各种类型的电子设备产品大规模的生产,各种固件升级手段也层出不穷,但是唯独对引导固件的程序(即引导程序BOOT)难于进行升级维护,往往都是将设备返厂拆装升级维护,由此引发器件损伤的风险,同时受时间地点限制,需要在厂家与客户之间来回运输,并且要求专业人士操作,过程繁琐,需要承担维护的成本,而且维护成本与设备个数成正比,如果是少量的维护也罢,要是批量的维护升级,那么厂方将会承受巨大的压力与各种费用成本,且用户体验效果差,这明显不符合电子设备后期维护行业的发展。
发明内容
本发明的目的是克服了上述现有技术的缺点,提供了一种能够自动完成引导程序升级,需要返厂或拆机维护,节约成本,提高效率的智能设备中实现引导程序自动升级的方法。
为了实现上述目的,本发明的智能设备中实现引导程序自动升级的方法具有如下构成:
该智能设备中实现引导程序自动升级的方法,其主要特点是,所述的智能设备与上位机连接,所述的方法包括以下步骤:
(1)所述的上位机获取所述的智能设备的固有属性信息,并将该固有属性信息保存至新版本引导程序所指定存储空间内;
(2)所述的上位机发送一个中间固件至所述的智能设备,并用所述的中间固件替换所述的智能设备的原有固件;
(3)所述的智能设备运行所述的中间固件;
(4)所述的上位机将所述的新版本引导程序的数据发送至所述的中间固件;
(5)所述的中间固件将所述的新版本引导程序更新至所述的原有固件的位置空间。
进一步地,所述的上位机发送一个中间固件至所述的智能设备,具体为:
所述的上位机根据原有升级指令下发一个中间固件至所述的智能设备的原有固件的位置空间。
进一步地,所述的上位机将所述的新版本引导程序的数据发送至所述的中间固件,具体为:
所述的上位机根据中间固件的协议将相应的新版本引导程序的数据发送至所述的中间固件。
更进一步地,所述的步骤(1)和(2)之间,还包括以下步骤:
(1.1)所述的上位机提示重启所述的智能设备;
(1.2)所述的智能设备进行重启。
更进一步地,所述的步骤(2)和(3)之间,还包括以下步骤:
(2.1)所述的上位机提示重启所述的智能设备;
(2.2)所述的智能设备进行重启。
采用了该发明的智能设备中实现引导程序自动升级的方法,使用中间固件实现引导程序的自动升级,避免原来必须返厂拆装和运输时间长的技术问题,无须返厂或拆装设备,不用承担器件损伤的风险,厂家也无须担心维护成本的增加,同时也不受时间地点的限制,与升级系统固件方法类似,操作方便易懂,一键便可完成升级,让升级引导程序变得轻松容易,提高升级速度,缩短升级时间,让客户无须再等,且不产生其他费用开销,改善用户体验度,具有更广泛的应用范围。
附图说明
图1为本发明的智能设备中实现引导程序自动升级的方法的流程图。
图2为本发明的一个具体实施例的流程图。
具体实施方式
为了能够更清楚地描述本发明的技术内容,下面结合具体实施例来进行进一步的描述。
如图1所示,在一种实施方式中,本发明的智能设备中实现引导程序自动升级的方法包括以下步骤:
(1)所述的上位机获取所述的智能设备的固有属性信息,并将该固有属性信息保存至新版本引导程序所指定存储空间内;
(2)所述的上位机发送一个中间固件至所述的智能设备,并用所述的中间固件替换所述的智能设备的原有固件;
(3)所述的智能设备运行所述的中间固件;
(4)所述的上位机将所述的新版本引导程序的数据发送至所述的中间固件;
(5)所述的中间固件将所述的新版本引导程序更新至所述的原有固件的位置空间。
在一种优选的实施方式中,所述的上位机发送一个中间固件至所述的智能设备,具体为:
所述的上位机根据原有升级指令下发一个中间固件至所述的智能设备的原有固件的位置空间。
在另一种优选的实施方式中,所述的上位机将所述的新版本引导程序的数据发送至所述的中间固件,具体为:
所述的上位机根据中间固件的协议将相应的新版本引导程序的数据发送至所述的中间固件。
在一种更优选的实施方式中,所述的步骤(1)和(2)之间,还包括以下步骤:
(1.1)所述的上位机提示重启所述的智能设备;
(1.2)所述的智能设备进行重启。
在另一种更优选的实施方式中,所述的步骤(2)和(3)之间,还包括以下步骤:
(2.1)所述的上位机提示重启所述的智能设备;
(2.2)所述的智能设备进行重启。
在实际应用中,如图2所示,为本发明的一个具体实施例,其具有如下步骤:
1、在PC机上安装上位机(即升级工具),该上位机具有图形化的升级界面,并在界面做了相应的防误操作功能及提示,确保升级过程不因为误操作工具而导致升级失败返厂维修;
2、按规定将智能设备与PC机连接好,开启升级工具,按智能设备原有的指令或协议,获取智能设备的固有属性信息并保存到新版本BOOT文件的指定存储空间内,并提示智能设备重启;
3、升级工具在设备重启后,按原有的升级指令下发一个中间固件到智能设备的原来的正式固件的位置上,将原来的正式固件替换掉;
4、重启智能设备,让中间固件运行起来,或者,是将中间介直接保存在RAM区(内存)里并运行中间固件;
5、中间固件运行起来后,升级工具按中间固件的协议下发新版本的BOOT数据给中间固件,由中间固件将其写到原来BOOT的位置空间,实现升级BOOT引导程序;
6、因为中间固件会覆盖原先的正常固件,所以当更新完boot引导程序后还需要按正常的更新智能设备的方法更新智能设备的正常固件。
其中,上面所述的图形化界面,可以使用QT/VC/VS等图形化工具实现;获取智能设备固有属性信息的原有的指令或协议,是指智能设备原本就可以通过该指令或协议实现获取其固有属性信息的功能;原有的升级指令,是指根据智能设备原本的升级方式所编写的指令;中间固件的协议,是指中间固件与PC机的通讯协议,协议分为请求与响应部分,且与原有的升级指令不相同,具体格式如下:
1)请求协议格式
[COMMAND_HEAD][COMMAND][COMMAND_SN][COMMAND_TAIL]
2)响应协议格式c
[COMMAND_HEAD][COMMAND][COMMAND_SN][DATA_LENGHT][DATA][DATA_CHKSUM][COMMAND_TAIL]
之所以让中间固件的协议与原有的升级指令有区别,目的在于防止中间固件将不合适的数据写到BOOT区,造成升级事故。
在另一个具体实施例中,设置一个中间固件模块,用于实现以下功能:
专门用于适旧版本的BOOT而制作,编译后体积小,性能稳定,具备串口/网络的通讯能力,可以正确安全擦写芯片的FLASH,或是指定的存储空间。
用于负责接收来自PC端的指令数据,分析这些数据,提取有效的升级数据,并正确写入相应的BOOT存储空间,同时具备请求PC端重发有问题的数据包的功能,确保写入到BOOT存储空间的数据完整无误,与下发的BOOT文件数据一致。
基于上述功能,中间固件模块的流程步骤如下:
1,向PC端请求新版本的BOOT文件数据;
2,接收PC下发的数据;
3,校验数据的完整性;
4,分析数据的指令内容;
5,提取BOOT文件数据;
6,将有效的BOOT数据写入到BOOT存储空间;
7,验证数据写入是否正确,如果出错,则重写,如果重写次数大于5次,则重新请求本数据包,流程重复从步骤1开始;
8,由于PC端会把Boot数据拆分为多个数据包进行发送,中间固件模块的流程步骤只是针对一包数据包进行处理,当处理完一包之后就需要请求下一包数据包,然后重复步骤1,直至所有数据包均处理完成。
由此可以得到PC端的流程步骤如下:
1、接收来自设备端的请求数据;
2、校验数据的完整性;
3、分析数据的指令内容;
4、下发相应BOOT数据到设备端。
采用了该发明的智能设备中实现引导程序自动升级的方法,使用中间固件实现引导程序的自动升级,避免原来必须返厂拆装和运输时间长的技术问题,无须返厂或拆装设备,不用承担器件损伤的风险,厂家也无须担心维护成本的增加,同时也不受时间地点的限制,与升级系统固件方法类似,操作方便易懂,一键便可完成升级,让升级引导程序变得轻松容易,提高升级速度,缩短升级时间,让客户无须再等,且不产生其他费用开销,改善用户体验度,具有更广泛的应用范围。
在此说明书中,本发明已参照其特定的实施例作了描述。但是,很显然仍可以作出各种修改和变换而不背离本发明的精神和范围。因此,说明书和附图应被认为是说明性的而非限制性的。
Claims (5)
1.一种智能设备中实现引导程序自动升级的方法,其特征在于,所述的智能设备与上位机连接,所述的方法包括以下步骤:
(1)所述的上位机获取所述的智能设备的固有属性信息,并将该固有属性信息保存至新版本引导程序所指定存储空间内;
(2)所述的上位机发送一个中间固件至所述的智能设备,并用所述的中间固件替换所述的智能设备的原有固件;
(3)所述的智能设备运行所述的中间固件;
(4)所述的上位机将所述的新版本引导程序的数据发送至所述的中间固件;
(5)所述的中间固件将所述的新版本引导程序更新至所述的原有固件的位置空间。
2.根据权利要求1所述的智能设备中实现引导程序自动升级的方法,其特征在于,所述的上位机发送一个中间固件至所述的智能设备,具体为:
所述的上位机根据原有升级指令下发一个中间固件至所述的智能设备的原有固件的位置空间。
3.根据权利要求1所述的智能设备中实现引导程序自动升级的方法,其特征在于,所述的上位机将所述的新版本引导程序的数据发送至所述的中间固件,具体为:
所述的上位机根据中间固件的协议将相应的新版本引导程序的数据发送至所述的中间固件。
4.根据权利要求1至3中任一项所述的智能设备中实现引导程序自动升级的方法,其特征在于,所述的步骤(1)和(2)之间,还包括以下步骤:
(1.1)所述的上位机提示重启所述的智能设备;
(1.2)所述的智能设备进行重启。
5.根据权利要求1至3中任一项所述的智能设备中实现引导程序自动升级的方法,其特征在于,所述的步骤(2)和(3)之间,还包括以下步骤:
(2.1)所述的上位机提示重启所述的智能设备;
(2.2)所述的智能设备进行重启。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510006066.6A CN104699500B (zh) | 2015-01-06 | 2015-01-06 | 智能设备中实现引导程序自动升级的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510006066.6A CN104699500B (zh) | 2015-01-06 | 2015-01-06 | 智能设备中实现引导程序自动升级的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104699500A true CN104699500A (zh) | 2015-06-10 |
CN104699500B CN104699500B (zh) | 2018-05-08 |
Family
ID=53346666
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510006066.6A Active CN104699500B (zh) | 2015-01-06 | 2015-01-06 | 智能设备中实现引导程序自动升级的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104699500B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106406955A (zh) * | 2016-09-22 | 2017-02-15 | 深圳市金溢科技股份有限公司 | RSU设备bootloader程序升级的方法、装置 |
CN107608721A (zh) * | 2017-09-13 | 2018-01-19 | 北京小鸟看看科技有限公司 | 头戴虚拟现实设备及其引导加载程序的升级方法 |
CN108694054A (zh) * | 2017-04-10 | 2018-10-23 | 南昌欧菲生物识别技术有限公司 | 微处理器固件的升级方法及智能终端 |
WO2020107436A1 (zh) * | 2018-11-30 | 2020-06-04 | 深圳市大疆创新科技有限公司 | 程序的升级方法和嵌入式设备 |
CN111742297A (zh) * | 2019-07-23 | 2020-10-02 | 深圳市大疆创新科技有限公司 | 固件启动方法、设备及计算机可读存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120102477A1 (en) * | 2010-10-21 | 2012-04-26 | Samsung Electronics Co., Ltd. | Firmware update method and apparatus for a mobile device |
CN102486733A (zh) * | 2010-12-03 | 2012-06-06 | 中兴通讯股份有限公司 | 引导程序的升级方法和装置 |
CN102945176A (zh) * | 2012-11-09 | 2013-02-27 | 青岛海信移动通信技术股份有限公司 | 终端设备开机、升级方法和设备 |
CN103677923A (zh) * | 2013-12-13 | 2014-03-26 | 中国航空工业集团公司第六三一研究所 | 一种boot引导程序运行保护方法 |
US8825991B2 (en) * | 2011-03-28 | 2014-09-02 | Samsung Electronics Co., Ltd. | FOTA based data update method and mobile terminal supporting the same |
US20140380294A1 (en) * | 2013-06-21 | 2014-12-25 | Wistron Neweb Corp. | Methods for upgrading firmware and electronic devices using the same |
-
2015
- 2015-01-06 CN CN201510006066.6A patent/CN104699500B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120102477A1 (en) * | 2010-10-21 | 2012-04-26 | Samsung Electronics Co., Ltd. | Firmware update method and apparatus for a mobile device |
CN102486733A (zh) * | 2010-12-03 | 2012-06-06 | 中兴通讯股份有限公司 | 引导程序的升级方法和装置 |
US8825991B2 (en) * | 2011-03-28 | 2014-09-02 | Samsung Electronics Co., Ltd. | FOTA based data update method and mobile terminal supporting the same |
CN102945176A (zh) * | 2012-11-09 | 2013-02-27 | 青岛海信移动通信技术股份有限公司 | 终端设备开机、升级方法和设备 |
US20140380294A1 (en) * | 2013-06-21 | 2014-12-25 | Wistron Neweb Corp. | Methods for upgrading firmware and electronic devices using the same |
CN103677923A (zh) * | 2013-12-13 | 2014-03-26 | 中国航空工业集团公司第六三一研究所 | 一种boot引导程序运行保护方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106406955A (zh) * | 2016-09-22 | 2017-02-15 | 深圳市金溢科技股份有限公司 | RSU设备bootloader程序升级的方法、装置 |
CN108694054A (zh) * | 2017-04-10 | 2018-10-23 | 南昌欧菲生物识别技术有限公司 | 微处理器固件的升级方法及智能终端 |
CN107608721A (zh) * | 2017-09-13 | 2018-01-19 | 北京小鸟看看科技有限公司 | 头戴虚拟现实设备及其引导加载程序的升级方法 |
WO2020107436A1 (zh) * | 2018-11-30 | 2020-06-04 | 深圳市大疆创新科技有限公司 | 程序的升级方法和嵌入式设备 |
CN111742297A (zh) * | 2019-07-23 | 2020-10-02 | 深圳市大疆创新科技有限公司 | 固件启动方法、设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN104699500B (zh) | 2018-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100570558C (zh) | 一种芯片固件升级方法 | |
CN104699500A (zh) | 智能设备中实现引导程序自动升级的方法 | |
CN105159731B (zh) | 一种fpga配置文件远程升级的装置 | |
CN106095620B (zh) | 一种嵌入式Linux存储分区的开发方法 | |
CN103777983A (zh) | 一种星载软件在轨维护及升级方法 | |
CN101963910A (zh) | 基于通用usb总线的设备固件升级方法 | |
CN105573807A (zh) | 一种基于can总线的ecu在线程序升级系统及方法 | |
CN104182241A (zh) | 一种网页应用程序更新方法及通信设备 | |
CN105373407A (zh) | 嵌入式系统dsp和fpga在线升级方法 | |
US20180157479A1 (en) | Cloud service framework for toolkit deployment | |
CN108279922A (zh) | 差分文件生成方法、基于该差分文件的升级方法及系统 | |
CN105373728A (zh) | 广告提示系统及方法 | |
CN103473097A (zh) | Android系统固件升级系统、装置及升级方法 | |
WO2017020459A1 (zh) | 一种为宿主配置插件包的方法与装置 | |
CN104156221A (zh) | 芯片、修改芯片配置的方法及装置 | |
CN108694052B (zh) | 一种固件升级方法、固件升级装置及固件升级系统 | |
CN105354071A (zh) | 一种嵌入式软件兼容硬件的方法 | |
CN108351790A (zh) | 用于期望状态配置的非单调最终收敛 | |
CN104239109A (zh) | 嵌入式系统固件在线管理方法 | |
CN109582341A (zh) | 一种机车信号车载系统设备的主机系统及其程序变更方法 | |
CN103064692A (zh) | 一种固件的更新方法及装置 | |
CN104133743B (zh) | 一种将文件烧录到emmc芯片的方法及装置 | |
CN103500109A (zh) | 一种用于实现文件收集、软件包自动安装的方法及装置 | |
CN112230848A (zh) | 一种nvm自动配置方法、装置和设备 | |
CN104516743A (zh) | 基于ActiveX的嵌入式设备固件的升级方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |