CN117055932A - 基于非易失存储标签的程序在线升级方法 - Google Patents
基于非易失存储标签的程序在线升级方法 Download PDFInfo
- Publication number
- CN117055932A CN117055932A CN202310884276.XA CN202310884276A CN117055932A CN 117055932 A CN117055932 A CN 117055932A CN 202310884276 A CN202310884276 A CN 202310884276A CN 117055932 A CN117055932 A CN 117055932A
- Authority
- CN
- China
- Prior art keywords
- electronic tag
- program
- file
- upgraded
- upgrade
- 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
- 238000000034 method Methods 0.000 title claims abstract description 21
- 230000008859 change Effects 0.000 claims description 5
- 238000012795 verification Methods 0.000 claims description 3
- 125000004122 cyclic group Chemical group 0.000 claims 1
- 230000006870 function Effects 0.000 abstract description 8
- 230000002159 abnormal effect Effects 0.000 abstract description 5
- 230000008569 process Effects 0.000 description 6
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 239000011449 brick Substances 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/654—Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1441—Resetting or repowering
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供一种基于非易失存储标签的程序在线升级方法,包括:boot引导程序通过读取电子标签判断是否进入升级模式;进入升级模式接收并校验待升级文件;根据校验待升级文件的结果选择是否要求重传文件,若校验通过将待升级文件写入非易失存储器;确认非易失存储器中数据写入是否成功,若写入失败,则重复写入操作;若写入成功,则更改电子标签为正常工作模式;判断电子标签是否更改成功,若电子标签更改失败,则重复更改操作,若电子标签更改成功,则进行硬件复位。本发明能够解决在线升级功能在面对异常错误设备升级失败必须拆开机器进行重新烧写的问题,确保产品可维护性。
Description
技术领域
本发明涉及雷达技术领域,具体涉及一种基于非易失存储标签的程序在线升级方法。
背景技术
如今随着电子***的复杂度提升,大多数产品均需要支持软件程序和数据的在线升级功能,用来帮助***适时进行功能升级或者BUG修复,保证产品的可维护性。不同设备的工作环境不同,难免会出现升级过程中的一些意外情况,例如:意外断电、通信线路中断等,均可能导致在线升级失败,致使软件程序或重要数据文件损坏,***再次上电将无法正常启动,必须返厂拆卸模块重新用专用烧写设备重新烧写程序文件,在外场难以操作,影响产品可维护性。
高安全性***在运行期间针对可靠性和安全性有极高要求,若存在在线升级功能,必须避免运行正常程序的过程中任何异常情况导致***运行至升级模式,确保***在正常模式安全运行。
发明内容
有鉴于此,本说明书实施例提供一种基于非易失存储标签的程序在线升级方法,以解决现有技术中影响高安全性***的正常运行的问题。
本说明书实施例提供以下技术方案:一种基于非易失存储标签的程序在线升级方法,包括:
boot引导程序通过读取电子标签判断是否进入升级模式;
进入升级模式接收并校验待升级文件;
根据校验待升级文件的结果选择是否要求重传文件,若校验通过将待升级文件写入非易失存储器;
确认非易失存储器中数据写入是否成功,若写入失败,则重复写入操作;若写入成功,则更改电子标签为正常工作模式;
判断电子标签是否更改成功,若电子标签更改失败,则重复更改操作,若电子标签更改成功,则进行硬件复位。
与现有技术相比,本说明书实施例采用的上述至少一个技术方案能够达到的有益效果至少包括:解决在线升级功能在面对异常错误设备升级失败必须拆开机器进行重新烧写的问题,确保产品可维护性;将升级功能程序与正常功能程序物理隔离,避免在正常程序运行过程中异常进入升级模式,影响***安全高效运行。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本发明实施例的流程示意图。
具体实施方式
下面结合附图对本申请实施例进行详细描述。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
本发明提供了一种基于非易失存储标签的程序在线升级方法,其主要应用硬件包括上位机和下位机两部分。
上位机为带有以太网或USB等通用标准接口的普通PC机,电脑安装有相对应的跨平台上位机软件,上位机软件通过通用接口与下位机通信。上位机使用QT集成开发环境开发,具有跨平台特性,既可以在Windows操作***上运行,也可以在Linux操作***上运行。上位机程序具有友好的人机交互界面,与下位机进行通信,实现上位机指令的下发,并将下位机响应情况和应用程序信息上传。
下位机部分如果支持文件***,可以通过文件形式实现对正常工作程序、在线升级程序以及电子标签的管理,如果不支持文件***,则通过对存储器地址偏移的方式实现物理分区,为正常工作程序、在线升级程序以及电子标签分配独立分区,实现对其管理。下位机需要有一定空间的SRAM存储空间,用于在文件升级过程中进行数据缓存和对比校验。
下位机程序或文件包括如下:
1)boot程序:启动引导程序,负责基本硬件初始化,判断最终引导哪个程序,安全等级非常高,不需要升级;
2)在线升级程序:由boot程序引导启动,启动后进入在线升级模式,仅仅执行在线升级操作,与上位机进行通信,安全等级较低,不需要升级;
3)正常工作程序:由boot程序引导启动,启动后进入***正常工作模式,实现***正常功能,安全等级较高,需要适时根据需要进行升级;
4)电子标签:8位标识,用于boot程序识别进入何种工作模式,引导何种程序,可读可写。
如图1所示,本发明基于非易失存储标签的程序在线升级方法具体包括以下步骤:
***上电或者***复位后,首先boot程序启动执行,在进行必要硬件初始化后,开始引导程序启动流程,首先从非易失存储设备读取电子标签,识别标签内容是否进入升级模式。若标签显示进入正常工作模式,则加载正常工作程序并启动执行;若标签显示进入升级模式,则加载在线升级程序并启动执行。
当进入了正常工作模式时,如果收到升级指令,将会将电子标签改为升级模式,更改完成后将会将电子标签再次读取出来确认更改完成,如果更改未成功将会上报标签状态更改失败然后再次进入电子标签更改程序,若电子标签更改未升级模式成功,将会进行***复位,重新启动判断电子标签从而进入升级模式。
当***进入升级模式时,将等待上位机下载待升级程序文件,下载成功后将会将文件数据存放在SRAM中,并对下载的数据进行CRC校验,如果校验不通过,江湖上报升级故障,并要求重传文件。如果下载文件校验成功,将会将文件数据进行非易失存储写入,将会在非易失存储中正常工作程序空间进行覆盖写入,当写入完成,将刚写入的数据读取到SRAM的另一块区域,与下载的SRAM中待升级程序文件进行对比校验,如果校验通过则认为已经成功升级。当非易失存储中已经成功写入升级程序,需要再次将电子标签更改为正常工作模式,更改后读取电子标签确认已经更改成功后上报升级成功并进行***复位进入正常工作模式,若标签更改失败将上报标签更改失败状态并在此进入更改电子标签流程,直至更改成功。
如果在升级完成后状态切换重启之前发生意外掉电,则有掉电延时电源,保证硬件处理平台50ms工作时间,确保标签更改操作不被打断。若还未进入更改电子标签操作即掉电,则下次上电会继续进入在线升级模式,继续进行升级操作,可避免***正常工作程序破坏导致***无法启动必须返厂拆机操作。
本发明具有以下有益效果:
1、为高安全性***提供了一种在线升级的方法,可以在不拆开设备的情况下可以通过通用接口实现***程序的升级,无需专用设备,普通电脑即可完成;
2、操作流程简单,使用人机交互界面,智能操作,无需专业人员,降低人工成本;
3、在线操作,无需***下电,不需要拆卸设备;
4、安全性高,可以避免因为异常断电或者通信中断等情况导致的***程序损坏***无法启动的问题,***不会因为升级失败而变“砖头”不得不返厂;
5、升级程序和正常工作程序不会在同一个时空共同存在,避免了正常工作过程中由于软件异常分支导致意外触发升级模式的情况,在物理上确保了软件程序的安全运行。
以上所述,仅为本发明的具体实施例,不能以其限定发明实施的范围,所以其等同组件的置换,或依本发明专利保护范围所作的等同变化与修饰,都应仍属于本专利涵盖的范畴。另外,本发明中的技术特征与技术特征之间、技术特征与技术方案之间、技术方案与技术方案之间均可以自由组合使用。
Claims (5)
1.一种基于非易失存储标签的程序在线升级方法,其特征在于,包括:
boot引导程序通过读取电子标签判断是否进入升级模式;
进入升级模式接收并校验待升级文件;
根据校验待升级文件的结果选择是否要求重传文件,若校验通过将待升级文件写入非易失存储器;
确认非易失存储器中数据写入是否成功,若写入失败,则重复写入操作;若写入成功,则更改电子标签为正常工作模式;
判断电子标签是否更改成功,若电子标签更改失败,则重复更改操作,若电子标签更改成功,则进行硬件复位。
2.根据权利要求1所述的基于非易失存储标签的程序在线升级方法,其特征在于,所述boot引导程序通过读取电子标签判断是否进入升级模式具体为:
若电子标签显示进入正常工作模式,则加载正常工作程序并启动执行;
若电子标签显示进入升级模式,则加载在线升级程序并启动执行。
3.根据权利要求2所述的基于非易失存储标签的程序在线升级方法,其特征在于,
当进入正常工作模式时,如果收到升级指令,则会将电子标签改为升级模式,更改完成后确认电子标签是否更改成功,若电子标签更改未成功将会上报电子标签状态并再次进入电子标签更改程序;若电子标签更改成功,将会进行***复位,重新启动判断电子标签并进入升级模式。
4.根据权利要求3所述的基于非易失存储标签的程序在线升级方法,其特征在于,
当进入升级模式时,将等待上位机下载待升级程序文件,下载成功后将会将待升级程序文件数据存放在SRAM中,并对待升级程序文件数据进行CRC校验,如果校验不通过,将会上报升级故障,并要求重传文件;如果校验通过,将待升级程序文件在非易失存储中正常工作程序空间进行覆盖写入;
当写入完成时,将写入的待升级程序文件读取到SRAM的另一块区域,与下载的SRAM中待升级程序文件进行对比校验,如果校验通过则认为已经成功升级;
当升级程序文件成功写入非易失存储中后,将电子标签更改为正常工作模式,更改后读取电子标签,确认已经更改成功后上报升级成功并进行***复位,boot程序引导进入正常工作模式;当电子标签更改失败时,上报电子标签更改失败状态并再次进入更改电子标签程序,直至电子标签状态更改成功。
5.根据权利要求4所述的基于非易失存储标签的程序在线升级方法,其特征在于,在硬件复位之前发生意外掉电,则通过掉电延时电源进行供电,以确保电子标签更改操作能够完成。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310884276.XA CN117055932A (zh) | 2023-07-13 | 2023-07-13 | 基于非易失存储标签的程序在线升级方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310884276.XA CN117055932A (zh) | 2023-07-13 | 2023-07-13 | 基于非易失存储标签的程序在线升级方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117055932A true CN117055932A (zh) | 2023-11-14 |
Family
ID=88665311
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310884276.XA Pending CN117055932A (zh) | 2023-07-13 | 2023-07-13 | 基于非易失存储标签的程序在线升级方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117055932A (zh) |
-
2023
- 2023-07-13 CN CN202310884276.XA patent/CN117055932A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7050859B1 (en) | Systems and methods to port controller state and context in an open operating system | |
US7991988B2 (en) | Communication device and firmware update method thereof | |
US7428663B2 (en) | Electronic device diagnostic methods and systems | |
CN101329631B (zh) | 一种嵌入式***自动检测和恢复启动的方法及装置 | |
JP4482029B2 (ja) | 無線基地局および無線基地局の運用方法 | |
CN110928499A (zh) | 一种芯片内嵌的flash存储器、芯片以及芯片的启动方法 | |
CN111651174A (zh) | 一种mcu程序远程升级方法和*** | |
CN105468390B (zh) | Boot在线升级装置及方法 | |
CN108920168B (zh) | 支持多个同类ECU同时升级且具防程序不匹配功能的Bootloader方法 | |
CN117130672A (zh) | 服务器启动流程控制方法、***、终端及存储介质 | |
CN102479124B (zh) | 一种测试方法 | |
CN107844312A (zh) | 一种软件更新监控方法和*** | |
JP3093541B2 (ja) | プログラムおよびデータの版数管理を行う端末装置およびオンラインシステム | |
CN117055932A (zh) | 基于非易失存储标签的程序在线升级方法 | |
JP2005284902A (ja) | 端末装置、その制御方法及び制御プログラム、ホスト装置、その制御方法及び制御プログラム、遠隔更新システム、方法及びプログラム | |
US11586504B2 (en) | Electronic apparatus and boot method thereof | |
CN113377425B (zh) | Bmc固件生成方法和装置、bmc启动方法和装置及存储介质 | |
CN111783162B (zh) | 数据保护实现方法、装置及计算机设备 | |
CN112988465A (zh) | 一种单片机升级失败自动恢复运行的方法 | |
CN111897583A (zh) | 一种设备启动方法及嵌入式设备 | |
CN110569150A (zh) | 一种盘片启动方法、***、装置及固态硬盘 | |
CN116302021B (zh) | BootLoader程序在线升级方法、控制单元及新能源汽车 | |
CN111666094B (zh) | 一种实时固件升级***与方法 | |
US7069471B2 (en) | System PROM integrity checker | |
CN114327535A (zh) | 一种bmc固件更新保护方法及相关组件 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |