CN106598781A - 一种系统软件升级方法 - Google Patents
一种系统软件升级方法 Download PDFInfo
- 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
Links
Classifications
-
- 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/1433—Saving, restoring, recovering or retrying at system level during software upgrading
-
- 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
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秒。
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)
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)
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 | 北京蛙视通信技术股份有限公司 | 一种嵌入式操作系统启动的方法及装置 |
-
2016
- 2016-11-30 CN CN201611083294.4A patent/CN106598781A/zh active Pending
Patent Citations (4)
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)
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 |