CN114610341A - 产线刷机方法、装置、电子设备、芯片及存储介质 - Google Patents
产线刷机方法、装置、电子设备、芯片及存储介质 Download PDFInfo
- Publication number
- CN114610341A CN114610341A CN202210283594.6A CN202210283594A CN114610341A CN 114610341 A CN114610341 A CN 114610341A CN 202210283594 A CN202210283594 A CN 202210283594A CN 114610341 A CN114610341 A CN 114610341A
- Authority
- CN
- China
- Prior art keywords
- target
- production line
- upgrade package
- partition
- ota
- 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
- 238000004519 manufacturing process Methods 0.000 title claims abstract description 99
- 238000000034 method Methods 0.000 title claims abstract description 76
- 238000003860 storage Methods 0.000 title claims abstract description 21
- 238000005192 partition Methods 0.000 claims abstract description 113
- 238000011084 recovery Methods 0.000 claims abstract description 28
- 238000004590 computer program Methods 0.000 claims description 23
- 230000008569 process Effects 0.000 claims description 23
- 238000005516 engineering process Methods 0.000 claims description 9
- 238000004891 communication Methods 0.000 abstract description 7
- 230000001680 brushing effect Effects 0.000 description 14
- 238000007726 management method Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 12
- 238000012360 testing method Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 238000012795 verification Methods 0.000 description 5
- 238000004140 cleaning Methods 0.000 description 4
- 238000009434 installation Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 238000010276 construction Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000005855 radiation Effects 0.000 description 2
- 241000251468 Actinopterygii Species 0.000 description 1
- 208000027418 Wounds and injury Diseases 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000002401 inhibitory effect Effects 0.000 description 1
- 208000014674 injury Diseases 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000003973 paint Substances 0.000 description 1
- 238000013439 planning Methods 0.000 description 1
- 238000010926 purge Methods 0.000 description 1
- 238000006748 scratching Methods 0.000 description 1
- 230000002393 scratching effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
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/61—Installation
- G06F8/63—Image based installation; Cloning; Build to order
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/22—Processing or transfer of terminal data, e.g. status or physical capabilities
- H04W8/24—Transfer of terminal data
- H04W8/245—Transfer of terminal data from a network towards a terminal
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本申请适用于通信技术领域,提供了一种产线刷机方法、装置、电子设备、芯片及存储介质。所述产线刷机方法包括:通过无线网络下载目标空中下载技术OTA升级包,目标OTA升级包包括目标分区的镜像和属性信息,所述目标分区是指所述电子设备进行产线刷机时需升级的分区;在Recovery模式下,基于所述目标OTA升级包对所述目标分区进行升级。通过本申请可实现电子设备的产线刷机。
Description
技术领域
本申请属于通信技术领域,尤其涉及一种产线刷机方法、装置、电子设备、芯片及存储介质。
背景技术
在生产线上对手机、平板电脑等电子设备进行刷机(为了方便描述,以下简称产线刷机),是产商在电子设备制造过程中重要的一个环节。现有的产线刷机方法通常是通过线刷,即:使用通用串行总线(Universal Serial Bus,USB)数据线连接个人计算机(PersonalComputer,PC)和手机,PC端刷机工具通过USB数据线将软体传输并烧写到手机。
发明内容
本申请实施例提供了一种产线刷机方法、装置、电子设备、芯片及存储介质,以实现电子设备的产线刷机。
第一方面,本申请实施例提供了一种产线刷机方法,应用于电子设备,包括:
通过无线网络下载目标空中下载技术OTA升级包,目标OTA升级包包括目标分区的镜像和属性信息,所述目标分区是指所述电子设备进行产线刷机时需升级的分区;
在Recovery模式下,基于所述目标OTA升级包对所述目标分区进行升级。
在本申请实施例中,通过无线网络下载用于产线刷机的目标OTA升级包,并在Recovery模式下基于目标OTA升级包对目标分区进行升级,可以实现电子设备的产线刷机。
第二方面,本申请实施例提供了一种产线刷机装置,应用于电子设备,包括:
升级包下载模块,用于通过无线网络下载目标空中下载技术OTA升级包,目标OTA升级包包括目标分区的镜像和属性信息,所述目标分区是指所述电子设备进行产线刷机时需升级的分区;
分区升级模块,用于在Recovery模式下,基于所述目标OTA升级包对所述目标分区进行升级。
第三方面,本申请实施例提供了一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述的产线刷机方法的步骤。
第四方面,本申请实施例提供了一种芯片,包括处理器,所述处理器用于读取并执行存储器中存储的计算机程序,以执行如上述第一方面所述的产线刷机方法的步骤。
可选地,所述存储器与所述处理器通过电路或电线连接。
第五方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面所述的产线刷机方法的步骤。
第六方面,本申请实施例提供了一种计算机程序产品,当所述计算机程序产品在电子设备上运行时,使得所述电子设备执行如上述第一方面所述的产线刷机方法的步骤。
可以理解地,上述提供的第二方面、第三方面、第四方面、第五方面和第六方面均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可以参考上文所提供的对应的方法中的有益效果,此处不再赘述。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一实施例提供的产线刷机系统的架构示例图;
图2是现有OTA升级包的结构示例图;
图3是一级构建的流程示例图;
图4是二级构建的流程示例图;
图5是本申请一实施例提供的产线刷机方法的实现流程示意图;
图6是现有Virtual AB升级的流程示例图;
图7是产线Virtual AB升级的流程示例图;
图8是目标分区的升级流程示例图;
图9是本申请另一实施例提供的产线刷机方法的实现流程示意图;
图10是产线刷机的流程示例图;
图11是本申请一实施例提供的产线刷机装置的结构示意图;
图12是本申请一实施例提供的电子设备的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
在说明本申请方案之前,为了便于读者理解,先对本方案中所涉及的名词进行解释说明。
空中下载技术(Over-the-Air Technology,OTA),是通过移动通信的空中接口实现对移动终端设备及SIM卡数据进行远程管理的技术。
OTA升级:通过OTA方式实现固件或软件的升级。只要是通过无线通信方式(比如无线网络、蓝牙等)实现升级的,都可以称之为OTA升级。
分区是指将存储空间划分成的多个独立的区域,一个区域对应一个分区。
data分区是系统盘,存放系统文件。
格式化data分区是删除分区内的所有数据和文件。
AB分区是指镜像在存储上有两份的分区,即镜像是双份,各自对应一个分区,也可以理解为在AB两个系统上存在的分区。
非AB分区是指镜像在存储上有一份的分区,即镜像是一份,对应一个分区,也可以理解为在AB两个系统上共用的分区。
Recovery模式指的是一种可以对安卓机内部的数据或系统进行修改的模式,也可以称之为安卓的恢复模式,在这个所谓的恢复模式下,可以刷入新的安卓系统,或者对已有的系统进行备份或升级,也可以在此恢复出厂设置(格式化数据和缓存)。
FTP服务器(File Transfer Protocol Server)是在互联网上提供文件存储和访问服务的计算机,依照FTP协议提供服务。即,FTP服务器是支持FTP协议的服务器就是。
屏蔽箱是利用导电或者导磁材料制成的各种形状的屏蔽体,将电磁能力限制在一定空间范围内,用于抑制辐射干扰的金属体。并对传导和辐射进行处理,以实现给被测无线通讯设备提供无干扰的测试环境的设备。
安卓的Framework层是直接应用之下的一层,叫做应用程序框架层。这一层是核心应用程序所使用的应用程序编程接口(Application Programming Interface,API)框架,为应用层提供各种API,提供各种组件和服务来支持Android开发,包括ActivityManager,WindowManager,ViewSystem等。
制造执行系统(Manufacturing Execution System,MES)是一套面向制造企业车间执行层的生产信息化管理系统。MES可以为企业提供包括制造数据管理、计划排程管理、生产调度管理、库存管理、质量管理、人力资源管理、工作中心/设备管理、工具工装管理、采购管理、成本管理、项目看板管理、生产过程控制、底层数据集成分析、上层数据集成分解等管理模块,为企业打造一个扎实、可靠、全面、可行的制造协同管理平台。
现有的产线小系统测试软体通常用于满足开机、关机等基本功能测试。
线刷存在以下几个问题,第一,线刷需要占用大量的PC机和USB数据线,且USB数据线有一定使用寿命,需定期更换,刷机成本较高;第二,线刷需要插拔USB数据线,频繁的插拔可能导致电子设备被碰撞掉漆、USB口划伤,更可能导致后期部分强迫症用户因此退换机。本申请在现有的产线小系统测试软体中集成OTA升级能力,能够在产线做完现有的产线小系统测试后,自动通过无线网络下载用于刷机的目标OTA升级包,并在Recovery模式下基于目标OTA升级包自动触发目标分区的升级,从而完成对电子设备的产线刷机,此刷机方式无需使用PC和USB数据线,能够降低刷机成本,且也无需插拔USB数据线,能够减少对电子设备的碰撞伤害、USB口划伤等。
本申请实施例提供的产线刷机方法可以应用于手机、平板电脑、可穿戴设备、车载设备、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA)等电子设备上,本申请实施例对电子设备的具体类型不作任何限制。
应理解,本实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
为了说明本申请所述的技术方案,下面通过具体实施例来进行说明。
参见图1,是本申请一实施例提供的产线刷机系统的架构示例图。如图1所示,该该产线刷机系统包括至少一个电子设备和服务器。
服务器用于编译目标OTA升级包,并存储目标OTA升级包;产线上的电子设备可以从服务器中下载目标OTA升级包,基于目标OTA升级包实现刷机。
现有OTA升级包是用户使用电子设备的过程中实现升级的升级包,相比于现有OTA升级包,目标OTA升级包会额外升级一些现有OTA升级包不升级的分区(例如非AB分区),从而保证基于目标OTA升级包达到刷机的效果。
如图2所示是现有OTA升级包的结构示例图,现有OTA升级包中的payload.bin包括AB分区的镜像,payload_properties.txt包括AB分区的名称、镜像在包中的位置等属性信息。
在现有OTA升级包的基础上,服务器在编译目标OTA升级包之前,可以先定义环境变量OPLUS_OTAPACKAGE_WIFI_OTA,以判断是否编译目标OTA升级包;定义NON_AB_OTA_PARTITIONS变量,用于配置所有要升级的非AB分区。一级构建时将额外打包非AB分区的镜像到target包(即OTA中间包)中,同步生成non_ab_partitions.txt文件记录非AB分区的属性信息;二级构建编包时,若OPLUS_OTAPACKAGE_WIFI_OTA环境变量为true,则传入--force_update_non_ab_partition参数,用于编译目标OTA升级包,它会读取并解析target包中non_ab_partitions.txt文件,将要升级的非AB分区的镜像编译到payload.bin文件中,同步将非AB分区的属性信息记录到payload_properties.txt文件中。
如图3所示是一级构建的流程示例图,在payload_properties.txt文件中包含AB_OTA_PARTITIONS字段时,根据AB_OTA_PARTITIONS字段记录的AB分区的名称,获取对应AB分区的镜像;在payload_properties.txt文件中包含NON_AB_OTA_PARTITIONS字段时,根据NON_AB_OTA_PARTITIONS字段记录的非AB分区的名称,获取对应非AB分区的镜像。图3中的abl、dsp、keymaster等都是AB分区的名称,ddr、apdp、logfs等都是非AB分区的名称,这些名称仅用于举例,并不做限定。图3中的ab_partitions.txt文件用于记录AB分区的属性信息,non_ab_partitions.txt文件用于记录非AB分区的属性信息。
如图4所示是二级构建的流程示例图,从ota_from_target_files文件中获取一些编译指令,这些编译指令用于指示如何从target包中编译出想要的OTA升级包;若OPLUS_OTAPACKAGE_WIFI_OTA环境变量为true,则传入--force_update_non_ab_partition参数,读取并解析target包中non_ab_partitions.txt文件,将要升级的非AB分区镜像编译到payload.bin文件中,同步将非AB分区的属性信息记录到payload_properties.txt文件中。
本申请实施例通过在服务器中编译目标OTA升级包,可以便于电子设备在产线刷机时,从服务器中下载目标OTA升级包,从而基于目标OTA升级包实现产线刷机。
参见图5,是本申请一实施例提供的产线刷机方法的实现流程示意图,该产线刷机方法应用于电子设备。如图5所示,该产线刷机方法可以包括以下步骤:
步骤501,通过无线网络下载目标OTA升级包。
其中,目标OTA升级包包括目标分区的镜像和属性信息。目标分区的属性信息包括但不限于目标分区的名称、在目标OTA升级包中的位置等。
目标分区是指电子设备进行产线刷机时需升级的分区。上述目标分区包括但不限于AB分区和非AB分区。
现有Virtual AB升级只会升级AB分区,对于非AB分区是无法升级的,但是这些分区在产线刷机时是需要升级的。故本申请在现有Virtual AB升级的基础上,通过对非AB分区进行升级,可以实现产线刷机。
本申请对无线网络的类型不做限定,例如上述无线网络可以是Wi-Fi6,在此基础上,目标OTA升级包还可以称之为Wi-Fi-OTA升级包。Wi-Fi又称“行动热点”,是Wi-Fi联盟制造商的商标做为产品的品牌认证,是一个创建于IEEE802.11标准的无线局域网技术。Wi-Fi6是第六代无线网络技术,是Wi-Fi标准的名称。Wi-Fi 6具有较高的传输速率,将允许与多达8个电子设备通信,最高速率可达9.6Gbps,从而可快速实现产线上大批量电子设备的刷机。
步骤502,在Recovery模式下,基于目标OTA升级包对目标分区进行升级。
基于目标OTA升级包中目标分区的属性信息,可以得到目标分区的镜像在目标OTA升级包中的位置,基于该位置可以从OTA升级包中得到目标分区的镜像,通过将目标分区的镜像写入目标分区,可以实现目标分区的升级,从而实现电子设备的刷机。
在Recovery模式下,本申请通过产线Virtual AB升级实现刷机。产线Virtual AB是对现有Virtual AB升级的改进。
如图6所示是现有Virtual AB升级的流程示例图。现有Virtual AB升级在Android模式下后台静默进行,升级逻辑分区时会临时将数据写到data分区的cow文件,安装完成后重启时会切换到另一个slot开机,开机成功后会将data分区的cow文件回写到真正的逻辑分区。如图6所示,整个流程包含2次重启和一次merge流程,总耗时30min以上,不满足产线需求。
如图7所示是产线Virtual AB升级的流程示例图。在Recovery模式下,通过update_engine_sideload方式进行升级,可省去1次重启和merge流程,整个过程在前台单线程进行,可最大限度利用处理器和输入/输出(Input/Output,I/O)资源,总体耗时12min左右,满足产线刷机时间要求。
为了实现产线刷机,本申请对现有的升级分区流程做兼容,如图8所示是目标分区的升级流程示例图,本申请在现有Virtual AB升级只升级AB分区的基础上,在得到目标OTA升级包之后,可以先对目标OTA升级包进行解压,得到目标OTA升级包中的payload_properties.txt文件,根据payload_properties.txt文件中是否存在NON_AB_PARTITIONS字段来判断是否升级非AB分区;若存在NON_AB_PARTITIONS字段则依次升级对应的非AB分区。在检验阶段,根据payload_properties.txt文件中是否存在NON_AB_PARTITIONS字段来判断当前校验的分区类型,根据分区类型进行相应的校验,以判断相应的分区是否已完成升级。通过对现有的升级分区流程做兼容,可以使得本申请能够对AB分区和非AB分区均进行升级,从而实现产线刷机。其中,update_engine是分区升级的一个进程,通过这个进程可以实现分区的升级。
在一可选实施例中,在基于目标OTA升级包对目标分区进行升级之后,还包括:
若目标OTA升级包包含清除数据操作的标识,则清理在目标分区的升级过程中产生的残留数据。
在编译目标OTA升级包时,可以新增POWERWASH字段,该字段即为清除数据操作的标志。清除数据操作的标识用于指示清理在目标分区的升级过程中产生的残留数据。其中,残留数据是指在完成目标分区的升级后,在存储空间上残留的数据。在一应用场景中,上述残留数据通常存储在data分区,故可以通过格式化data分区,实现残留数据的清理。
通过清理在目标分区升级过程中产生的残留数据,可以使得本申请的刷机状态与线刷状态一致,即刷机完成后,不保留刷机过程中产生的残留数据。
在一可选实施例中,目标OTA升级包的时间戳为预设值,预设值大于电子设备的当前系统的时间戳。
目标OTA升级包中的元数据(即meta data)记录目标OTA升级包的版本号、时间戳等信息。目标OTA升级包的时间戳表示目标OTA升级包的编译时间。电子设备的当前系统的时间戳表示当前系统对应的升级包的编译时间。
通过将目标OTA升级包的时间戳设置为预设值(例如无限大),可以在对目标OTA升级包进行时间戳校验时,使得目标OTA升级包的时间戳大于电子设备的当前系统的时间戳,确保时间戳校验成功,从而能够通过刷机实现系统升级或者系统降级。
本申请实施例通过无线网络下载用于产线刷机的目标OTA升级包,并在Recovery模式下基于目标OTA升级包对目标分区进行升级,可以实现电子设备的产线刷机。
参见图9,是本申请另一实施例提供的产线刷机方法的实现流程示意图,该产线刷机方法应用于电子设备。如图9所示,该产线刷机方法可以包括以下步骤:
步骤901,在成功连接无线网络之后,从产线局域网下载目标OTA升级包。
其中,产线局域网是指在电子设备的产线形成的一个区域网络。产线局域网的下载速度较快、性能稳定且安全性较高。
从产线局域网下载目标OTA升级包可以是指从产线局域网内的服务器中下载目标OTA升级包,该服务器可以是FTP服务器。
在一可选实施例中,电子设备放置于屏蔽箱内;连接屏蔽箱内的无线网络。
将电子设备放置于屏蔽箱内,可以避免位于该屏蔽箱之外的信号对屏蔽箱内的无线网络进行干扰。例如,在产线上有两个屏蔽箱,分别为屏蔽箱A和屏蔽箱B,屏蔽箱A内设置有热点A,屏蔽箱B内设置有热点B,屏蔽箱A内的电子设备连接热点A,屏蔽箱B内的电子设备连接热点B,通过屏蔽箱A和屏蔽箱B,可以避免热点A和热点B之间的信号干扰。
在一可选实施例中,在连接屏蔽箱内的无线网络之前,还包括:
获取电子设备的当前环境亮度;
若当前环境亮度小于或者等于亮度阈值,则连接屏蔽箱内的无线网络。
其中,电子设备的当前环境亮度是指电子设备当前所处环境的亮度。
电子设备中可以集成环境光传感器,通过环境光传感器采集当前环境亮度,并将采集的当前环境亮度传输给电子设备的处理器,处理器判断当前环境亮度是否小于或者等于亮度阈值,以判断电子设备是否已流入屏蔽箱内,若当前环境亮度小于或者等于亮度阈值,则判定电子设备已完全流入屏蔽箱内,可以开始自动连接屏蔽箱内的无线网络;若当前环境亮度大于亮度阈值,则判定电子设备未流入或者未完全流入屏蔽箱内,需要返回执行获取电子设备的当前环境亮度的步骤以及后续步骤,直到获取到的当前环境亮度小于或者等于亮度阈值,才自动连接屏蔽箱内的无线网络,从而避免电子设备连接到位于屏蔽箱之外的无线网络。其中,上述亮度阈值用于判断电子设备是否自动连接屏蔽箱内的无线网络。可选地,可以根据实际需要设置亮度阈值,例如亮度阈值设置为0。
在一可选实施例中,在步骤901之后,还包括:
判断目标OTA升级包是否合法;
判断目标OTA升级包与电子设备的机型是否匹配;
若目标OTA升级包合法且目标OTA升级包与电子设备的机型匹配,则进入Recovery模式。
判断目标OTA升级包是否合法可以是指判断目标OTA升级包是否为目标厂商提供的升级包。若目标OTA升级包为目标厂商提供的升级包,则可以判定目标OTA升级包合法;若目标OTA升级包不为目标厂商提供的升级包,则可以判定目标OTA升级包不合法。目标厂商可以为提供目标OTA升级包的厂商,一般是电子设备的生产厂商。
电子设备中通常存储有目标厂商的签名,可以基于目标OTA升级包的签名和目标厂商的签名,判断目标OTA升级包是否为目标厂商提供的升级包;若目标OTA升级包的签名与目标厂商的签名相同,则判定目标OTA升级包为目标厂商提供的升级包;若目标OTA升级包的签名与目标厂商的签名不相同,则判定目标OTA升级包不为目标厂商提供的升级包。
电子设备的机型可以是指电子设备的型号。可以预先在电子设备中存储其机型对应的目标版本号,若目标OTA升级包的版本号为目标版本号,则判定目标OTA升级包与电子设备的机型匹配;若目标OTA升级包的版本号不为目标版本号,则判定目标OTA升级包与电子设备的机型不匹配。其中,目标版本号是指与电子设备的机型匹配的版本号。
通过对目标OTA升级包进行合法性判断以及进行机型匹配判断,可以实现对目标OTA升级包的校验,在校验通过后进入Recovery模式;若校验未通过则不进入Recovery模式,并返回执行步骤901以及后续步骤,以重新下载目标OTA升级包,直到下载到校验通过的目标OTA升级包。
步骤902,在Recovery模式下,基于目标OTA升级包对目标分区进行升级。
该步骤与步骤502相同,具体可参见步骤502的相关描述,在此不再赘述。
本申请实施例通过借助无线网络,可以自动高速下载局域网中的目标OTA升级包,自动完成刷机并开机,全部完成后再流入到下一工位。全程自动化完成,人工参与较少,且不存在设备碰划伤风险。
在一应用场景中,产线上的电子设备在经过硬件测试之后,将流入到屏蔽箱内,流入屏蔽箱内的电子设备获取当前环境亮度,若当前环境亮度小于或者等于亮度阈值,则开始自动连接屏蔽箱内的Wi-Fi6网络,连接成功后开始检测并下载产线局域网里的目标OTA升级包,下载完成后对目标OTA升级包进行校验,在校验通过后调用框架层接口在Recovery模式下安装目标OTA升级包,完成刷机。
如图10所示是产线刷机的流程示例图。创建制造命令,并在创造制造命令时绑定可包装、版本号最高的最新软体(例如目标OTA升级包),在产线输入制造命令,通过打号工具向电子设备写入机型信息、芯片ID、软件平台等信息,以对电子设备进行一些基本的硬件功能测试,在硬件功能测试完成后,向MES上传机型信息、芯片ID、软件平台等信息。下载工具向MES发送制造命令,MES接收到来自下载工具的命令之后,向下载工具反馈制造命令对应的软件地址(即与制造命令绑定的最新软体的存储地址),下载工具接收到来自MES的软体地址之后,基于软体地址从对应的FTP服务器中下载最新软体,对最新软件进行校验、解压、触发自动升级等,电子设备自动升级之后,将升级后的系统版本与预期版本进行比对,若比对通过,则对电子设备进行配件捡料等流程。电子设备在自动升级过程中,还可以向MES上传刷机标记和最新软体的名称等信息,以便于后续的信息管理或者追溯等。刷机标记表示是否成功刷机,例如刷机成功时刷机标记为1,刷机失败时刷机标记为0,在刷机标记为0时,可以从MES中获取刷机失败时所使用的最新软体的名称。
在一应用场景中,本申请的实现方法可以集成在现有的产线小系统测试软体的工模应用中,现有的工模应用主要用于产线对电子设备进行基本的硬件功能测试,测试完成后电子设备会流入到下一工位(例如线刷)。本申请为了实现自动化刷机需求,可以在现有的工模应用中加入目标OTA升级包的检测、下载、触发升级等流程,得到改进的工模应用,改进的工模应用集成在电子设备中,电子设备可以基于改进的工模应用实现自动化刷机。
产线Virtual AB升级需要在Recovery模式下安装目标OTA升级包,故需要提供一个新的安装接口供改进的工模应用调用实现目标OTA升级包的安装。framework层的RecoverySystem类提供installVabPackage接口,为改进的工模应用提供安装入口。因data分区通常使用基于文件的加密(File-Based Encryption,FBE),且在Recovery模式下无法访问FBE加密的data分区数据,故可以通过block.map方式读取,此接口需要对目标OTA升级包做预处理。
上述预处理包括以下步骤:
1)将payload.bin/payload_properties.txt文件通过uncrypt生成block.map磁盘映射文件存放在/cache/recovery目录;
2)将block.map的路径赋值给--update_package参数,追加到misc分区;
3)重启进入Recovery模式升级;
在对目标OTA升级包进行预处理之后,在Recovery模式下提供install_vab_package方法,用于执行目标OTA包的升级操作。此方法通过以下步骤完成升级:
1)从--update_package参数block.map中还原出payload.bin/payload_properties.txt到内存/tmp目录;
2)将payload.bin/payload_properties.txt作为参数传递给update_engine_sideload执行升级操作;
3)升级完成后执行恢复出厂设置清理残留数据,重启开机。
可选地,除了将目标OTA升级包还原到内存,还可以将目标OTA升级包存放在data分区中不加密的目录下,在Recovery模式下,通过解密电子设备的当前系统的metadata即可获取到存放在data分区中的目标OTA升级包。
参见图11,是本申请一实施例提供的产线刷机装置的结构示意图,为了便于说明,仅示出了与本申请实施例相关的部分。
所述产线刷机装置包括:
升级包下载模块1101,用于通过无线网络下载目标空中下载技术OTA升级包,目标OTA升级包包括目标分区的镜像和属性信息,所述目标分区是指所述电子设备进行产线刷机时需升级的分区;
分区升级模块1102,用于在Recovery模式下,基于所述目标OTA升级包对所述目标分区进行升级。
可选地,上述升级包下载模块1101具体用于:
在成功连接所述无线网络之后,从产线局域网下载所述目标OTA升级包。
可选地,所述电子设备放置于屏蔽箱内;上述产线刷机装置还包括:
网络连接模块,用于连接所述屏蔽箱内的所述无线网络。
可选地,上述产线刷机装置还包括:
亮度获取模块,用于获取所述电子设备的当前环境亮度;
上述网络连接模块具体用于:
若所述当前环境亮度小于或者等于亮度阈值,则连接所述屏蔽箱内的所述无线网络。
可选地,上述产线刷机装置还包括:
数据清理模块,用于若所述目标OTA升级包包含清除数据操作的标识,则清理在所述目标分区的升级过程中产生的残留数据。
可选地,上述产线刷机装置还包括:
第一判断模块,用于判断所述目标OTA升级包是否合法;
第二判断模块,用于判断所述目标OTA升级包与所述电子设备的机型是否匹配;
模式进入模块,用于若所述目标OTA升级包合法且所述目标OTA升级包与所述电子设备的机型匹配,则进入所述Recovery模式。
可选地,所述目标OTA升级包的时间戳为预设值,所述预设值大于所述电子设备的当前系统的时间戳。
本申请实施例提供的产线刷机装置可以应用在前述方法实施例中,详情参见上述方法实施例的描述,在此不再赘述。
图12是本申请一实施例提供的电子设备的结构示意图。如图12所示,该实施例的电子设备12包括:一个或多个处理器1201(图中仅示出一个)、存储器1202以及存储在所述存储器1202中并可在所述至少一个处理器1201上运行的计算机程序1203。所述处理器1201执行所述计算机程序1203时实现上述各个产线刷机方法实施例中的步骤。
所述电子设备可包括,但不仅限于,处理器1201、存储器1202。本领域技术人员可以理解,图12仅仅是电子设备12的示例,并不构成对电子设备12的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述电子设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器1201可以是中央处理单元(Central Processing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器1202可以是所述电子设备12的内部存储单元,例如电子设备12的硬盘或内存。所述存储器1202也可以是所述电子设备12的外部存储设备,例如所述电子设备12上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器1202还可以既包括所述电子设备12的内部存储单元也包括外部存储设备。所述存储器1202用于存储所述计算机程序以及所述电子设备所需的其他程序和数据。所述存储器1202还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述装置中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现可实现上述各个方法实施例中的步骤。
本申请实施例还提供了一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备执行时实现可实现上述各个方法实施例中的步骤。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/电子设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/电子设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (11)
1.一种产线刷机方法,其特征在于,应用于电子设备,包括:
通过无线网络下载目标空中下载技术OTA升级包,目标OTA升级包包括目标分区的镜像和属性信息,所述目标分区是指所述电子设备进行产线刷机时需升级的分区;
在Recovery模式下,基于所述目标OTA升级包对所述目标分区进行升级。
2.根据权利要求1所述的产线刷机方法,其特征在于,所述通过无线网络下载目标空中下载技术OTA升级包,包括:
在成功连接所述无线网络之后,从产线局域网下载所述目标OTA升级包。
3.根据权利要求1所述的产线刷机方法,其特征在于,所述电子设备放置于屏蔽箱内;在所述通过无线网络下载目标空中下载技术OTA升级包之前,还包括:
连接所述屏蔽箱内的所述无线网络。
4.根据权利要求3所述的产线刷机方法,其特征在于,在连接所述屏蔽箱内的所述无线网络之前,还包括:
获取所述电子设备的当前环境亮度;
所述连接所述屏蔽箱内的所述无线网络,包括:
若所述当前环境亮度小于或者等于亮度阈值,则连接所述屏蔽箱内的所述无线网络。
5.根据权利要求1所述的产线刷机方法,其特征在于,在基于所述目标OTA升级包对所述目标分区进行升级之后,还包括:
若所述目标OTA升级包包含清除数据操作的标识,则清理在所述目标分区的升级过程中产生的残留数据。
6.根据权利要求1所述的产线刷机方法,其特征在于,在所述通过无线网络下载目标空中下载技术OTA升级包之后,还包括:
判断所述目标OTA升级包是否合法;
判断所述目标OTA升级包与所述电子设备的机型是否匹配;
若所述目标OTA升级包合法且所述目标OTA升级包与所述电子设备的机型匹配,则进入所述Recovery模式。
7.根据权利要求1至6任一项所述的产线刷机方法,其特征在于,所述目标OTA升级包的时间戳为预设值,所述预设值大于所述电子设备的当前系统的时间戳。
8.一种产线刷机装置,其特征在于,应用于电子设备,包括:
升级包下载模块,用于通过无线网络下载目标空中下载技术OTA升级包,目标OTA升级包包括目标分区的镜像和属性信息,所述目标分区是指所述电子设备进行产线刷机时需升级的分区;
分区升级模块,用于在Recovery模式下,基于所述目标OTA升级包对所述目标分区进行升级。
9.一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的产线刷机方法的步骤。
10.一种芯片,包括处理器,其特征在于,所述处理器用于读取并执行存储器中存储的计算机程序,以执行如权利要求1至7任一项所述的产线刷机方法的步骤。
11.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的产线刷机方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210283594.6A CN114610341A (zh) | 2022-03-22 | 2022-03-22 | 产线刷机方法、装置、电子设备、芯片及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210283594.6A CN114610341A (zh) | 2022-03-22 | 2022-03-22 | 产线刷机方法、装置、电子设备、芯片及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114610341A true CN114610341A (zh) | 2022-06-10 |
Family
ID=81865251
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210283594.6A Pending CN114610341A (zh) | 2022-03-22 | 2022-03-22 | 产线刷机方法、装置、电子设备、芯片及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114610341A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116028100A (zh) * | 2022-07-29 | 2023-04-28 | 荣耀终端有限公司 | 软件版本升级方法和电子设备 |
CN117425147A (zh) * | 2023-09-08 | 2024-01-19 | 重庆数智融合创新科技有限公司 | 一种生产线终端数据分发系统及方法 |
CN117440364A (zh) * | 2023-09-08 | 2024-01-23 | 重庆数智融合创新科技有限公司 | 一种基于异构网络的生产线终端数据分发系统及方法 |
CN117440363A (zh) * | 2023-09-08 | 2024-01-23 | 重庆数智融合创新科技有限公司 | 基于5g技术的生产线终端数据自适应分发方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113238771A (zh) * | 2021-04-27 | 2021-08-10 | 瑞芯微电子股份有限公司 | 一种基于安卓系统的fota固件升级方法和装置 |
CN113721961A (zh) * | 2021-09-06 | 2021-11-30 | Oppo广东移动通信有限公司 | 设备升级方法及装置、存储介质和电子设备 |
CN113868156A (zh) * | 2021-12-01 | 2021-12-31 | 荣耀终端有限公司 | 系统升级掉电保护方法、电子设备及存储介质 |
CN114706608A (zh) * | 2022-03-28 | 2022-07-05 | 瑞芯微电子股份有限公司 | 升级固件的方法和电子设备 |
-
2022
- 2022-03-22 CN CN202210283594.6A patent/CN114610341A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113238771A (zh) * | 2021-04-27 | 2021-08-10 | 瑞芯微电子股份有限公司 | 一种基于安卓系统的fota固件升级方法和装置 |
CN113721961A (zh) * | 2021-09-06 | 2021-11-30 | Oppo广东移动通信有限公司 | 设备升级方法及装置、存储介质和电子设备 |
CN113868156A (zh) * | 2021-12-01 | 2021-12-31 | 荣耀终端有限公司 | 系统升级掉电保护方法、电子设备及存储介质 |
CN114706608A (zh) * | 2022-03-28 | 2022-07-05 | 瑞芯微电子股份有限公司 | 升级固件的方法和电子设备 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116028100A (zh) * | 2022-07-29 | 2023-04-28 | 荣耀终端有限公司 | 软件版本升级方法和电子设备 |
CN116028100B (zh) * | 2022-07-29 | 2024-04-05 | 荣耀终端有限公司 | 软件版本升级方法和电子设备 |
CN117425147A (zh) * | 2023-09-08 | 2024-01-19 | 重庆数智融合创新科技有限公司 | 一种生产线终端数据分发系统及方法 |
CN117440364A (zh) * | 2023-09-08 | 2024-01-23 | 重庆数智融合创新科技有限公司 | 一种基于异构网络的生产线终端数据分发系统及方法 |
CN117440363A (zh) * | 2023-09-08 | 2024-01-23 | 重庆数智融合创新科技有限公司 | 基于5g技术的生产线终端数据自适应分发方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114610341A (zh) | 产线刷机方法、装置、电子设备、芯片及存储介质 | |
CN107888978B (zh) | Key码烧录方法、装置及计算机可读存储介质 | |
CN104991793B (zh) | 一种用于应用程序分包的方法、装置以及系统 | |
CN110806894B (zh) | 汽车零部件软件版本管理方法、设备、存储介质及装置 | |
CN112286170B (zh) | 车辆ecu刷写方法、装置、设备及存储介质 | |
CN107193593B (zh) | 一种可升级文件的升级方法、机顶盒和存储介质 | |
CN108920370B (zh) | 兼容性问题检测方法、装置及设备 | |
CN110875850B (zh) | 一种固件升级方法、系统、可读存储介质及终端设备 | |
CN110750286B (zh) | OTA升级Mbn的管理方法、装置、系统、设备和介质 | |
CN112729868A (zh) | 一种车辆诊断方法、装置、设备及介质 | |
CN110837391B (zh) | 应用程序的热更新方法及装置、存储介质及电子设备 | |
CN108694052B (zh) | 一种固件升级方法、固件升级装置及固件升级系统 | |
CN107678770B (zh) | 接口芯片升级方法、装置、存储介质和处理器 | |
CN111400091A (zh) | 恢复出厂设置方法、恢复出厂设置装置及移动终端 | |
CN114237654A (zh) | 一种ota升级方法及系统 | |
CN114302427A (zh) | 一种配置参数更新方法、装置及相关设备 | |
CN114185576A (zh) | 嵌入式设备升级方法、装置、计算机设备和存储介质 | |
CN114296754A (zh) | 芯片平台升级方法及相关装置 | |
CN107302605B (zh) | 电视代理服务器的配置方法及装置、电视及存储介质 | |
CN112069430A (zh) | 快应用预览方法、装置、电子设备及存储介质 | |
CN110825406A (zh) | 一种软件升级的方法及相关设备 | |
CN112583767A (zh) | 流量统计方法及装置 | |
CN103617052A (zh) | 应用程序的缓存处理方法和装置 | |
CN108664259B (zh) | 一种进行应用安装的方法和终端 | |
CN105262798A (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 |