CN106598781A - 一种系统软件升级方法 - Google Patents

一种系统软件升级方法 Download PDF

Info

Publication number
CN106598781A
CN106598781A CN201611083294.4A CN201611083294A CN106598781A CN 106598781 A CN106598781 A CN 106598781A CN 201611083294 A CN201611083294 A CN 201611083294A CN 106598781 A CN106598781 A CN 106598781A
Authority
CN
China
Prior art keywords
upgrading
upgrade
system software
flag bit
preset time
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
CN201611083294.4A
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.)
Huizhou Foryou General Electronics Co Ltd
Original Assignee
Huizhou Foryou General Electronics Co 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 Huizhou Foryou General Electronics Co Ltd filed Critical Huizhou Foryou General Electronics Co Ltd
Priority to CN201611083294.4A priority Critical patent/CN106598781A/zh
Publication of CN106598781A publication Critical patent/CN106598781A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1433Saving, restoring, recovering or retrying at system level during software upgrading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供系统软件升级方法,方法包括:S1、系统上电启动;S2、检测升级标志位是否有效,是则进入S3,否则进入S7;S3、加载最小系统;S4、检测升级文件是否正确,是则进入下一步,否则进入S7;S5、进入系统升级流程;S6、检测系统升级是否完成,是则将升级标志位设置为无效,否则返回S1;S7、读取主程序文件加载系统,并判断系统启动是否成功,是则将升级标志位设置为无效,否则返回S1;S8、检测是否启动系统升级,是则将升级标志位设置为有效。本发明实现了系统的可反复升级,提高了系统升级程序的健壮性。

Description

一种系统软件升级方法
技术领域
本发明涉及嵌入式软件领域,尤其涉及一种系统软件升级方法。
背景技术
目前,车载信息系统的功能越来越多,更新也越来越频繁,在丰富方便用户生活的同时,也带来了大量的升级操作。然而,对于终端用户来说,升级系统往往都比较繁琐,而且具备一定风险。在现有的升级技术中,用户稍有操作不慎就会导致升级失败,尤其在升级系统文件时,如果升级失败往往会导致车载信息系统无法正常启动,而且更麻烦的是,车载信息系统一般都是固定安装在中控台上,非专业人员一般无法拆卸下来,即便去专业的维修点,也需要先将整机拆下,然后通过特定的升级工具重新在Flash中写入数据才能恢复正常,维修费用高,耗时长,严重影响了用户的正常使用。
因此,现有技术有待进一步改进。
发明内容
本发明提供一种系统软件升级方法,旨在解决现有技术中的缺陷,实现可对系统反复升级直至成功,而且正常使用时启动时间不会延长。
为达到上述目的,本发明所采取的技术方案为:
本发明提供一种系统软件升级方法,包括:
S1、系统上电启动;
S2、检测升级标志位是否有效,是则进入S3,否则进入S7;
S3、加载最小系统;
S4、检测升级文件是否正确,是则进入下一步,否则进入S7;
S5、进入系统升级流程;
S6、检测系统升级是否完成,是则将升级标志位设置为无效,否则返回S1;
S7、读取主程序文件加载系统,并判断系统启动是否成功,是则将升级标志位设置为无效,否则返回S1;
S8、检测是否启动系统升级,是则将升级标志位设置为有效。
进一步地,所述S1之后还包括:
S11、检测是否启动强制升级请求,是则将升级标志位设置为有效。
进一步地,所述S4之后还包括:
S41、检测是否放弃升级,是则进入S7,否则进入下一步。
具体地,所述检测是否启动强制升级请求包括:
S110、检测到系统上电后,开始计时;
S120、在第一预设时间内是否检测到触发强制升级请求的操作。
具体地,所述检测是否放弃升级包括:
S410、升级文件检测正确后,开始计时,计时时长为第二预设时间;
S420、在第二预设时间内是否检测到触发放弃升级的操作。
具体地,所述第一预设时间为3~5秒。
具体地,所述第二预设时间为3~20秒。
具体地,所述第二预设时间为10秒。
本发明的有益效果在于:本发明通过设置最小系统,以及在Bootloader中设置升级标志位,通过检测升级标志位来判断是否进行升级,如升级则先进入最小系统,实现了系统的可反复升级,提高了系统升级程序的健壮性。
附图说明
图1是本发明的系统软件升级的系统文件结构示意图;
图2是本发明的系统软件升级的流程示意图。
具体实施方式
下面结合附图具体阐明本发明的实施方式,附图仅供参考和说明使用,不构成对本发明专利保护范围的限制。
如图1所示,在系统存储模块中,设置一个区域存放Bootloader文件,并在其中设置一升级标志位,用于标示是否进行系统升级;紧邻Bootloader文件存放的是主程序文件(MAIN SYSTEM),即系统正常启动的文件,包括系统设置(SETTING)和程序文件(APP);在独立于Bootloader文件和MAIN SYSTEM文件之外,设置一区域存放最小系统文件(MINSYSTEM),当系统需要升级时,首先进入最小系统,完成系统的初始化和升级准备。
本发明提供一种基于上述设备的软件升级方法,如图2所示,包括:
步骤1、系统上电启动。
系统可以通过重启进行热启动,也可以通过第一次接通电源进行冷启动。
步骤2、检测升级标志位是否有效,是则进入步骤3,否则进入步骤7。
如前所述,在Bootloader文件中设置了一升级标志位,用于标示是否进行系统升级。在系统启动后,Bootloader首先检测该升级标志位是否有效(例如,被置为1),如是则表示系统需要进行升级。当然,也可以根据实际需要将升级标志位设置为0来表示系统需要进行升级。
步骤3、加载最小系统。
所述最小系统进行硬件初始化和其它设置,以便使USB检测功能、升级功能正常运行。
步骤4、检测升级文件是否正确,是则进入下一步,否则进入步骤7。
所述升级文件是否正确包括升级文件是否存在、升级文件的校验是否通过等。升级文件是否存在可以通过判断文件名是否符合预设规则来确定,升级文件的校验是否通过可以通过常规的校验算法,例如CRC来进行。
步骤5、进入系统升级流程。
系统升级流程主要是对主程序文件(MAIN SYSTEM)进行擦写覆盖操作。
步骤6、检测系统升级是否完成,是则将升级标志位设置为无效,否则返回步骤1。
在升级过程中,由于种种原因(例如断电、升级文件被移除等)导致升级可能因为被中断而失败,此时主程序文件(MAIN SYSTEM)将是不完整的,此时通过返回步骤1进行上电启动,再次进入升级流程,保证了在升级失败、主程序文件(MAIN SYSTEM)被破坏时也可以对系统进行重复升级恢复正常。当系统升级成功后,将升级标志自动设置为无效(例如,置为0),这样,在下一次进入系统后,就不必再次进入最小系统,直接读取主程序文件(MAINSYSTEM)完成系统启动,提高了系统开机时间,提高了用户体验。
步骤7、读取主程序文件加载系统,并判断系统启动是否成功,是则将升级标志位设置为无效,否则返回步骤1。
当系统升级请求被接收后,但是由于种种原因导致升级文件不正确,则应当在判断升级文件不正确后,跳转到读取主程序文件(MAIN SYSTEM),加载系统,在系统启动成功后,将升级标志位设置为无效,避免在下次上电启动后又进入最小系统。而当系统启动不成功时,升级标志位上一次的状态维持不变。
步骤8、检测是否启动系统升级,是则将升级标志位设置为有效。
当用户需要在系统启动成功后启动升级,则可以通过触发升级指令(例如点击UI上的升级图标)来将升级标志位设置为有效(例如,置为1),当系统下次上电启动后,则可以进入升级程序。
在本发明的另一个实施例中,所述步骤1之后还包括:
步骤11、检测是否启动强制升级请求,是则将升级标志位设置为有效。
在本实施例中,所述检测是否启动强制升级请求包括:
步骤110、检测到系统上电后,开始计时;
步骤120、在第一预设时间内是否检测到触发强制升级请求的操作。
所述触发强制升级请求的操作包括以特定方式按下特定按键(例如长按某预设按键3秒以上,或者按住电源键和音量键不放)。
当强制升级请求启动后,自动将升级标志位设置为有效,从而进入升级程序。所述第一预设时间为3~5秒。
在本发明的另一个实施例中,所述步骤4之后还包括:
步骤41、检测是否放弃升级,是则进入步骤7,否则进入下一步。
在本实施例中,所述检测是否放弃升级包括:
步骤410、升级文件检测正确后,开始计时,计时时长为第二预设时间;
在本实施例中,在用户界面上显示计时时长为第二预设时间的倒计时,所述第二预设时间为3~20秒,优选为10秒。
步骤420、在第二预设时间内是否检测到触发放弃升级的操作。
所述触发强制升级请求的操作包括以特定方式按下特定按键(例如长按某预设按键3秒以上)来放弃升级。
以上所揭露的仅为本发明的较佳实施例,不能以此来限定本发明的权利保护范围,因此依本发明申请专利范围所作的等同变化,仍属本发明所涵盖的范围。

Claims (8)

1.一种系统软件升级方法,其特征在于,包括:
S1、系统上电启动;
S2、检测升级标志位是否有效,是则进入S3,否则进入S7;
S3、加载最小系统;
S4、检测升级文件是否正确,是则进入下一步,否则进入S7;
S5、进入系统升级流程;
S6、检测系统升级是否完成,是则将升级标志位设置为无效,否则返回S1;
S7、读取主程序文件加载系统,并判断系统启动是否成功,是则将升级标志位设置为无效,否则返回S1;
S8、检测是否启动系统升级,是则将升级标志位设置为有效。
2.根据权利要求1所述的系统软件升级方法,其特征在于,所述S1之后还包括:
S11、检测是否启动强制升级请求,是则将升级标志位设置为有效。
3.根据权利要求1所述的系统软件升级方法,其特征在于,所述S4之后还包括:
S41、检测是否放弃升级,是则进入S7,否则进入下一步。
4.根据权利要求2所述的系统软件升级方法,其特征在于,所述检测是否启动强制升级请求包括:
S110、检测到系统上电后,开始计时;
S120、在第一预设时间内是否检测到触发强制升级请求的操作。
5.根据权利要求3所述的系统软件升级方法,其特征在于,所述检测是否放弃升级包括:
S410、升级文件检测正确后,开始计时,计时时长为第二预设时间;
S420、在第二预设时间内是否检测到触发放弃升级的操作。
6.根据权利要求4所述的系统软件升级方法,其特征在于,所述第一预设时间为3~5秒。
7.根据权利要求5所述的系统软件升级方法,其特征在于,所述第二预设时间为3~20秒。
8.根据权利要求5所述的系统软件升级方法,其特征在于,所述第二预设时间为10秒。
CN201611083294.4A 2016-11-30 2016-11-30 一种系统软件升级方法 Pending CN106598781A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611083294.4A CN106598781A (zh) 2016-11-30 2016-11-30 一种系统软件升级方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611083294.4A CN106598781A (zh) 2016-11-30 2016-11-30 一种系统软件升级方法

Publications (1)

Publication Number Publication Date
CN106598781A true CN106598781A (zh) 2017-04-26

Family

ID=58594414

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611083294.4A Pending CN106598781A (zh) 2016-11-30 2016-11-30 一种系统软件升级方法

Country Status (1)

Country Link
CN (1) CN106598781A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107179928A (zh) * 2017-05-12 2017-09-19 深圳市四海众联网络科技有限公司 一种通信设备自动升级的方法
CN107451000A (zh) * 2017-07-03 2017-12-08 杭州中天微系统有限公司 一种系统升级检测方法
CN108829442A (zh) * 2017-05-04 2018-11-16 杭州海康威视数字技术股份有限公司 程序启动方法及装置
CN108833128A (zh) * 2018-04-17 2018-11-16 苏州佳世达电通有限公司 一种设备更新的方法
CN111372133A (zh) * 2020-03-13 2020-07-03 青岛海信传媒网络技术有限公司 一种预约升级的方法及显示设备
CN116719549A (zh) * 2023-08-02 2023-09-08 麒麟软件有限公司 一种新型Linux操作系统无损升级方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103699421A (zh) * 2014-01-08 2014-04-02 金三立视频科技(深圳)有限公司 嵌入式设备系统升级方法及其装置
US20150046915A1 (en) * 2013-08-06 2015-02-12 Salesforce.Com, Inc. Providing an improved web user interface framework for building web applications
CN105893090A (zh) * 2016-03-31 2016-08-24 武汉光迅科技股份有限公司 一种嵌入式系统bootrom和应用程序升级方法
CN106155752A (zh) * 2016-08-03 2016-11-23 北京蛙视通信技术股份有限公司 一种嵌入式操作系统启动的方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150046915A1 (en) * 2013-08-06 2015-02-12 Salesforce.Com, Inc. Providing an improved web user interface framework for building web applications
CN103699421A (zh) * 2014-01-08 2014-04-02 金三立视频科技(深圳)有限公司 嵌入式设备系统升级方法及其装置
CN105893090A (zh) * 2016-03-31 2016-08-24 武汉光迅科技股份有限公司 一种嵌入式系统bootrom和应用程序升级方法
CN106155752A (zh) * 2016-08-03 2016-11-23 北京蛙视通信技术股份有限公司 一种嵌入式操作系统启动的方法及装置

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108829442A (zh) * 2017-05-04 2018-11-16 杭州海康威视数字技术股份有限公司 程序启动方法及装置
CN108829442B (zh) * 2017-05-04 2021-12-14 杭州海康威视数字技术股份有限公司 程序启动方法及装置
CN107179928A (zh) * 2017-05-12 2017-09-19 深圳市四海众联网络科技有限公司 一种通信设备自动升级的方法
CN107451000A (zh) * 2017-07-03 2017-12-08 杭州中天微系统有限公司 一种系统升级检测方法
CN107451000B (zh) * 2017-07-03 2021-03-02 杭州中天微系统有限公司 一种系统升级检测方法
CN108833128A (zh) * 2018-04-17 2018-11-16 苏州佳世达电通有限公司 一种设备更新的方法
CN111372133A (zh) * 2020-03-13 2020-07-03 青岛海信传媒网络技术有限公司 一种预约升级的方法及显示设备
CN116719549A (zh) * 2023-08-02 2023-09-08 麒麟软件有限公司 一种新型Linux操作系统无损升级方法
CN116719549B (zh) * 2023-08-02 2023-11-28 麒麟软件有限公司 一种新型Linux操作系统无损升级方法

Similar Documents

Publication Publication Date Title
CN106598781A (zh) 一种系统软件升级方法
CN109240720B (zh) 一种安卓系统的固件升级方法及一种存储设备
CN107783776B (zh) 固件升级包的处理方法及装置、电子设备
US11995427B2 (en) Method, apparatus, device, and storage medium for upgrading vehicle-mounted Tbox
CN106303709B (zh) 一种机顶盒及其应用程序升级方法、系统
WO2016078060A1 (zh) 用于多系统终端的系统升级方法、升级装置和终端
CN105760191A (zh) 嵌入式系统设备程序烧写量产方法
CN102609290B (zh) 电子产品的软件升级方法
US20100049961A1 (en) Update method for basic input/output system and update system thereof
CN105677409B (zh) 一种系统升级方法及装置
CN107450953B (zh) 一种更新bios的方法及装置
CN106648768A (zh) 一种升级设备的方法及系统
CN106775847B (zh) 一种板卡软件版本更新方法及装置
CN107087164A (zh) 一种设备开机的方法和装置
US7254701B2 (en) Method and device for safeguarding a digital process device
CN105279002B (zh) 嵌入式系统中基于系统引导文件的自动升级方法
CN102262573B (zh) 操作系统启动保护方法和装置
CN114138295A (zh) 一种电子设备的应用程序固件升级方法、装置及系统
CN103995717A (zh) 一种嵌入式设备软件升级的方法
CN110096882B (zh) 一种设备运行过程中的安全度量方法
CN106658192A (zh) 一种用于系统升级的控制方法及装置
CN102184115B (zh) 升级系统软件的方法及终端设备
CN103686370A (zh) 一种智能电视开机启动方法及系统
CN109542469B (zh) 一种bios芯片替代电路实现方法
CN107491326A (zh) 一种车载导航自动适配软件升级方法

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20170426

RJ01 Rejection of invention patent application after publication