CN104699500B - 智能设备中实现引导程序自动升级的方法 - Google Patents

智能设备中实现引导程序自动升级的方法 Download PDF

Info

Publication number
CN104699500B
CN104699500B CN201510006066.6A CN201510006066A CN104699500B CN 104699500 B CN104699500 B CN 104699500B CN 201510006066 A CN201510006066 A CN 201510006066A CN 104699500 B CN104699500 B CN 104699500B
Authority
CN
China
Prior art keywords
smart machine
firmware
bootstrap
host computer
new version
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.)
Active
Application number
CN201510006066.6A
Other languages
English (en)
Other versions
CN104699500A (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.)
Shanghai Huace Navigation Technology Ltd
Original Assignee
Shanghai Huace Navigation Technology 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 Shanghai Huace Navigation Technology Ltd filed Critical Shanghai Huace Navigation Technology Ltd
Priority to CN201510006066.6A priority Critical patent/CN104699500B/zh
Publication of CN104699500A publication Critical patent/CN104699500A/zh
Application granted granted Critical
Publication of CN104699500B publication Critical patent/CN104699500B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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所述的智能设备中实现引导程序自动升级的方法,其特征在于,所述的上位机将所述的新版本引导程序的数据发送至所述的中间固件,具体为:
所述的上位机根据中间固件的协议将相应的新版本引导程序的数据发送至所述的中间固件;
所述的中间固件的协议是指中间固件与PC机的通讯协议,该通讯协议包括请求部分和相应部分,且与原有的升级指令不同。
4.根据权利要求1至3中任一项所述的智能设备中实现引导程序自动升级的方法,其特征在于,所述的步骤(1)和(2)之间,还包括以下步骤:
(1.1)所述的上位机提示重启所述的智能设备;
(1.2)所述的智能设备进行重启。
5.根据权利要求1至3中任一项所述的智能设备中实现引导程序自动升级的方法,其特征在于,所述的步骤(2)和(3)之间,还包括以下步骤:
(2.1)所述的上位机提示重启所述的智能设备;
(2.2)所述的智能设备进行重启。
CN201510006066.6A 2015-01-06 2015-01-06 智能设备中实现引导程序自动升级的方法 Active CN104699500B (zh)

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 CN104699500A (zh) 2015-06-10
CN104699500B true 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)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
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 深圳市大疆创新科技有限公司 程序的升级方法和嵌入式设备
WO2021012170A1 (zh) * 2019-07-23 2021-01-28 深圳市大疆创新科技有限公司 固件启动方法、设备及计算机可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120041384A (ko) * 2010-10-21 2012-05-02 삼성전자주식회사 모바일 디바이스의 펌웨어 업데이트 방법 및 장치
TWI497415B (zh) * 2013-06-21 2015-08-21 Wistron Neweb Corp 韌體升級方法與使用此方法的裝置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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 青岛海信移动通信技术股份有限公司 终端设备开机、升级方法和设备
CN103677923A (zh) * 2013-12-13 2014-03-26 中国航空工业集团公司第六三一研究所 一种boot引导程序运行保护方法

Also Published As

Publication number Publication date
CN104699500A (zh) 2015-06-10

Similar Documents

Publication Publication Date Title
CN104699500B (zh) 智能设备中实现引导程序自动升级的方法
CN105159731B (zh) 一种fpga配置文件远程升级的装置
CN100570558C (zh) 一种芯片固件升级方法
US10817819B2 (en) Workflow compilation
CN101963910A (zh) 基于通用usb总线的设备固件升级方法
US20020087960A1 (en) Upgrading peripheral devices
CN105373407A (zh) 嵌入式系统dsp和fpga在线升级方法
CN102880495A (zh) 移动终端及其软件升级方法
CN110286923A (zh) 基于云端对汽车电子控制单元系统升级的方法
CN109656608A (zh) 一种mcu固件升级方法及其相关设备
CN105373728A (zh) 广告提示系统及方法
CN104156237A (zh) 单片机的在线升级方法
WO2017020459A1 (zh) 一种为宿主配置插件包的方法与装置
CN104077204A (zh) 可重构的8位rsic单片机仿真器
CN108572830A (zh) 一种嵌入式系统及其引导程序的升级方法、系统
CN104636159A (zh) 对虚拟机中的软件进行升级的方法和装置
CN104077166A (zh) 基于fpga中ip核的epcs与epcq存储器在线升级方法
CN103761125A (zh) 一种程序升级的应用系统和方法
CN102722408A (zh) 一种通讯设备软件更新的方法及装置
CN104239109A (zh) 嵌入式系统固件在线管理方法
KR20240047468A (ko) Ecu 업그레이드 방법 및 디바이스, 및 판독 가능 저장 매체
CN103676911A (zh) 一种设备控制系统及控制方法
CN108351790A (zh) 用于期望状态配置的非单调最终收敛
CN104407903B (zh) 一种基于Bootloader的QSFP光模块远程升级方法
CN105045595A (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
GR01 Patent grant
GR01 Patent grant