CN109240720B - 一种安卓***的固件升级方法及一种存储设备 - Google Patents
一种安卓***的固件升级方法及一种存储设备 Download PDFInfo
- Publication number
- CN109240720B CN109240720B CN201810966474.XA CN201810966474A CN109240720B CN 109240720 B CN109240720 B CN 109240720B CN 201810966474 A CN201810966474 A CN 201810966474A CN 109240720 B CN109240720 B CN 109240720B
- Authority
- CN
- China
- Prior art keywords
- boot
- recovery
- partition
- firmware
- 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.)
- Active
Links
Images
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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及嵌入式开发测试技术领域,特别涉及一种安卓***的固件升级方法及一种存储设备。所述一种安卓***的固件升级方法,包括步骤:获取升级包;在“引导通信分区”位置2写入升级引导信息;重启***,若“引导通信分区”位置1和位置2都有Recovery标记,则引导“只读可信操作***”和“只读二级引导程序”,并引导设备进入Recovery***;根据固件升级操作指令,使用升级包对设备固件进行升级。通过以上方法,若在升级的过程中出现意外中断,当设备重新上电后,因为“引导通信分区”位置1和位置2的Recovery标记都存在,则“一级引导程序”仍可以顺利引导“只读可信操作***”和“只读二级引导程序”,并对设备固件进行重新升级,避免设备变砖的问题。
Description
技术领域
本发明涉及嵌入式开发测试技术领域,特别涉及一种安卓***的固件升级方法及一种存储设备。
背景技术
随着Android***越来越广泛地被使用,越来越多的用户会涉及到Andorid***的升级。现有技术中,Android***中的固件升级方法有两种:
1.Recovery模式升级,在这种升级模式下,如果在升级固件过程中出现掉电等意外,可能导致设备变砖,再次上电无法启动。如在升级uboot,turst和boot的过程中出现掉电,则设备必然变砖。
2.AB升级,在AB升级模式下,***中每一个要升级的固件分区,如uboot,trust,boot,system,vendor等,都要有两个分区(a和b),如system_a和system_b,这种升级方式能够保证升级的可靠性,避免升级过程中设备变砖。这种方式在保证可靠性的同时降低了设备中存储介质的空间利用率,而存储介质是非常宝贵的***资源,因此这种方法大幅降低了设备中存储介质的空间利用率,增加了设备器件成本。
而现有的改进的研究方法集中在以下几个方面,而是要么关注应用程序的升级,要么关注升级包的生成方式,要么关注升级包的管理,要么关注升级交互协议,所有这些都不涉及到固件升级机制本身地研究。
要么只关注Android应用程序(APP)的升级,这方面不涉及到Android***固件升级。
要么关注升级包的生成方式,这类研究重点关注升级包的构建,用特殊方式构建升级包,同时在升级过程中以对应的方式进行解包,这类研究不涉及到Android固件升级机制本身,最终升级时还是使用上面的传统“Recovery”模式。
要么关注升级包的管理,此类研究关注升级服务器管理升级包的技术,不涉及到固件升级机制本身。
要么关注设备与远程包管理服务器交互的升级协议,这类研究也不涉及到Android固件升级机制本身,最终升级时还是使用上面的传统“Recovery”模式。
发明内容
为此,需要提供一种安卓***的固件升级方法,用以解决安卓***固件升级无法兼顾预防升级过程断电设备变砖和提高存储介质空间利用率的问题。具体技术方案如下:
一种安卓***的固件升级方法,包括步骤:获取升级包;在“引导通信分区”位置2写入升级引导信息,所述升级引导信息包括:Recovery标记和固件升级操作指令;重启***,“一级引导程序”检测“引导通信分区”位置1和位置2是否都有Recovery标记,若“引导通信分区”位置1和位置2都有Recovery标记,则引导“只读可信操作***”和“只读二级引导程序”,且在“只读二级引导程序”中引导设备进入Recovery***;在Recovery***中根据“引导通信分区”位置2的固件升级操作指令,使用所述升级包对设备固件进行升级;若“引导通信分区”位置1和位置2不都有Recovery标记,则引导“可信操作***”和“二级引导程序”,且根据“二级引导程序”中预置的Recovery模式触发条件,依次检测是否引导设备进入Recovery模式,若检测到引导设备进入Recovery模式,则在“引导通信分区”的位置1和位置2同时写入Recovery标记,并在写“引导通信分区”位置2时保留已有的Recovery操作指令;重启***,重复步骤““一级引导程序”检测“引导通信分区”位置1和位置2是否都有Recovery标记”。
进一步的,还包括步骤:固件升级后,清除“引导通信分区”位置2的升级引导信息;重启***,“一级引导程序”引导设备进入升级后的***。
进一步的,还包括步骤:若检测到引导设备不进入Recovery模式,则引导“非可信操作***”,并由“非可信操作***”引导“安卓主***”。
进一步的,所述预置的Recovery模式触发条件包括:是否按下特定物理按键、芯片内特定内存区的标记值、特定寄存器值和“引导通信分区”位置2内容中的一种或多种。
进一步的,所述“获取升级包”,还包括步骤:通过网络或外部存储介质获取升级包,并校验所述升级包是否合法;所述升级包不包括固定保存不变的分区映像,所述固定保存不变的分区映像包括:“一级引导程序”、“只读二级引导程序”、“只读可信操作***”和“Recovery***”。
为解决上述问题,还提供了一种存储设备,具体技术方案如下:
一种存储设备,其中存储有指令集,所述指令集用于执行:获取升级包;在“引导通信分区”位置2写入升级引导信息,所述升级引导信息包括:Recovery标记和固件升级操作指令;重启***,“一级引导程序”检测“引导通信分区”位置1和位置2是否都有Recovery标记,若“引导通信分区”位置1和位置2都有Recovery标记,则引导“只读可信操作***”和“只读二级引导程序”,且在“只读二级引导程序”中引导设备进入Recovery***;在Recovery***中根据“引导通信分区”位置2的固件升级操作指令,使用所述升级包对设备固件进行升级;若“引导通信分区”位置1和位置2不都有Recovery标记,则引导“可信操作***”和“二级引导程序”,且根据“二级引导程序”中预置的Recovery模式触发条件,依次检测是否引导设备进入Recovery模式,若检测到引导设备进入Recovery模式,则在“引导通信分区”的位置1和位置2同时写入Recovery标记,并在写“引导通信分区”位置2时保留已有的Recovery操作指令;重启***,重复步骤““一级引导程序”检测“引导通信分区”位置1和位置2是否都有Recovery标记”。
进一步的,所述指令集还用于执行:固件升级后,清除“引导通信分区”位置2的升级引导信息;重启***,“一级引导程序”引导设备进入升级后的***。
进一步的,所述指令集还用于执行:若检测到引导设备不进入Recovery模式,则引导“非可信操作***”,并由“非可信操作***”引导“安卓主***”。
进一步的,所述预置的Recovery模式触发条件包括:是否按下特定物理按键、芯片内特定内存区的标记值、特定寄存器值和“引导通信分区”位置2内容中的一种或多种。
进一步的,所述指令集还用于执行:所述“获取升级包”,还包括步骤:通过网络或外部存储介质获取升级包,并校验所述升级包是否合法;所述升级包不包括固定保存不变的分区映像,所述固定保存不变的分区映像包括:“一级引导程序”、“只读二级引导程序”、“只读可信操作***”和“Recovery***”。
本发明的有益效果是:通过以上固件升级方法,若在升级的过程中出现意外中断(如掉电等),当设备重新上电后,因为“引导通信分区”位置1和位置2的Recovery标记都存在,则“一级引导程序”仍可以顺利引导“只读可信操作***”和“只读二级引导程序”,并且由“只读二级引导程序”再次引导设备进入Recovery***,在Recovery***中根据“引导通信分区”位置2的固件升级操作指令,使用所述升级包对设备固件进行重新升级。通过以上方式,解决了即便升级过程中突然中断,也避免设备变砖的问题。且通过该方法,无需每一个要升级的固件分区都要有两个分区,从而避免宝贵的存储介质空间的浪费,大大降低设备硬件成本,提高空间利用率。
附图说明
图1为一种安卓***的固件升级方法的流程图;
图2为一种安卓***的固件升级方法的检测到引导设备不进入Recovery模式的流程图;
图3为具体实施方式所述存储设备的模块示意图。
附图标记说明:
300、存储设备。
具体实施方式
为详细说明技术方案的技术内容、构造特征、所实现目的及效果,以下结合具体实施例并配合附图详予说明。
本发明最关键的发明构思在于:正常升级过程中,当“引导通信分区”位置1和位置2都有Recovery标记,才进行升级,因此就算升级过程中设备突然意外掉电等等,设备重新上电后,因为“引导通信分区”位置1和位置2的Recovery标记都在,则“一级引导程序”仍可以顺利引导“只读可信操作***”和“只读二级引导程序”,并且由“只读二级引导程序”再次引导设备进入Recovery***,在Recovery***中根据“引导通信分区”位置2的固件升级操作指令,使用所述升级包对设备固件进行重新升级。通过这种处理,即避免升级过程掉电设备变砖,也避免宝贵的存储介质空间的浪费。
请参阅图1,首先对本实施方式中的一些名词及概念做以下解释说明:
1、固件升级主要涉及的***包括:固件分区表结构、固件升级包生成子***、一级引导程序、二级引导程序、可信操作***、只读二级引导程序、只读可信操作***、Recovery***、非可信操作***和安卓主***。
在本实施方式中,在上述***中,一级引导程序、只读二级引导程序、只读可信操作***、Recovery***在设备出厂后保持不变,不会对其内容进行修改,确保终端设备***在任何时候总是存在一套可以工作的恢复***。
2、接下来对以上部分组成部分进行详细说明:
1)、“固件分区表结构”:所述***的分区表包括二级引导程序分区、可信操作***分区、只读二级引导程序分区、只读可信操作***分区、引导通信分区、Recovery分区、非可信操作***和其他分区(比如“安卓主***分区”等等)。
2)、分区表中的“引导通信分区”:用于Andriod***或Recovery***与引导程序(包括一级引导程序、二级引导程序、只读二级引导程序)进行通信;在该“引导通信分区”设置位置1和位置2;其中在位置1要么为空,要么设置进入Recovery***的标记;在位置2保存Recovery标记和所要执行的操作指令(如固件升级(FOTA,Firmware Over The Air)或恢复出厂设置等等指令)。
3)、“固件升级包生成子***”:所述***的的固件升级包生成子***用于生成待升级分区的固件升级包。升级包不包括一级引导程序、只读可信操作***、只读二级引导程序、Recovery***分区。除上述之外,包括任何其他待升级分区,包括二级引导程序、可信操作***、非可信操作***和其它分区(如“安卓主***分区(system)”等)。
4)、“一级引导程序”:根据“引导通信分区”中位置1和位置2中是否都有Recovery标记来决定后续引导流程,如果两个位置都有Recovery标记,则引导“只读可信操作***”和“只读二级引导程序”,否则引导“可信操作***”和“二级引导程序”。该程序在设备出厂后保持不变,不会对其内容进行修改。
5)、“二级引导程序”:用于从“非可信操作***分区(boot)”引导设备的普通操作***,在该程序中会根据预置的多种Recovery触发条件(如是否按下特定物理按键,或者芯片内特定内存区域的取值,或特定寄存器值,或“引导通信分区”的位置2内容等)来依次检查决定是否要引导设备进入Recovery模式,如果是则在“引导通信分区”的位置1和位置2同时写Recovery标记,在写“引导通信分区”的位置2时要确保保留已有的Recovery操作指令。
6)、“可信操作***”:运行安全操作***,负责对设备敏感信息的访问,保证设备安全。该***可在固件升级过程中进行擦除和升级。
7)、“只读二级引导程序”:用于引导Recovery***。该***在设备出厂后保持不变,不会对其内容进行修改。
8)、“只读可信操作***”:运行安全操作***,负责对设备敏感信息的访问,保证设备安全。该***在设备出厂后保持不变,不会对其内容进行修改。
9)、“Recovery***”:根据“引导通信分区”位置2中保存的操作指令进行相关操作,如固件升级。该***在设备出厂后保持不变,不会对其内容进行修改。
10)、“非可信操作***”:用于引导安卓主***。
在本实施方式中,一种安卓***的固件升级方法的具体实施方式如下:
步骤S101:获取升级包。可采用如下方式:通过网络或外部存储介质获取升级包,并校验所述升级包是否合法;所述升级包不包括固定保存不变的分区映像,所述固定保存不变的分区映像包括:“一级引导程序”、“只读二级引导程序”、“只读可信操作***”和“Recovery***”。在本实施方式中,外部存储介质包括:USB卡/SD卡,在其它实施方式中,亦可以有其它任何方式获取升级包。在本实施方式中,主要通过对升级包进行数字签名来验证升级包是否合法。
获取完升级包后,执行步骤S102:在“引导通信分区”位置2写入升级引导信息,所述升级引导信息包括:Recovery标记和固件升级操作指令。在本实施方式中,固件升级操作指令包括:固件升级(FOTA,Firmware Over The Air)或恢复出厂设置等等。
写完升级引导信息后,执行步骤S103:重启***。重启***后,执行步骤S104:“一级引导程序”检测“引导通信分区”位置1和位置2是否都有Recovery标记。
若“引导通信分区”位置1和位置2都有Recovery标记,则执行步骤S105:引导“只读可信操作***”和“只读二级引导程序”。步骤S106:在“只读二级引导程序”中引导设备进入Recovery***。步骤S107:在Recovery***中根据“引导通信分区”位置2的固件升级操作指令,使用所述升级包对设备固件进行升级。
若“引导通信分区”位置1和位置2不都有Recovery标记,则执行步骤S108:引导“可信操作***”和“二级引导程序”。步骤S109:根据“二级引导程序”中预置的Recovery模式触发条件,依次检测是否引导设备进入Recovery模式。步骤S110:引导设备进入Recovery模式。步骤S111:在“引导通信分区”的位置1和位置2同时写入Recovery标记,并在写“引导通信分区”位置2时保留已有的Recovery操作指令;重启***,重复步骤““一级引导程序”检测“引导通信分区”位置1和位置2是否都有Recovery标记”。
具体的,在本实施方式中,所述预置的Recovery模式触发条件包括:是否按下特定物理按键、芯片内特定内存区的标记值、特定寄存器值和“引导通信分区”位置2内容中的一种或多种。
在本实施方式中,固件升级后,还包括步骤:固件升级后,清除“引导通信分区”位置2的升级引导信息;重启***,“一级引导程序”引导设备进入升级后的***。
从上述描述可知,升级成功后,清除“引导通信分区”位置2的升级引导信息,可避免重启***后又进入升级操作。
请参阅图2,在本实施方式中,若检测到引导设备不进入Recovery模式,执行步骤S212:则引导“非可信操作***”,并由“非可信操作***”引导“安卓主***”。(其中步骤S201-S211与图1均相同,在此不做重复说明)
从上述描述可知,若未检测到启动模式是Recovery模式,则引导进入“安卓主***”,可使手机恢复正常的使用。
通过以上固件升级方法,若在升级的过程中出现意外中断(如掉电等),当设备重新上电后,因为“引导通信分区”位置1和位置2的Recovery标记都存在,则“一级引导程序”仍可以顺利引导“只读可信操作***”和“只读二级引导程序”,并且由“只读二级引导程序”再次引导设备进入Recovery***,在Recovery***中根据“引导通信分区”位置2的固件升级操作指令,使用所述升级包对设备固件进行重新升级。通过以上方式,解决了即便升级过程中突然中断,也避免设备变砖的问题。且通过该方法,无需每一个要升级的固件分区都要有两个分区,从而避免宝贵的存储介质空间的浪费,大大降低设备硬件成本,提高空间利用率。
且在本实施方式中,确保终端***在任何时候总是存在一套可以工作的恢复***,以便上电后继续完成固件升级或者通过外置存储设备对终端***进行恢复,为基于Android的终端在特殊场景下的应用提供可靠性支撑,提高用户满意度。
在本实施方式中,使用升级包升级时,过程中如果出现设备异常(如掉电等),再次上电重启时,若所述升级包是完整包,则Recovery自动继续根据完整包对设备固件进行升级;若所述升级包是差异包,则可通过外部存储介质获取完整版,使用获取的完整包对设备固件进行恢复。
请参阅图3,在本实施方式中,一种存储设备300的具体实施方式如下:
一种存储设备300,其中存储有指令集,所述指令集用于执行:获取升级包;在“引导通信分区”位置2写入升级引导信息,所述升级引导信息包括:Recovery标记和固件升级操作指令;重启***,“一级引导程序”检测“引导通信分区”位置1和位置2是否都有Recovery标记,若“引导通信分区”位置1和位置2都有Recovery标记,则引导“只读可信操作***”和“只读二级引导程序”,且在“只读二级引导程序”中引导设备进入Recovery***;在Recovery***中根据“引导通信分区”位置2的固件升级操作指令,使用所述升级包对设备固件进行升级;若“引导通信分区”位置1和位置2不都有Recovery标记,则引导“可信操作***”和“二级引导程序”,且根据“二级引导程序”中预置的Recovery模式触发条件,依次检测是否引导设备进入Recovery模式,若检测到引导设备进入Recovery模式,则在“引导通信分区”的位置1和位置2同时写入Recovery标记,并在写“引导通信分区”位置2时保留已有的Recovery操作指令;重启***,重复步骤““一级引导程序”检测“引导通信分区”位置1和位置2是否都有Recovery标记”。
具体在本实施方式中:
可通过网络或外部存储介质获取升级包,并校验所述升级包是否合法;所述升级包不包括固定保存不变的分区映像,所述固定保存不变的分区映像包括:“一级引导程序”、“只读二级引导程序”、“只读可信操作***”和“Recovery***”。在本实施方式中,外部存储介质包括:USB卡/SD卡,在其它实施方式中,亦可以有其它任何方式获取升级包。在本实施方式中,主要通过对升级包进行数字签名来验证升级包是否合法。
在本实施方式中,固件升级操作指令包括:固件升级(FOTA,Firmware Over TheAir)或恢复出厂设置等等。
进一步的,所述指令集还用于执行:固件升级后,清除“引导通信分区”位置2的升级引导信息;重启***,“一级引导程序”引导设备进入升级后的***。
从上述描述可知,升级成功后,清除“引导通信分区”位置2的升级引导信息,可避免重启***后又进入升级操作。
进一步的,所述指令集还用于执行:若检测到引导设备不进入Recovery模式,则引导“非可信操作***”,并由“非可信操作***”引导“安卓主***”。
从上述描述可知,若未检测到启动模式是Recovery模式,则引导进入“安卓主***”,可使手机恢复正常的使用。
进一步的,所述预置的Recovery模式触发条件包括:是否按下特定物理按键、芯片内特定内存区的标记值、特定寄存器值和“引导通信分区”位置2内容中的一种或多种。
进一步的,所述指令集还用于执行:所述“获取升级包”,还包括步骤:通过网络或外部存储介质获取升级包,并校验所述升级包是否合法;所述升级包不包括固定保存不变的分区映像,所述固定保存不变的分区映像包括:“一级引导程序”、“只读二级引导程序”、“只读可信操作***”和“Recovery***”。
在本实施方式中,使用升级包升级时,过程中如果出现设备异常(如掉电等),再次上电重启时,若所述升级包是完整包,则Recovery自动继续根据完整包对设备固件进行升级;若所述升级包是差异包,则可通过外部存储介质获取完整版,使用获取的完整包对设备固件进行恢复。
通过以上存储设备300中的指令集执行以上命令,使得若在升级的过程中出现意外中断(如掉电等),当设备重新上电后,因为“引导通信分区”位置1和位置2的Recovery标记都存在,则“一级引导程序”仍可以顺利引导“只读可信操作***”和“只读二级引导程序”,并且由“只读二级引导程序”再次引导设备进入Recovery***,在Recovery***中根据“引导通信分区”位置2的固件升级操作指令,使用所述升级包对设备固件进行重新升级。通过以上方式,解决了即便升级过程中突然中断,也避免设备变砖的问题。且通过该方法,无需每一个要升级的固件分区都要有两个分区,从而避免宝贵的存储介质空间的浪费,大大降低设备硬件成本,提高空间利用率。
且在本实施方式中,确保终端***在任何时候总是存在一套可以工作的恢复***,以便上电后继续完成固件升级或者通过外置存储设备对终端***进行恢复,为基于Android的终端在特殊场景下的应用提供可靠性支撑,提高用户满意度。
需要说明的是,尽管在本文中已经对上述各实施例进行了描述,但并非因此限制本发明的专利保护范围。因此,基于本发明的创新理念,对本文所述实施例进行的变更和修改,或利用本发明说明书及附图内容所作的等效结构或等效流程变换,直接或间接地将以上技术方案运用在其他相关的技术领域,均包括在本发明的专利保护范围之内。
Claims (10)
1.一种安卓***的固件升级方法,其特征在于,包括步骤:
获取升级包;
在“引导通信分区”位置2写入升级引导信息,所述升级引导信息包括:Recovery标记和固件升级操作指令;
重启***,“一级引导程序”检测“引导通信分区”位置1和位置2是否都有Recovery标记,若“引导通信分区”位置1和位置2都有Recovery标记,则引导“只读可信操作***”和“只读二级引导程序”,且在“只读二级引导程序”中引导设备进入Recovery***;在Recovery***中根据“引导通信分区”位置2的固件升级操作指令,使用所述升级包对设备固件进行升级;
若“引导通信分区”位置1和位置2不都有Recovery标记,则引导“可信操作***”和“二级引导程序”,且根据“二级引导程序”中预置的Recovery模式触发条件,依次检测是否引导设备进入Recovery模式,若检测到引导设备进入Recovery模式,则在“引导通信分区”的位置1和位置2同时写入Recovery标记,并在写“引导通信分区”位置2时保留已有的固件升级操作指令;重启***,重复步骤““一级引导程序”检测“引导通信分区”位置1和位置2是否都有Recovery标记”。
2.根据权利要求1所述的一种安卓***的固件升级方法,其特征在于,还包括步骤:
固件升级后,清除“引导通信分区”位置2的升级引导信息;
重启***,“一级引导程序”引导设备进入升级后的***。
3.根据权利要求1所述的一种安卓***的固件升级方法,其特征在于,还包括步骤:
若检测到引导设备不进入Recovery模式,则引导“非可信操作***”,并由“非可信操作***”引导“安卓主***”。
4.根据权利要求1所述的一种安卓***的固件升级方法,其特征在于,
所述预置的Recovery模式触发条件包括:是否按下特定物理按键、芯片内特定内存区的标记值、特定寄存器值和“引导通信分区”位置2内容中的一种或多种。
5.根据权利要求1所述的一种安卓***的固件升级方法,其特征在于,
所述获取升级包还包括步骤:
通过网络或外部存储介质获取升级包,并校验所述升级包是否合法;
所述升级包不包括固定保存不变的分区映像,所述固定保存不变的分区映像包括:“一级引导程序”、“只读二级引导程序”、“只读可信操作***”和“Recovery***”。
6.一种存储设备,其中存储有指令集,其特征在于,所述指令集用于执行:
获取升级包;
在“引导通信分区”位置2写入升级引导信息,所述升级引导信息包括:Recovery标记和固件升级操作指令;
重启***,“一级引导程序”检测“引导通信分区”位置1和位置2是否都有Recovery标记,若“引导通信分区”位置1和位置2都有Recovery标记,则引导“只读可信操作***”和“只读二级引导程序”,且在“只读二级引导程序”中引导设备进入Recovery***;在Recovery***中根据“引导通信分区”位置2的固件升级操作指令,使用所述升级包对设备固件进行升级;
若“引导通信分区”位置1和位置2不都有Recovery标记,则引导“可信操作***”和“二级引导程序”,且根据“二级引导程序”中预置的Recovery模式触发条件,依次检测是否引导设备进入Recovery模式,若检测到引导设备进入Recovery模式,则在“引导通信分区”的位置1和位置2同时写入Recovery标记,并在写“引导通信分区”位置2时保留已有的固件升级操作指令;重启***,重复步骤““一级引导程序”检测“引导通信分区”位置1和位置2是否都有Recovery标记”。
7.根据权利要求6所述的一种存储设备,其特征在于,所述指令集还用于执行:
固件升级后,清除“引导通信分区”位置2的升级引导信息;
重启***,“一级引导程序”引导设备进入升级后的***。
8.根据权利要求6所述的一种存储设备,其特征在于,所述指令集还用于执行:
若检测到引导设备不进入Recovery模式,则引导“非可信操作***”,并由“非可信操作***”引导“安卓主***”。
9.根据权利要求6所述的一种存储设备,其特征在于,
所述预置的Recovery模式触发条件包括:是否按下特定物理按键、芯片内特定内存区的标记值、特定寄存器值和“引导通信分区”位置2内容中的一种或多种。
10.根据权利要求6所述的一种存储设备,其特征在于,所述指令集还用于执行:
所述获取升级包还包括步骤:
通过网络或外部存储介质获取升级包,并校验所述升级包是否合法;
所述升级包不包括固定保存不变的分区映像,所述固定保存不变的分区映像包括:“一级引导程序”、“只读二级引导程序”、“只读可信操作***”和“Recovery***”。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810966474.XA CN109240720B (zh) | 2018-08-23 | 2018-08-23 | 一种安卓***的固件升级方法及一种存储设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810966474.XA CN109240720B (zh) | 2018-08-23 | 2018-08-23 | 一种安卓***的固件升级方法及一种存储设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109240720A CN109240720A (zh) | 2019-01-18 |
CN109240720B true CN109240720B (zh) | 2021-11-26 |
Family
ID=65069117
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810966474.XA Active CN109240720B (zh) | 2018-08-23 | 2018-08-23 | 一种安卓***的固件升级方法及一种存储设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109240720B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110032377B (zh) * | 2019-03-19 | 2024-06-07 | 芯讯通无线科技(上海)有限公司 | 通信模块软件升级方法、***及通信模块 |
CN110175039A (zh) * | 2019-04-26 | 2019-08-27 | 潍坊歌尔电子有限公司 | 在线升级方法、设备、可读存储介质及电子设备 |
CN111694608B (zh) * | 2020-06-08 | 2023-06-20 | 阿波罗智联(北京)科技有限公司 | 终端设备的***升级方法和装置、电子设备和终端设备 |
CN113254030B (zh) * | 2021-04-09 | 2024-04-16 | 联合汽车电子有限公司 | 车载微处理器软件应急刷新方法、装置、存储介质及*** |
CN113238771B (zh) * | 2021-04-27 | 2022-06-21 | 瑞芯微电子股份有限公司 | 一种基于安卓***的fota固件升级方法和装置 |
CN113778496A (zh) * | 2021-09-16 | 2021-12-10 | 联想(北京)有限公司 | 固件升级方法、装置及电子设备和存储介质 |
CN113905365B (zh) * | 2021-12-13 | 2022-03-15 | 龙旗电子(惠州)有限公司 | 安卓终端单双卡配置方法、装置及设备 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103473097A (zh) * | 2013-09-09 | 2013-12-25 | 福州瑞芯微电子有限公司 | Android***固件升级***、装置及升级方法 |
CN103699421A (zh) * | 2014-01-08 | 2014-04-02 | 金三立视频科技(深圳)有限公司 | 嵌入式设备***升级方法及其装置 |
CN104572229A (zh) * | 2015-02-12 | 2015-04-29 | 西安诺瓦电子科技有限公司 | 嵌入式***的固件升级方法以及固件升级装置 |
CN105094927A (zh) * | 2015-08-28 | 2015-11-25 | 东方网力科技股份有限公司 | 一种设备固件升级方法和装置 |
CN105573780A (zh) * | 2015-12-08 | 2016-05-11 | 北京元心科技有限公司 | 一种基于容器的移动终端操作***升级方法和装置 |
CN105740034A (zh) * | 2016-04-13 | 2016-07-06 | 深圳市高巨创新科技开发有限公司 | Mcu在线升级固件的***及方法 |
CN106528114A (zh) * | 2016-10-25 | 2017-03-22 | 北京海誉动想科技股份有限公司 | 安卓固件应用、安卓固件和固件升级方法 |
CN106610840A (zh) * | 2015-10-22 | 2017-05-03 | 深圳市中兴微电子技术有限公司 | 一种无线固件升级方法及*** |
US9672047B1 (en) * | 2014-10-31 | 2017-06-06 | American Megatrends, Inc. | Systems and methods for accessing a bootable partition on a serial peripheral interface device |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101403305B1 (ko) * | 2012-08-23 | 2014-06-05 | 한국전자통신연구원 | 백업부트레코드 정보를 이용한 파티션 복구 장치 및 방법 |
JP6351413B2 (ja) * | 2014-07-15 | 2018-07-04 | キヤノン株式会社 | 画像形成装置およびその制御方法、並びにプログラム |
US10097563B2 (en) * | 2016-05-04 | 2018-10-09 | Gbs Laboratories, Llc | Reliable and secure firmware update with a dynamic validation for internet of things (IoT) devices |
-
2018
- 2018-08-23 CN CN201810966474.XA patent/CN109240720B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103473097A (zh) * | 2013-09-09 | 2013-12-25 | 福州瑞芯微电子有限公司 | Android***固件升级***、装置及升级方法 |
CN103699421A (zh) * | 2014-01-08 | 2014-04-02 | 金三立视频科技(深圳)有限公司 | 嵌入式设备***升级方法及其装置 |
US9672047B1 (en) * | 2014-10-31 | 2017-06-06 | American Megatrends, Inc. | Systems and methods for accessing a bootable partition on a serial peripheral interface device |
CN104572229A (zh) * | 2015-02-12 | 2015-04-29 | 西安诺瓦电子科技有限公司 | 嵌入式***的固件升级方法以及固件升级装置 |
CN105094927A (zh) * | 2015-08-28 | 2015-11-25 | 东方网力科技股份有限公司 | 一种设备固件升级方法和装置 |
CN106610840A (zh) * | 2015-10-22 | 2017-05-03 | 深圳市中兴微电子技术有限公司 | 一种无线固件升级方法及*** |
CN105573780A (zh) * | 2015-12-08 | 2016-05-11 | 北京元心科技有限公司 | 一种基于容器的移动终端操作***升级方法和装置 |
CN105740034A (zh) * | 2016-04-13 | 2016-07-06 | 深圳市高巨创新科技开发有限公司 | Mcu在线升级固件的***及方法 |
CN106528114A (zh) * | 2016-10-25 | 2017-03-22 | 北京海誉动想科技股份有限公司 | 安卓固件应用、安卓固件和固件升级方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109240720A (zh) | 2019-01-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109240720B (zh) | 一种安卓***的固件升级方法及一种存储设备 | |
CN106569847B (zh) | 一种用于车载***基于移动网络实现iap远程升级的方法 | |
US7991988B2 (en) | Communication device and firmware update method thereof | |
KR100675518B1 (ko) | 모듈식 바이오스 업데이트 메커니즘 | |
CN102063591B (zh) | 基于可信平台的平台配置寄存器参考值的更新方法 | |
KR20120052406A (ko) | 펌웨어 이미지 갱신 및 관리 | |
US20100082955A1 (en) | Verification of chipset firmware updates | |
CN103106092A (zh) | 终端设备中***软件升级方法和装置 | |
CN104461594B (zh) | 嵌入式操作***的升级方法及装置 | |
WO2016078060A1 (zh) | 用于多***终端的***升级方法、升级装置和终端 | |
CN108509215B (zh) | 一种***软件的更换方法、装置、终端设备及存储介质 | |
CN111813428A (zh) | 终端固件的升级方法、装置、电子设备及存储介质 | |
WO2018024198A1 (zh) | 机顶盒的应用程序升级方法、***及机顶盒 | |
CN112433769A (zh) | 一种bmc启动方法、装置、计算机设备及存储介质 | |
CN108958785B (zh) | 一种应用程序升级方法及装置 | |
CN103455750A (zh) | 一种嵌入式设备的高安验证方法及装置 | |
CN116755749A (zh) | 板载mcu的升级方法、板载mcu、板卡及信息处理*** | |
CN115102855B (zh) | 智能水表嵌入式软件在线升级方法及*** | |
KR101529713B1 (ko) | 비정상 전원절환에 대한 안드로이드 단말의 안정성 강화 방법 및 이를 위한 위한 프로그램을 기록한 컴퓨터로 판독가능한 기록매체 | |
CN104750505A (zh) | 用于单片机的在线升级方法及*** | |
CN114706608A (zh) | 升级固件的方法和电子设备 | |
CN113721959A (zh) | 一种信息处理方法、装置及电子设备 | |
CN102460386B (zh) | 用于在引导过程期间加载文件的方法和装置 | |
CN114610415B (zh) | 一种程序启动方法、***、存储介质及电子设备 | |
CN112162772B (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 | ||
CB02 | Change of applicant information |
Address after: 350003 building 18, No.89, software Avenue, Gulou District, Fuzhou City, Fujian Province Applicant after: Ruixin Microelectronics Co., Ltd Address before: 350003 building 18, No.89, software Avenue, Gulou District, Fuzhou City, Fujian Province Applicant before: FUZHOU ROCKCHIP ELECTRONICS Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |