CN116028100B - 软件版本升级方法和电子设备 - Google Patents
软件版本升级方法和电子设备 Download PDFInfo
- Publication number
- CN116028100B CN116028100B CN202210908157.9A CN202210908157A CN116028100B CN 116028100 B CN116028100 B CN 116028100B CN 202210908157 A CN202210908157 A CN 202210908157A CN 116028100 B CN116028100 B CN 116028100B
- Authority
- CN
- China
- Prior art keywords
- test
- version
- software
- software system
- factory
- 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
- 238000000034 method Methods 0.000 title claims abstract description 157
- 238000012360 testing method Methods 0.000 claims abstract description 366
- 238000004519 manufacturing process Methods 0.000 claims abstract description 350
- 230000032683 aging Effects 0.000 claims abstract description 206
- 238000003860 storage Methods 0.000 claims description 178
- 238000005192 partition Methods 0.000 claims description 112
- 238000012545 processing Methods 0.000 claims description 83
- 230000006870 function Effects 0.000 claims description 62
- 238000012795 verification Methods 0.000 claims description 25
- 230000015556 catabolic process Effects 0.000 claims description 15
- 230000002159 abnormal effect Effects 0.000 claims description 14
- 238000006731 degradation reaction Methods 0.000 claims description 14
- 238000011990 functional testing Methods 0.000 claims description 8
- 230000004044 response Effects 0.000 claims description 5
- 238000004140 cleaning Methods 0.000 claims description 3
- 230000000593 degrading effect Effects 0.000 claims description 2
- 230000008569 process Effects 0.000 description 68
- 238000004891 communication Methods 0.000 description 32
- 238000007726 management method Methods 0.000 description 20
- 238000010586 diagram Methods 0.000 description 17
- 238000012986 modification Methods 0.000 description 13
- 230000004048 modification Effects 0.000 description 13
- 238000011084 recovery Methods 0.000 description 8
- 230000035882 stress Effects 0.000 description 8
- 238000004590 computer program Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000013500 data storage Methods 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 230000009286 beneficial effect Effects 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
- 238000002955 isolation Methods 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 241000905957 Channa melasoma Species 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000037361 pathway Effects 0.000 description 1
- 230000036316 preload Effects 0.000 description 1
- 238000010926 purge Methods 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 238000010998 test method Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Stored Programmes (AREA)
Abstract
本申请实施例提供了一种软件版本升级方法和电子设备,该方法应用于电子设备的生产线,用于将电子设备中安装的生产版本的软件系统升级为用户版本的软件系统,生产线包括单板产线、整机老化产线和整机测试产线,该方法包括:在单板产线,基于生产版本的软件系统,对电子设备的电路板进行测试,并拷贝用户版本的软件包;在整机老化产线,基于生产版本的软件系统,对电子设备进行老化测试,并在老化测试成功后,根据用户版本的软件包将生产版本的软件系统升级为用户版本的软件系统;在整机测试产线,基于用户版本的软件系统,对电子设备进行功能测试,并在功能测试完成后,对用户版本的软件系统进行出厂复位。该方法能够提高整机测试产线的UPH。
Description
技术领域
本申请涉及电子设备生产领域,具体涉及一种软件版本升级方法和电子设备。
背景技术
电子设备在生产测试过程中使用的软件系统的版本(称为生产版本或烧片版本)和实际产品最终使用的软件系统的版本(称为用户版本)不同。生产测试完成后,需要将软件由生产版本升级为用户版本。
以大屏设备的生产来说,与软件系统相关的生产线包括单板产线、整机老化产线和整机测试产线。其中,整机测试产线包括音频自动化测试、白平衡和伽马(Gamma)测试、无线保真(wireless fidelity,Wi-Fi)/蓝牙(bluetooth,BT)测试、人工听音、整机定制信息写入、软件版本升级和用户版本检查等工位。其中,软件版本升级工位耗时较长,一般需要大约260s,而其他工位一般仅需要20秒至40秒,这样就会造成整机测试产线线体阻塞,严重影响线体的每小时产出(units per hour,UPH)。
发明内容
本申请提供了一种软件版本升级方法和电子设备,能够提高整机测试产线的UPH。
第一方面,本申请提供一种软件版本升级方法,应用于电子设备的生产线,用于将电子设备中安装的生产版本的软件系统升级为用户版本的软件系统,生产线包括单板产线、整机老化产线和整机测试产线,该方法包括:在单板产线,基于生产版本的软件系统,对电子设备的电路板进行测试,并拷贝用户版本的软件包;在整机老化产线,基于生产版本的软件系统,对电子设备进行老化测试,并在老化测试成功后,根据用户版本的软件包将生产版本的软件系统升级为用户版本的软件系统;在整机测试产线,基于用户版本的软件系统,对电子设备进行功能测试,并在功能测试完成后,对用户版本的软件系统进行出厂复位。
可选的,电子设备例如可以为大屏设备。对电子设备的电路板的测试例如可以为电路板动态功能测试(functional circuit test,FCT)。对电子设备的老化测试,也即整机老化。对电子设备的功能测试可以包括但不限于音频自动化测试、白平衡和Gamma测试和Wi-Fi/BT测试等。
可选的,可以在整机测试产线的出厂复位工位对用户版本的软件系统进行出厂复位。
第一方面提供的软件版本升级方法中,在单板产线拷贝用户版本的软件包,并且在整机老化产线,老化测试成功后,基于拷贝的用户版本的软件包将软件版本升级至用户版本。之后,基于用户版本的软件系统进行整机自动化测试,测试完成后在出厂复位工位对用户版本的软件系统进行出厂复位。上述过程中,单板产线中拷贝用户版本的软件包需要3分钟左右,但是电路板体积较小,通过增加工位即可缩短该单板产线的耗时,因而不会影响单板产线的线体流转。另外,整机老化产线有足够时间余量,将软件版本升级过程提前至整机老化产线,不会影响整机老化产线的线体流转。而整机测试产线中仅进行出厂复位,无需进行软件版本升级,因而能大大节约该整机测试产线的耗时,能够解决整机测试产线的线体阻塞问题,提高线体UPH。本申请一个具体的实施例中,整机测试产线中出厂复位工位耗时仅需约66秒,因而仅需设置3至4个并行工位即可解决整机测试产线的线体阻塞问题,提高线体UPH。并且,以大屏设备为例来说,业界大屏设备在该工位的并行工位一般为2个至4个,因而通过该方法能够实现了大屏设备产线与业界其他厂家产线的一致性和兼容性,无需对整机测试产线的线体进行改造,节约了线体改造费用。
一种可能的实现方式中,单板产线包括预通电工位和单板定制信息写入工位,拷贝用户版本的软件包,包括:在预通电工位,向电路板挂载外部存储介质,并对电路板进行预通电,基于生产版本的软件系统,从外部存储介质中拷贝用户版本的软件包;在单板定制信息写入工位,基于生产版本的软件系统向电路板写入第一工厂标识;第一工厂标识用于标识用户版本的软件系统工作于工厂模式。
外部存储介质例如可以为串行总线(universal serial bus,USB)盘,简称U盘。由于整机老化线不能接入U盘,该实现方式中,在预通电工位拷贝用户版本的软件包,从而便于后续在老化测试完成后,在电子设备的内置卡中进行软件升级,无需在整机老化产线向电子设备接入U盘,满足整机老化产线的要求。且向电路板写入第一工厂标识,便于后续软件版本升级后,用户版本的软件系统能够工作于工厂模式,从而实现基于用户版本的软件系统对电子设备进行功能测试。
一种可能的实现方式中,生产版本的软件系统包括第一指令处理模块和工厂模式设置单元,在单板定制信息写入工位,基于生产版本的软件系统向电路板写入第一工厂标识,包括:在单板定制信息写入工位,第一指令处理模块接收并响应于第一测试装备发送的第一工厂标识写指令,向工厂模式设置单元发送工厂模式设置指令;工厂模式设置单元响应于工厂模式设置指令,向电子设备的第一预设存储分区写入第一工厂标识。
可选的,生产版本的软件系统可以包括本地(Native)层和内核(Kernel)层。第一指令处理模块可以位于Native层。工厂模式设置单元可以位于Kernel层。第一预设存储分区例如可以为电子设备硬件层的oeminfo存储分区。第一指令处理模块也即具体实施方式中生产版本的软件系统中的生产指令处理模块。
一种可能的实现方式中,在整机测试产线,基于用户版本的软件系统,对电子设备进行功能测试,包括:在整机测试产线,基于工厂模式下的用户版本的软件系统,对电子设备进行功能测试。
一种可能的实现方式中,用户版本的软件系统包括第二指令处理模块、第一工厂模式查询模块、测试模块和第二工厂模式查询模块,在整机测试产线,基于工厂模式下的用户版本的软件系统,对电子设备进行功能测试,包括:在整机测试产线,第二指令处理模块接收并解析第二测试装备发送的第一测试指令,通过第一工厂模式查询模块向第二工厂模式查询模块发送第一工厂模式查询指令;第一测试指令用于指示测试电子设备的第一功能;第二工厂模式查询模块响应于第一工厂模式查询指令,在第一预设存储分区中查询第一工厂标识,得到查询结果;第二工厂模式查询模块将查询结果通过第一工厂模式查询模块返回至第二指令处理模块;若第二指令处理模块根据查询结果,确定用户版本的软件系统工作于工厂模式,则第二指令处理模块向测试模块发送解析后的测试指令;测试模块响应于解析后的测试指令,对电子设备的第一功能进行测试。
可选的,第一功能例如可以为音频功能、白平衡功能、Gamma功能、Wi-Fi功能和BT功能等中的一种或多种。
可选的,用户版本的软件系统可以包括Native层和Kernel层。第二指令处理模块、第一工厂模式查询模块和测试模块可以位于Native层。第二工厂模式查询模块可以位于Kernel层。第二指令处理模块可以为具体实施方式中用户版本的软件系统中的生产指令处理模块。
该实现方式中,通过第一工厂模式查询模块和第二工厂模式查询模块在用户版本的软件系统中形成工厂模式与出厂模式的隔离层,将工厂模式相关的功能模块与出厂模式相关的功能模块进行有效区分和隔离,防止功能混乱,从而防止影响用户版本的软件系统的出厂状态,提高用户体验。
一种可能的实现方式中,生产版本的软件系统包括软件包拷贝模块和开关机应用程序,基于生产版本的软件系统,从外部存储介质中拷贝用户版本的软件包,包括:开关机应用程序检测到外部存储介质被挂载,调用软件包拷贝模块;若软件包拷贝模块确定生产版本的软件系统处于工厂模式,且外部存储介质中存在文件名称为第一预设文件名的初始软件包,则从外部存储介质中获取初始软件包的MD5码;若软件包拷贝模块确定电路板中第三预设存储目录下不存在文件名称为第三预设文件名的历史软件包,则软件包拷贝模块对电路板中第四预设存储目录下的目标MD5文件进行初始化,并从外部存储介质中拷贝初始软件包至预设存储目录下,得到目标软件包;软件包拷贝模块计算目标软件包的MD5码;若确定目标软件包的MD5码与初始软件包的MD5码相同,则存储目标软件包的MD5码至目标MD5码文件中。
具体的,第一预设文件名为预设的外部存储介质中存储的用户版本的软件包的文件名称。可选的,软件包拷贝模块可以检测外部存储介质中第一预设存储目录下是否存在第一预设文件名的文件,若存在,则确定该文件为初始软件包。第一预设存储目录为预先设置的外部存储介质中存储用户版本的软件包的存储目录。
可选的,软件拷贝模块可以从外部存储介质中第二预设目录下第二预设文件名的文件中获取初始软件包的MD5码。
第三预设存储目录为预先设置的电子设备的电路板中存储拷贝的用户版本的软件包的存储目录。可选的,第三预设存储目录可以为电路板的用户数据(userdata)存储分区中的存储目录。第三预设文件名为预先设置的电子设备的电路板中拷贝的用户版本的软件包的文件名称。
第四预设存储目录为预先设置的电子设备的电路板中存储目标MD5码文件的存储目录。可选的,第四预设存储目录可以为电路板的用户数据存储分区中的存储目录。第三预设存储目录可以与第三预设存储目录相同,也可以不同。
可选的,可以向目标MD5文件中写入无效MD5码,以对目标MD5文件进行初始化。可选的,无效MD5码例如可以为0。
一种可能的实现方式中,该方法还包括:若软件包拷贝模块检测到第三预设存储目录下存在历史软件包,则软件包拷贝模块从目标MD5码文件中获取历史软件包的MD5码;若确定初始软件包的MD5码与历史软件包的MD5码不相同,则执行步骤软件包拷贝模块对电路板的第四预设存储目录下的目标MD5文件进行初始化,并将外部存储介质中的初始软件包拷贝至预设存储目录下,得到目标软件包。
上述实现方式中,向电路板挂载外部存储介质后,生产版本的软件系统能够自动拷贝用户版本的软件包,以便于后续在整机老化产线基于该软件包进行软件版本升级,解决整机测试产线的线体阻塞问题,提高线体UPH。而且,该实现方式中,通过MD5码对软件包进行初步校验,能够保证拷贝的软件包的完整性和一致性,进而提高了用户版本的软件升级的成功率。
一种可能的实现方式中,该方法还包括:在单板定制信息写入工位,第三测试装备从电路板获取目标MD5码文件;第三测试装备获取用户版本的软件包的MD5码标准文件;若第三测试装备确定目标MD5码文件与MD5码标准文件中的MD5码不相同,则第三测试装备返回校验失败信息;校验失败信息用于表征电路板中保存的目标软件包校验不通过。
可选的,标准MD5码文件是指随用户版本的软件包一同发布(release)的MD5码文件,为用户版本的软件包的标准MD5码文件。
该实现方式中,在电路板端对用户版本的软件包进行拷贝和初步校验后,进一步第三通过测试装备,基于MD5码对拷贝至电路板的用户版本的软件包(目标软件包)进行再次校验,这样,对于U盘中的初始MD5码文件与标准MD5码文件不符,或者拷贝完成后目标MD5码文件被篡改等情况,能够及时发现和拦截,进一步确保用户版本的软件包的完整性和一致性,进而提高了用户版本的软件升级的成功率。
一种可能的实现方式中,在单板产线,基于生产版本的软件系统,对电子设备的电路板进行测试,并拷贝用户版本的软件包之前,该方法还包括:在单板产线,向电路板烧录用户版本的软件包,用户版本的软件包中包括用户数据镜像备份文件;对用户版本的软件系统进行出厂复位,包括:在整机测试产线,基于用户版本的软件系统,清除电子设备的第二预设存储分区中的生产测试数据,并将用户数据镜像备份文件覆盖写入第二预设存储分区;生产测试数据包括第一工厂标识,第一工厂标识用于标识用户版本的软件系统工作于工厂模式。
一种可能的实现方式中,整机测试产线包括出厂复位工位,用户版本的软件系统包括第三指令处理模块,电子设备还安装有引导程序Mboot系统,在整机测试产线,基于用户版本的软件系统,清除电子设备的第二预设存储分区中的生产测试数据,并将用户数据镜像备份文件覆盖写入第二预设存储分区,包括:在出厂复位工位,第三指令处理模块接收并响应于第四测试装备发送的复位标识写指令,向电子设备的第三预设存储分区中写入复位标识;第三指令处理模块接收并响应于第五测试装备发送的复位指令,清除第二预设存储分区中的生产测试数据,并执行对用户版本的软件系统的重启操作;Mboot系统响应于重启操作,在确定第三预设存储分区中存在复位标识的情况下,读取用户数据镜像备份文件,将用户数据镜像备份文件覆盖写入第二预设存储分区,并清除复位标识;Mboot系统启动用户版本的软件系统。
可选的,第三指令处理模块可以位于Native层。第三指令处理模块也即具体实施方式中用户版本的软件系统中的其他指令处理模块。该实现方式中,Mboot系统利用预先备份的用户数据镜像备份文件覆盖重写第三预设存储分区,实现对第三预设存储分区的低格,而无需进入重启(recovery)模式进行低格,因此可以减少复位耗时。另外,该实现方式中,复位过程仅需执行一次系统重启,能够进一步减少耗时。而且,该方法中,在工厂模式下写入复位指令,通过复位指令控制出厂复位,用户版本的软件系统中工厂模式下处理指令的模块与出厂模式下相关模块进行了隔离,因而能够防止干扰用户版本的软件系统的出厂状态,提高用户版本的软件系统的稳定性,进而提高用户体验。
一种可能的实现方式中,在整机老化产线,基于生产版本的软件系统,对电子设备进行老化测试,包括:在整机老化产线,基于生产版本的软件系统,对电子设备执行老化测试项目;在电子设备重启时,获取从开始老化到当前时刻的老化时长;若确定老化时长超过预设时长,且电子设备的中央处理器(central processing unit,CPU)的温度大于预设温度阈值,则根据老化时长,继续执行老化测试项目;若确定老化时长未超过预设时长,或CPU的温度小于或等于预设温度阈值,则重新开始执行老化测试项目。
一种可能的实现方式中,该方法还包括:在电子设备重启时,将重启总次数加1;根据老化时长,继续执行老化测试项目,或,重新开始执行老化测试项目之后,该方法还包括:若确定重启总次数未超过预设次数,且本次重启为非异常重启,则确定老化成功;若确定重启总次数超过预设次数,或者本次重启为异常重启,则确定老化失败。
该实现方式中,老化测试过程中,在电子设备发生重启时,判断老化时长是否超过预设时长,且电子设备的CPU温度是否超过预设温度阈值,从而确定当前老化测试的阶段是否满足老化应力要求。若老化时长超过预设时长且电子设备的CPU温度超过预设温度阈值,说明当前老化测试的阶段已满足老化应力要求,无需从头开始老化,而是从老化时长对应的老化测试项目开始继续进行老化。如此,可以减少老化产线回流设备的数量,提高整机老化产线的UPH,而且能够缩短单次老化的耗时,进一步提高整机老化产线的UPH。另一方面,无论是从老化时长对应的老化测试项目开始继续进行老化,还是从头开始老化,在完成测试后,判断重启总次数,在重启总次数未超过预设次数,且确定本次重启为非异常重启时,完成老化,不进行产线回流,进一步减少老化产线回流设备的数量,提高整机老化产线的UPH。
一种可能的实现方式中,整机测试产线还包括返工降级工位和拷包校验工位,该方法还包括:在返工降级工位,将待返工的电子设备的用户版本的软件系统降级为生产版本的软件版本的软件系统,并向待返工的电子设备写入第一工厂标识;第一工厂标识用于标识用户版本的软件系统工作于工厂模式;在拷包校验工位,向待返工的电子设备挂载外部存储介质,基于生产版本的软件系统,从外部存储介质中拷贝用户版本的软件包,并对用户版本的软件包进行校验。
该实现方式中,在需要返工时,在返工降级工位将用户版本的软件系统降级为生产版本的软件系统,从而便于返工重新进行老化测试。在返工降级工位写入第一工厂标识,便于后续基于工厂模式下的用户版本的软件包进行整机测试。而且,在拷包校验工位拷贝用户版本软件包,以便于在老化测试成功后进行软件版本升级。上述过程形成了电子设备生产的闭环,保证了电子设备软件系统生产的完整性。
第二方面,本申请提供一种装置,该装置包含在电子设备中,该装置具有实现上述第一方面及上述第一方面的可能实现方式中电子设备的用户版本的软件系统的功能。功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块或单元。例如,接收模块或单元、处理模块或单元等。
第三方面,本申请提供一种电子设备,电子设备包括:处理器、存储器和接口;处理器、存储器和接口相互配合,使得电子设备实现第一方面的技术方案中任意一种方法中用户版本的软件系统的功能。
一种可能的实现方式中,电子设备安装有用户版本的软件系统,用户版本的软件系统包括第二指令处理模块、第一工厂模式查询模块、测试模块和第二工厂模式查询模块;第二指令处理模块用于接收并解析第二测试装备发送的第一测试指令,并通过第一工厂模式查询模块向第二工厂模式查询模块发送第一工厂模式查询指令;第一测试指令用于指示测试电子设备的第一功能;第二工厂模式查询模块用于响应于第一工厂模式查询指令,在第一预设存储分区中查询第一工厂标识,得到查询结果,并将查询结果通过第一工厂模式查询模块返回至第二指令处理模块;第二指令处理模块还用于若根据查询结果确定用户版本的软件系统工作于工厂模式,则向测试模块发送解析后的测试指令;测试模块用于响应于解析后的测试指令,对电子设备的第一功能进行测试。
一种可能的实现方式中,第二指令处理模块、第一工厂模式查询模块和测试模块位于用户版本的软件系统的Native层,第二工厂模式查询模块位于用户版本的软件系统的Kernel层。
第四方面,本申请提供一种芯片,包括处理器。处理器用于读取并执行存储器中存储的计算机程序,以实现第一方面及其任意可能的实现方式中的方法中用户版本的软件系统的功能。
可选的,芯片还包括存储器,存储器与处理器通过电路或电线连接。
进一步可选的,芯片还包括通信接口。
第五方面,本申请提供一种计算机可读存储介质,计算机可读存储介质中存储了计算机程序,当计算机程序被处理器执行时,使得该处理器实现第一方面的技术方案中任意一种方法中用户版本的软件系统的功能。
第六方面,本申请提供一种计算机程序产品,计算机程序产品包括:计算机程序代码,当计算机程序代码在电子设备上运行时,使得该电子设备实现第一方面的技术方案中任意一种方法中用户版本的软件系统的功能。
附图说明
图1是相关技术中大屏设备的生产工序示意图;
图2是本申请实施例提供的一例大屏设备的整机产线的生产工序示意图;
图3是本申请实施例提供的一例电子设备100的结构示意图;
图4是本申请实施例提供的一例大屏设备的生产工序示意图;
图5是本申请实施例提供一例软件版本升级方法的流程示意图;
图6是本申请实施例提供的一例大屏设备的生产版本的软件系统的结构框图;
图7是本申请实施例提供的一例大屏设备的用户版本的软件系统的结构框图;
图8是本申请实施例提供的一例拷贝和初步校验用户版本的软件包的过程的模块交互示意图;
图9是本申请实施例提供的一例写入工厂标识过程的模块交互示意图;
图10是本申请实施例提供的一例校验用户版本的软件包过程的流程示意图;
图11是本申请实施例提供的一例升级用户版本过程的流程示意图;
图12是本申请实施例提供的一例用户版本复位过程的模块交互示意图;
图13是相关技术中大屏设备的软件系统的复位过程的流程示意图;
图14是相关技术中整机老化的流程示意图;
图15是本申请实施例提供的一例整机老化的流程示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。其中,在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,在本申请实施例的描述中,“多个”是指两个或多于两个。
以下,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”、“第三”的特征可以明示或者隐含地包括一个或者更多个该特征。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本申请说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
具有软件系统的电子设备在生产过程中,需要通过生产版本的软件系统对电子设备的功能进行测试。测试完成后,再将生产版本的软件系统升级为用户版本的软件系统。
以大屏设备为例进行说明,大屏设备例如可以为智慧屏、电视、教学显示屏等。示例性的,图1为相关技术中大屏设备的生产工序示意图。如图1所示,大屏设备的生产过程中,与软件系统相关的生产线(也称为产线、流水线等)主要包括单板产线和整机产线,其中,整机产线主要包括整机老化产线和整机测试产线。单板产线的生产工位(简称工位)主要包括:表面贴装技术(surface mounted technology,SMT)烧录、单板定制信息写入、电路板动态功能测试(functional circuit test,FCT)等。整机老化产线包括整机老化工位。整机测试产线的工位主要包括:整机自动化测试、整机定制信息写入、软件版本升级和用户版本检查等。
具体的,在SMT烧录工位对大屏的电路板(或称为主板)进行SMT烧录,即烧录生产版本的软件包。之后,单板定制信息写入工位写入单板定制信息(例如,电路板序列号(board serial number,BSN)等)。在FCT测试工位基于生产版本的软件系统进行FCT测试。FCT测试完成测试后,在组装工位(图1中未示出)对测试通过的电路板进行组装,形成整机,之后进入整机老化产线中的整机老化工位,对整机的软件系统进行老化测试。老化测试完成后,进入整机测试产线。具体的,在整机自动化测试工位基于生产版本的软件系统进行相关功能的测试。在一个实施例中,整机自动化测试工位可以包括音频自动化测试、白平衡和Gamma测试、Wi-Fi/BT测试等工位。整机自动化测试通过后,进入整机定制信息写入工位,基于生产版本的软件系统写入整机定制信息。之后,进入软件版本升级工位,将生产版本的软件系统升级为用户版本的软件系统。升级完成后,进入用户版本检查工位,核对检查软件系统的版本信息和状态等。用户版本检查通过后,即可入库。
需要说明的是,图1所示出的生产线上的工位仅为与本申请实施例提供方案相关的工位,实际生产过程中,生产线上可以包括比上述工位更多或更少的工位,例如,Wi-Fi/BT测试工位之后还可以包括人工听音工位等。本申请实施例对此不做任何限定。
相关技术中,整机测试产线上的各个工位的耗时情况如图1所示,音频自动化测试工位可以包括2个并行工位,耗时40秒;白平衡和Gamma调整工位可以包括2个并行工位,耗时40秒;Wi-Fi/BT测试工位耗时20秒;整机定制信息写入工位耗时20秒;软件版本升级工位耗时260秒;用户版本检查工位耗时20秒。可见,整机测试产线上,软件版本更新工位耗时最长,且远远高于其他工位。这样会造成整机测线产线的线体阻塞,影响线体UPH。以图1所示的大屏生产线为例,整机测试产线线体的UPH为42台/小时,有必要进行优化。
一般的,对于线体阻塞问题,可以通过改造线体来解决。具体的,可以加长工位导轨,在工位上设置多个并行工位。然而,改造线体会带来线体改造成本,尤其对于大屏设备等体积大、重量大的设备,线体改造的成本很高。例如上述图1所示的实施例中,若要解决整机测试产线的线体阻塞问题,将UPH提升至140台/小时,需要将软件版本升级工位的导轨加长至至少10个工位,这个线体改造费用非常高昂。而且,即使线体改造,改造后整机测试产线线体的UPH也仅为100台左右,仍存在可优化的空间。
针对上述问题,本申请实施例提供一种软件版本升级方法,请参见图2,考虑到整机老化工位有时间余量,将软件版本升级工序提前至整机老化工位,即,在整机老化成功后进行软件系统由生产版本至用户版本,之后基于用户版本的软件系统进行整机自动化测试。将原软件版本升级工位更改为出厂复位工位,在该工位对用户版本的软件系统进行出厂复位。如图2所示,本申请实施例提供的软件版本升级方法中,出厂复位工位耗时约66秒,仅需设置3至4个并行工位即可解决整机测试产线的线体阻塞问题,将线体UPH提高至至少140台/小时。而且,业界大屏设备在该工位的并行工位一般为2个至4个,因而通过该方法能够实现了大屏设备产线与业界其他厂家产线的一致性和兼容性,无需对线体进行改造,节约了线体改造费用。
首先对本申请实施例提供的方法所适用的生产线所生产的电子设备进行介绍。
本申请实施例提供的软件版本升级方法适用于具有软件系统的电子设备的生产线。电子设备包括但不限于大屏设备、手机、平板电脑、可穿戴设备、车载设备、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personaldigital assistant,PDA)等具有软件系统的电子设备上,本申请实施例对电子设备的具体类型不作任何限制。
示例性的,图3是本申请实施例提供的一例电子设备100的结构示意图。电子设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universalserial bus,USB)接口130,电源管理模块140,通信管理模块150,显示屏160等。
可以理解的是,本实施例示意的结构并不构成对电子设备100的具体限定。在另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
控制器可以是电子设备100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括I2C接口,集成电路内置音频(inter-integrated circuit sound,I2S)接口,脉冲编码调制(pulsecodemodulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purpose input/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或USB接口等。
可以理解的是,本实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备100的结构限定。在另一些实施例中,电子设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
电源管理模块140用于为电子设备供电。电源管理模块140连接处理器110。电源管理模块140接收外部电源的输入,为处理器110、内部存储器121、外部存储器、显示屏160和通信管理模块150等供电。
通信管理模块150可以提供应用在电子设备100上的通信解决方案。可选的,通信管理模块150可以为无线通信模块,提供应用在电子设备100上包括WLAN(如Wi-Fi),蓝牙,全球导航卫星系统(global navigation satellite system,GNSS),调频(frequencymodulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。例如,本申请实施例中,电子设备100可以通过无线通信模块与终端设备(如手机)建立蓝牙连接。
通信管理模块150可以是集成至少一个通信处理模块的一个或多个器件。通信管理模块150经由天线接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。通信管理模块150还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线转为电磁波辐射出去。
电子设备100通过GPU,显示屏160,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏160和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏160用于显示图像,视频等。该显示屏160包括显示面板。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行电子设备100的各种功能应用以及数据处理。例如,在本申请实施例中,处理器110可以通过执行存储在内部存储器121中的指令,内部存储器121可以包括存储程序区和存储数据区。
其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universalflash storage,UFS)等。
下面结合实施例和附图,以电子设备为大屏设备为例,对本申请实施例提供的软件版本升级方法进行具体阐述。
示例性的,图4为本申请实施例提供的一例大屏设备的生产工序示意图,图5为本申请实施例提供的一例软件版本升级方法的流程示意图。请一并参见图4和图5,大屏设备的生产工序如下:
S101、在SMT烧录工位,向大屏设备的电路板烧录生产版本的软件系统。
具体的,可以通过烧录器进行SMT烧录,也可以通过串口或网口等连接计算机设备和单板进行SMT烧录。
此工序中烧录的软件包为生产版本的软件包。在一个具体的实施例中,生产版本的软件包中可以包括:系统(System)组件镜像、供应商(Vendor)组件镜像、产品(Product)组件镜像(生产版本)、版本(Version)组件镜像、分区表(生产版本)、生产版本特有分区,以及剪切(cust)、预加载(proload)定制包。其中,生产版本特有分区也称为烧片特有分区,为生产版本的软件包中特有的,用于支持整机老化等测试的分区。另外,本申请实施例中,烧录的生产版本的软件包中还包括用户数据镜像备份文件(userdata image)。userdataimage为预先烧录的预留镜像,存储于用户数据备份(userdata_bak)存储分区,用于后续用户版本的软件系统的出厂复位。
S102、在预通电工位,向电路板挂载串行总线(universal serial bus,USB)盘(下称U盘),并对电路板进行预通电,基于生产版本的软件系统,从U盘中拷贝(copy)用户版本的软件包到userdata存储分区并进行初步校验。
可以理解,向电路板挂载的也可以是其他外部存储介质,而不限于U盘,本申请实施例中以U盘为例进行说明。
在一个具体的实施例中,U盘中存储有用户版本的软件包,用户版本的软件包中可以包括:System组件镜像、Vendor组件镜像、Product组件镜像、Version组件镜像和分区表。需要说明的是,用户版本的软件包与生产版本的软件包中System组件镜像、Vendor组件镜像、Product组件镜像、Version组件镜像的类型虽相同,但是版本不同,具体内容不同。本申请实施例中,生产版本软件系统的分区表和用户版本的软件系统的分区表中,老化存储分区之前的分区保持一致,也即,除老化存储分区和userdata存储分区之外的分区保持一致。
S103、在单板定制信息写入工位,基于生产版本的软件系统向电路板写入单板定制信息和第一工厂标识,并对用户版本的软件包进行校验。
可选的,单板定制信息和工厂标识可以写入电路板的内嵌式存储器(embeddedmulti media card,EMMC)中,具体的,可以写入oeminfo存储分区。单板定制信息包括但不限于BSN。
工厂标识为用于区分软件系统的模式的一个系统属性(property)值。在具有工厂标识的情况下,软件系统处于工厂模式,在无工厂标识的情况下,软件系统处于出厂模式。工厂模式也称为生产模式、烧片模式或烧录模式等,为生产阶段用于测试的软件系统模式。出厂模式为软件系统出厂的最终模式。
可选的,生产版本的软件系统的工厂标识和用户版本的软件系统的工厂标识可以不同。为了便于区分,本申请实施例中,用户版本的软件系统的工厂标识称为第一工厂标识,生产版本的软件系统的工厂标识称为第二工厂标识。
可以理解,生产版本的软件系统仅用于生产测试阶段,因而只存在工厂模式,不存在出厂模式。所以,生产版本的软件系统的第二工厂标识可以为固定值,写入后不可更新和清除。而用户版本的软件系统可以用于生产测试阶段,也可以用于用户阶段,既具有工厂模式,又具有出厂模式。所以,用户版本的软件系统的第一工厂标识为非固定值,写入后可以进行更新,也可以进行清除。
S104、在FCT测试工位,基于生产版本的软件系统进行FCT测试。
该工序中,基于步骤S101烧录的生产版本的软件系统,对大屏设备的电路板进行FCT自动化测试。
FCT测试完成后进入组装工位进行组装,形成整机。之后整机流转至整机老化产线,执行步骤S105。
S105、在整机老化工位,基于生产版本的软件系统进行整机老化,老化成功后触发升级用户版本。
具体的,在整机老化成功后,触发从大屏设备的userdata存储分区中读取上述步骤S102中拷贝的用户版本的软件包,并安装该软件包,实现将生产版本的软件系统升级为用户版本的软件系统。
如上步骤S102中,向电路板写入了第一工厂标识,因而,此时,用户版本的软件系统处于工厂模式。后续的整机自动化测试和整机定制信息写入等工序均基于工厂模式下的用户版本的软件系统进行。整机自动化测试和整机定制信息写入完成后,在用户版本复位时,清除第一工厂标识,恢复用户版本的软件系统至最终的出厂模式。
S106、在整机自动化测试工位,基于用户版本的软件系统,对大屏设备进行整机自动化测试。
可选的,本实施例中,用户版本的软件系统中可以预先设置生产指令通路,测试装备通过生产指令通路向相关模块传输指令,并对相关指令和权限进行整改,以实现通过用户版本的软件系统对大屏设备进行整机自动化测试。
具体的,指令整改主要是将原先通过应用程序实现测试时使用的指令整改为测试装备与大屏设备之间传输的指令。权限整改包括对指令权限的整改,以及向用户版本的软件系统新增生产测试过程中需要的权限和功能,使用户版本的软件系统满足生产测试需求。例如,指令整改可以包括:将多媒机接口(multimedia interface,MMI)的Android指令整改为自动测试(auto test,AT)指令,将Wi-Fi测试、BT测试等短距测试相关的测试指令整改为AT指令等。权限整改可以包括:对整机测试产线中AT指令的权限进行整改;向用户版本的软件系统新增抓取日志(log)权限,以便于抓取生产过程中的日志,便于后续进行问题识别和调整;工厂模式下,用户版本的软件系统可以采用固定IP,便于发送接收AT指令;且工厂模式下增加自动启动工厂服务、安卓调试桥(android debug bridge,ADB)、日志维测等权限。另外,可以理解,ADB安装测试应用程序时,可以采用静默安装的方式,以避免影响用户版本的软件系统的出厂状态。本申请实施例对于指令整改和权限整改的具体内容不做任何限定,可以根据实际需求进行设计。
可选的,如上述实施例所述,整机自动化测试可以包括但不限于音频自动化测试、白平衡和Gamma测试、Wi-Fi/BT测试等。
另外,需要说明的是,本申请实施例所述的测试装备为生产测试过程中使用的装备或工具等,不同的工位和工序,使用的测试装备可以不同,例如,软件包校验时使用校验装备,单板定制信息写入时使用信息写入装备等,以下实施例中不进行具体区分,统一描述为测试工具。
S107、在整机定制信息写入工位,基于用户版本的软件系统,写入整机定制信息。
该工序中,与步骤S106类似,测试装备通过生产指令通路向相关模块传输指令,并对相关权限进行整改,以实现通过用户版本的软件系统写入整机定制信息。整机定制信息例如包括产品型号、出货地区等信息。
S108、在出厂复位工位,对用户版本的软件系统进行出厂复位。
该工序中,将相关技术中该工位的软件版本升级流程更换为出厂复位流程,缩短该工位的耗时。
可选的,本实施例中,对用户版本的软件系统进行出厂复位时,可以直接用userdata image对userdata存储分区进行覆盖重写,而不再进入复位(recovery)模式后进行低级格式化(以下简称低格),从而进一步缩短复位的耗时。另外,本实施例中,可以基于工厂模式下的用户版本的软件系统写入复位标识,以便于重启后软件系统能够通过检测识别复位标识触发覆盖重写userdata存储分区,具体参见后续实施例。
S109、在用户版本检查工位,对用户版本的软件系统进行检查。
用户版本检查工位也称为移动检查(mobile check,MC)工位、状态检查工位或标志位检查工位等。在用户版本检查工位,执行对大屏设备的物理号、国家信息、运营商信息和软件版本等进行校验和检查,以确保大屏设备出厂状态的准确性。可选的,本申请实施例中,在该工位新增对复位标识和工厂标识的检查,以确保出厂的用户版本的软件系统不包含复位标识和工厂标识,确保用户版本的软件系统的出厂状态的准确性,提高用户体验。
本实施例提供的软件版本升级方法中,在单板产线中增加预通电工位,在预通电工位拷贝用户版本的软件包,并且在整机老化工位,整机老化成功后,基于拷贝的用户版本的软件包将软件版本升级至用户版本。之后,基于用户版本的软件系统进行整机自动化测试,测试完成后在出厂复位工位对用户版本的软件系统进行出厂复位。上述过程中,单板产线中增加预通电工位,预通电和拷贝用户版本的软件包需要3分钟左右,但是电路板体积较小,通过增加工位即可缩短该工位的耗时,因而不会影响单板产线的线体流转。另外,一般整机老化产线总耗时约1小时,对于整机老化产线来说,耗时1.5小时即可满足140台/小时的UPH要求,因而整机老化工位有足够时间余量,将软件版本升级过程提前至整机老化工位,不会影响整机老化产线的线体流转。而将原软件版本升级工位更改为出厂复位工位,在该工位仅需进行出厂复位,无需进行软件版本升级,因而能大大节约该工位的耗时。本申请一个具体的实施例中,出厂复位工位耗时仅需约66秒,因而仅需设置3至4个并行工位即可解决整机测试产线的线体阻塞问题,提高线体UPH。并且,业界大屏设备在该工位的并行工位一般为2个至4个,因而通过该方法能够实现了大屏设备产线与业界其他厂家产线的一致性和兼容性,无需对整机测试产线的线体进行改造,节约了线体改造费用。
请继续参见图4和图5,在整机测试产线中,若任一个工位的工序执行失败,则整机测试产线的工位流转完成后,大屏设备最终会进入返工降级工位,或者,当已入库产品或返厂产品需要重新进行整机测试时,会进入返工降级工位。参见图4,本申请实施例中,整机测试产线中还包括返工降级工位和拷包校验工位。返工降级和拷包校验的步骤如图5所示,包括:
S110、在返工降级工位,对待返工的大屏设备进行返工降级,将用户版本的软件系统降级为生产版本的软件系统,并写入第一工厂标识。
可以理解,在整机自动化测试、整机定制信息写入、用户版本复位或用户版本检查过程中,若工序执行失败,需要调整处理后返工,重新进行老化测试。此时大屏设备的软件系统的版本已经升级为用户版本,而整机老化需要基于生产版本进行测试。因而,在返工降级工位将用户版本的软件系统降级为生产版本的软件系统,以便于返工重新进行整机老化。而且,写入第一工厂标识,便于后续在工厂模式下基于用户版本的软件包进行测试。
S111、在拷包校验工位,拷贝用户版本的软件包,并对用户版本的软件包进行校验,之后返回步骤S105。
由于整机老化成功后,需要进行软件版本升级,因而在拷包校验工位重新拷贝用户版本的软件包,并进行校验。拷包过程与上述步骤S102中预通电工位的拷贝用户版本软件包过程类似,校验过程与步骤S103中单板定制信息写入工位的校验过程类似,在此不再赘述。
本申请实施例提供的方法中,在需要返工时,在返工降级工位将用户版本的软件系统降级为生产版本的软件系统,从而便于返工重新进行整机老化。在返工降级工位写入第一工厂标识,便于后续基于工厂模式下的用户版本的软件包进行整机测试。而且,在拷包校验工位拷贝用户版本软件包,以便于在整机老化成功后进行软件版本升级。上述过程形成了大屏设备生产的闭环,保证了整机软件系统生产的完整性。
为了便于理解本申请的方案,下面以大屏设备为例,对电子设备的软件系统进行说明。大屏设备的软件系统可以为分层架构,事件驱动架构,微核架构,微服务架构,或云架构的软件系统。本申请实施例以分层架构的Android系统为例,对生产版本和用户版本的软件系统架构进行说明。
示例性的,图6是本申请实施例提供的一例大屏设备的生产版本的软件系统的结构框图。图7是本申请实施例提供的一例大屏设备的用户版本的软件系统的结构框图。本申请实施例中的软件系统采用分层架构,分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。
如图6和图7所示,本实施例中,大屏设备的软件系统从上至下分别包括:应用程序层,应用程序框架层,本地(Native)层、内核(Kernel)层和硬件(Hardware)层。其中,应用程序层和应用程序框架层属于Android系统,Native层和Kernel层属于Linnux系统。另外,无论是生产版本,还是用户版本,在进入软件系统之前,可以通过引导程序(Mboot)引导进入软件系统,因而,图6和图7中还示出了Mboot系统的结构。
如图6所示,生产版本的软件系统的应用程序包可以包括老化测试、音频测试和项目手册(project manu)等生产测试用的应用程序。其中,老化测试应用程序例如可以为老化自动化测试(running test,RT)应用程序。音频测试应用程序例如可以为MMI应用程序。项目手册为用于SMT烧录时内容的展示、选择的应用程序。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
如图6所示,生产版本的软件系统的应用程序框架层可以包括老化模块、音频测试模块和项目手册模块等自研模块或扩展模块。
另外,应用程序框架层还可以包括应用程序框架层的原生模块,例如窗口管理器,内容提供器,视图系统,资源管理器等。窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,显示并管理窗口等。内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。数据可以包括视频,图像,音频等。视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
如图7所示,用户版本的软件系统与生产版本的软件系统的结构类似,不同点主要在于应用程序层中的应用程序,以及应用程序架构层与应用对应的模块的不同。用户版本的软件系统的应用程序层可以不包括生产测试用的应用程序,而包括出厂用的应用程序,例如视频、蓝牙、WLAN等。相应的,用户版本的软件系统的应用程序架构层也不包括生产测试用的应用程序对应的模块。
如图6和图7所示,Native层包括生产测试系统和Native原生系统。生产测试系统主要用于实现生产测试过程中的指令下发及相关功能的测试。Native原生系统主要用于实际应用过程中相关功能的实现。也就是说,生产测试过程中相关功能的实现主要通过生产测试系统实现,软件系统在工厂模式下可启动生产测试系统。而大屏设备完成生产测试进入实际阶段后,主要通过Native原生系统实现相关功能。软件系统在出厂模式下生产测试系统的大部分功能不可启动。Native原生系统的具体功能单元可以根据大屏设备所需的具体功能进行设置,本申请实施例对此不做任何限定。
为了对软件系统在工厂模式和出厂模式下,相同或相似的功能模块进行有效区分和隔离,防止功能混乱,防止影响软件系统的出厂状态,本申请实施例中Native层还设置有第一工厂模式查询模块,作为软件系统中工厂模式与出厂模式的隔离层。第一工厂模式查询模块用于向下层模块发送工厂标识查询指令,以确定当前软件系统是否处于工厂模式。需要说明的是,软件系统的版本不同,发送的具体的工厂标识查询指令不同。用户版本的软件系统的第一工厂模式查询模块向下层模块发送第一工厂标识查询指令;生产版本的软件系统的第一工厂模式查询模块向下层模块发送第二工厂模式查询指令。在确定当前软件系统处于工厂模式的情况下,触发生产测试相关的模块工作。可选的,第一工厂模式查询模块可以为通过ro.runmode与下层模块交互,实现第一工厂标识的查询。为了便于说明,下述实施例中,将工厂模式下触发工作的模块称为被隔离模块。图6和图7中,具有填充色的模块为被隔离模块。
生产测试系统可以包括通信管理模块、生产指令通路、生产硬件抽象层(hardwareabstract layer,HAL)通路、测试模块等。其中,生产指令处理模块、生产HAL通路模块和测试模块为被隔离模块。
通信管理模块用于与测试装备进行通信,接收测试装备发送的指令,例如接收测试装备发送的生产指令。生产指令可以包括状态控制指令或测试指令。状态控制指令可以包括生产测试过程中各种状态标识的读、写或清除指令,例如工厂标识读指令、工厂标识写指令和工厂标识的清除指令等。测试指令例如可以包括升级指令、音频测试指令、白平衡测试指令和Gamma测试指令等等。通信管理模块可以为无线通信模块,也可以为有线通信模块。通信管理模块将接收到的生产指令发送至生产指令通路。生产指令通路主要用于处理生产指令,在一些实施例中,生产指令通路还可以用于处理除生产指令外的其他指令。具体的,生产指令通路可以包括生产指令处理模块和其他指令处理模块。生产指令处理模块用于处理和响应生产指令,仅工厂模式下可用,为被隔离模块。生产指令处理模块可以将测试指令发送至测试模块,测试模块用于响应测试指令,进行功能测试的逻辑运算,并调用相应的硬件驱动实现对应的功能测试。可选的,测试模块中可以包括老化音频测试单元、白平衡测试单元、Gamma测试单元、升级单元(图中未示出)等。其他指令处理模块用于处理其他指令,例如MC校验指令等。MC校验指令为出厂模式下,用户版本检查工位用于指示校验和检查整机定制信息的指令,该指令无需隔离,因而,其他指令处理模块为非被隔离模块。
生产HAL通路用于对接应用程序架构层,接收应用程序架构层生产测试相关模块发送的测试指令,例如老化测试指令等。生产HAL通路将测试指令发送至测试模块。测试模块用于响应测试指令,进行功能测试的逻辑运算,并调用相应的硬件驱动实现对应的功能测试。可选的,测试模块中还可以包括老化单元等。生产HAL通路和测试模块仅工厂模式下可用,为被隔离模块。通过生产HAL通路和测试模块,支撑应用程序层的老化测试、音频测试和项目手册等应用程序的测试功能。
Kernel层包括init进程模块和第二工厂模式查询模块。其中,init进程模块包括工厂模式设置单元和生产测试服务拉起单元。工厂模式设置单元用于在软件系统运行阶段向硬件层的oeminfo存储分区写入工厂标识,设置工厂模式;或者从oeminfo存储分区中清除工厂标识,去除工厂模式等。生产测试服务拉起单元用于加载生产测试文件(可以为.rc文件),根据生产测试文件的配置,拉起生产测试服务。工厂模式设置单元和生产测试服务拉起单元仅用于生产测试用,因而为被隔离模块。第二工厂模式查询模块用于在硬件层的oeminfo存储分区中查询工厂标识,确定当前软件系统是否处于工厂模式。
Mboot系统用于硬件初始化、引导启动上述结构的软件系统以及用于解密(例如解加密狗)等。另外,本申请实施例中,Mboot系统还用于在返工降级工位执行返工降级程序。如图6所示,本申请实施例中的Mboot系统可以包括生产功能模块、第三工厂模式查询模块、基础算法模块、安全验签模块和oeminfo基础架构等。
其中,生产功能模块用于解密、写入单板定制信息和工厂标识等。oeminfo基础架构用于引入oeminfo存储分区的框架模式,以便于向oeminfo存储分区写入内容,或读取oeminfo存储分区的内容。
第三工厂模式查询模块用于通过oeminfo基础架构向硬件层的oeminfo存储分区写入工厂标识,设置工厂模式;或者,通过oeminfo基础架构从硬件层的oeminfo存储分区查询工厂标识,确定当前软件系统是否处于工厂模式。也就是说,工厂模式的设置有两种阶段和途径,一种是在软件系统运行阶段,通过软件系统的生产指令通路、工厂模式设置单元等设置工厂模式;另外一种是在Mboot运行阶段,通过Mboot系统设置工厂模式。第三工厂模式查询模块作为Mboot系统中工厂模式与出厂模式的隔离层。
基础算法模块用于对userdata存储分区的数据进行解析、处理的算法,作为数据(包括单板定制信息和工厂标识等)写入和解析的逻辑控制的基础。安全验签模块用于对签名进行验签,例如在用户版本软件复位工位对复位标识的签名字段进行验签等。
需要说明的是,图6和图7作为一种示例,仅示出与发明点较密切的软件系统的部分模块,实际应用中,根据生产测试或出厂使用需要,软件系统可以包括比图6和图7更多或更少的模块。例如,用户版本的软件系统的应用程序层还可以包括开关机应用程序、应用程序框架层可以包括用户版本拷贝接口,Native层包括软件包拷贝模块等。本申请实施例对此不做任何限定。
为了便于理解,本申请以下实施例将以具有图6和图7所示软件结构的大屏设备为例,结合附图和应用场景,对本申请实施例提供的软件版本升级方法进行具体阐述。
图8是本申请实施例提供的一例拷贝和初步校验用户版本的软件包的过程的模块交互示意图。如图8所示,上述实施例中的步骤S102中对电路板进行预通电,基于生产版本的软件系统,从U盘中拷贝用户版本的软件包到userdata存储分区并进行初步校验,或者,上述实施例中的步骤S111中拷贝(copy)用户版本的软件包,并进行校验,包括:
S1021、应用程序层的开关机应用程序检测到U盘插入大屏设备的电路板的USB接口。
S1022、开关机应用程序通过应用程序架构层的用户软件包拷贝接口调用Native层的软件包拷贝模块。
S1023、软件包拷贝模块通过第一工厂模式查询模块向Kernel层的第二工厂模式查询模块发送第二工厂标识查询指令。
S1024、第二工厂模式查询模块响应于第二工厂标识查询指令,在硬件层的oeminfo存储分区中查询第二工厂标识。
S1025、第二工厂模式查询模块将查询结果通过第一工厂模式查询模块返回至软件包拷贝模块。
S1026、软件包拷贝模块根据查询结果确定当前软件系统是否处于工厂模式;若是,则执行步骤S1027;若否,则结束流程。
如上实施例所述,生产版本的软件系统的第二工厂标识为固定值,因而,此处的查询结果为存在第二工厂标识,确定当前软件系统处于工厂模式,执行步骤S1027。
S1027、软件包拷贝模块检查U盘的第一预设存储目录下是否存在第一预设文件名的初始软件包;若是,则执行步骤S1028;若否,则结束流程。
第一预设存储目录为预先设置的U盘中存储用户版本的软件包的存储目录。第一预设文件名是指预先设置的U盘中的用户版本的软件包的文件名称。初始软件包为用户版本的软件包。
S1028、软件包拷贝模块发送亮灭屏闪烁信号。
亮灭屏闪烁信号用于控制大屏设备的屏幕闪烁。此处,由于还处于单板产线,屏幕还未组装,无法实现屏幕闪烁,仅通过发送亮灭屏闪烁信号,提示电路板即将进入用户版本软件的拷贝流程。
S10291、软件包拷贝模块从U盘中第二预设存储目录下存储的第二预设文件名的文件中获取初始软件包的MD5码。
可选的,第二预设存储目录为预先设置的U盘中存储初始软件包的MD5码的文件的存储目录。第二预设存储目录与第一预设存储目录可以相同,也可以不同。初始软件包的MD5码可以存储于预设格式的文件(例如.txt文件),存储初始软件包的MD5码的文件称为初始MD5码文件。第二预设文件名是指预先设置的初始MD5码文件的文件名称。MD5码是指通过MD5信息摘要算法(MD5 message-digest algorithm)对文件加密生产的散列值。MD5码作为文件拷贝的校验码,能够确保文件传输的完整性和一致性。
可选的,在一些其他的实施例中,也可以读取第一预设存储目录下的初始软件包并通过计算,得到初始软件包的MD5码。
S10292、软件包拷贝模块检测电路板的userdata存储分区中第三预设存储目录下是否存储有第三预设文件名的历史软件包;若是,则执行步骤S10293和步骤S10294;若否,则执行步骤S10295。
第三预设存储目录为预先设置的电路板的userdata存储分区中用于存储拷贝的用户版本的软件包的存储目录。第三预设文件名是指预先设置的userdata存储分区中拷贝的用户版本的软件包的文件名称。在一个具体的实施例中,第三预设文件名可以为update_sd_base.zip。
本申请实施例中,当前时刻之前拷贝并存储于第三预设存储目录下的用户版本的软件包称为历史软件包。
若第三预设存储目录下存储有历史软件包,说明当前电路板的userdata存储分区中已存在用户版本的软件包,执行步骤S10293和步骤S10294对历史软件包的MD5码进行校验,确认该用户版本的软件包与初始软件包是否一致。若第三预设存储目录下未存储有历史软件包,说明当前电路板的userdata存储分区中不存在用户版本的软件包,需要进行拷贝,执行步骤S10295。
S10293、软件包拷贝模块从电路板的userdata存储分区中的第四预设存储目录下的目标MD5码文件中获取历史软件包的MD5码。
第四预设存储目录为预先设置的电路板的userdata存储分区中存储目标MD5码文件的存储目录。可选的,第四预设存储目录可以与第三预设存储目录相同,也可以不同。目标MD5码文件用于存储第三预设存储目录下当前存储的用户版本的软件包的MD5码。在一个具体的实施例中,目标MD5码文件的文件名例如可以为Md5Sum.txt。
可选的,在其他的实施例中,软件包拷贝模块也可以读取第三预设存储目录下的历史软件包并通过计算,得到历史软件包的MD5码。本申请实施例对于MD5码的获取方式不做任何限定。
S10294、软件包拷贝模块判断历史软件包的MD5码与初始软件包的MD5码是否相同;若是,则结束流程;若否,则执行步骤S10295。
历史软件包的MD5码与初始软件包的MD5码不相同,说明当前电路板的userdata存储分区中存储的用户版的软件包的内容与U盘中的初始软件包的内容不一致,需要重新进行拷贝,执行步骤S10295。
S10295、软件包拷贝模块向电路板的userdata存储分区中的第四预设存储目录下的目标MD5文件中写入MD5码0,将U盘中初始软件包拷贝至第三预设存储目录下,得到目标软件包。
MD5码0用于表征当前电路板的userdata存储分区中第三预设存储目录下不存在文件或者文件无效,相当于对目标MD5文件进行初始化。本实施例中,在步骤S10292中确定不存在历史软件包的情况下,向目标MD5码文件中写入0,以标识当前不存在用户版本的软件包。在步骤S10294中确定历史软件包的MD5码与初始软件包的MD5码不相同的情况下,向目标MD5码文件中写入0,以标识当前存在的用户版本的软件包与待拷贝的用户版本的软件包不一致。这两种情况都需要拷贝用户版本的软件包,因而将U盘中第一预设存储目录下的初始软件包拷贝至电路板userdata存储分区中的第三预设存储目录下。拷贝得到的软件包称为目标软件包。目标软件包的文件名为第三预设文件名。
S10296、软件包拷贝模块计算目标软件包的MD5码。
拷贝完成后,软件包拷贝模块计算目标软件包的MD5码。
S10297、软件包拷贝模块判断目标软件包的MD5码与初始软件包的MD5码是否相同;若是,则执行步骤S10298;若否,则结束流程。
若目标软件包的MD5码与初始软件包的MD5码相同,说明拷贝成功,执行步骤S10298,对目标软件包的MD5码进行保存,以便于下一次执行上述流程时,在步骤S10293能够获取历史文件的MD5码,使流程能正确流转。同时,保存的目标软件包的MD5码还用于测试装备对用户版本的软件包进行校验,具体参见下述实施例。若目标软件包的MD5码与初始软件包的MD5码不相同,则说明拷贝出错,不保存目标软件包的MD5码,此时,目标MD5码文件中的MD5码为0,仍表示文件无效,下一次执行上述流程时,在步骤S10294处确定初始软件包的MD5码与历史软件包的MD5码不相同,进而执行步骤S10295,使流程能正确流转。
S10298、软件包拷贝模块存储目标软件包的MD5码至电路板的userdata存储分区中第四预设存储目录下的目标MD5码文件中。
可以理解,目标软件包的MD5码存储至目标MD5码文件中后,覆盖原文件中的无效MD5码0。
需要说明的是,在拷包校验工位,步骤S111的具体执行过程与上述过程类似,不做赘述。
本实施例提供的方法中,向电路板插入U盘后,生产版本的软件系统能够自动拷贝用户版本的软件包至userdata存储分区,以便于后续在整机老化工位基于该软件包进行软件版本升级,解决整机测试产线的线体阻塞问题,提高线体UPH。而且,本实施例中,通过MD5码对软件包进行初步校验,能够保证拷贝的软件包的完整性和一致性,进而提高了用户版本的软件升级的成功率。
图9是本申请实施例提供的一例写入工厂标识过程的模块交互示意图。本实施例以在软件系统运行阶段写入第一工厂标识为例,对上述实施例中的步骤S103中基于生产版本的软件向电路板写入工厂标识的过程进行说明,该过程包括:
S1031、测试装备向Native层的生产测试系统中的通信管理模块发送第一工厂标识写指令。
第一工厂标识写指令用于指示向电路板写入第一工厂标识,将用户版本的软件系统设置为工厂模式。
S1032、通信管理模块将第一工厂标识写指令发送至生产指令通路的生产指令处理模块。
S1033、生产指令处理模块解析处理第一工厂标识写指令。
S1034、生产指令处理模块向Kernel层的init进程模块中的工厂模式设置单元发送工厂模式设置指令。
S1035、工厂模式设置指令向硬件层的oeminfo存储分区写入第一工厂标识,完成设置工厂模式。
S1036、同时,工厂模式设置指令向生产测试服务拉起单元请求拉起生产测试服务。
S1037、生产测试服务拉起单元拉起生产测试服务。
需要说明的是,写入oeminfo存储分区的第一工厂标识可以为加密字段格式,提高系统的安全性,且能够进一步防止干扰软件系统的出厂状态,提高软件系统的稳定性,进而提高用户体验。
可以理解,工厂标识的更改和清除过程与上述写入过程类似,不再赘述。
图10是本申请实施例提供的一例校验用户版本的软件包过程的流程示意图。该过程可以由测试装备端执行。如图10所示,上述实施例中的步骤S103中对用户版本的软件包进行校验的过程,包括:
S10391、测试装备获取目标MD5码文件。
可选的,测试装备可以通过ADB向电路板获取目标MD5码文件。或者,也可以由电路板在目标软件包的MD5码存储至目标MD5码文件中之后,主动将目标软件包的目标MD5码文件发送至测试装备。本申请实施例对此不做任何限定。
S10392、测试装备获取用户版本的软件包的标准MD5码文件。
标准MD5码文件是指随用户版本的软件包一同发布(release)的MD5码文件,为用户版本的软件包的标准MD5码文件。可选的,可以预先从保存用户版本的软件包对应的标准MD5码文件至测试装备。可选的,标准MD5码文件的文件名例如可以为Md5Sum_ready.txt。
S10393、测试装备将目标MD5码文件中的MD5码与标准MD5码文件中的MD5码进行对比,确定二者是否一致;若不一致,则执行步骤S10394和S10395;若一致,则执行步骤S10395。
S10394、测试装备返回校验失败(fail)信息。
S10395、重新拷贝用户版本的软件包。
S10396、用户版本的软件包校验通过,结束流程
若在单板产线校验失败,则电路板在单板产线流转完成后,重新进入预通电工位,并执行步骤S102。若在拷包校验工位校验失败,则返回执行步骤S111。
本实施例中,在电路板端对用户版本的软件包进行拷贝和初步校验后,进一步通过测试装备,基于MD5码对拷贝至电路板的userdata存储分区的用户版本的软件包进行再次校验,这样,对于U盘中的初始MD5码文件与标准MD5码文件不符,或者拷贝完成后目标MD5码文件被篡改等情况,能够及时发现和拦截,进一步确保用户版本的软件包的完整性和一致性,进而提高了用户版本的软件升级的成功率。
图11是本申请实施例提供的一例升级用户版本过程的流程示意图。如上实施例所述,生产版本软件系统的分区表和用户版本的软件系统的分区表中,老化存储分区之前的分区保持一致。本申请实施例基于老化存储分区之前的分区一致的分区表进行软件版本的升级。该过程可以由软件系统中的升级单元执行。具体的,如图11所示,上述实施例中的步骤S105中老化成功后触发升级用户版本的过程,包括:
S1051、老化单元老化成功后向misc存储分区写入升级标识。
升级标识用于标识进入用户版本升级流程,用于触发将生产版本的软件系统升级为用户版本的软件系统。
S1052、升级单元读取misc存储分区的升级标识。
S1053、升级单元挂载第三预设存储目录。
S1054、升级单元根据第三预设存储目录,确定第三预设存储目录下是否存在第三预设文件名的目标软件包;若是,则执行步骤S1055;若否,则执行步骤S10594。
例如,可以确定第三预设存储目录下是否存在文件名称为update_sd_base.zip的文件,若存在,则确定存在目标软件包;若不存在,则确定不存在目标软件包。
S1055、升级单元对目标软件包进行签名校验,并确定校验是否通过;若校验通过,执行步骤S1056;若校验不通过,执行步骤S10594。
也即对名称为update_sd_base.zip的软件包进行签名校验。
S1056、升级单元基于目标软件包,升级老化存储分区之前的存储分区。
S1057、升级单元校验各分区内容。
S1058、升级单元读取全局唯一标识分区表(guid partition table,GPT)。
可选的,该GPT为受保护的自有分区表。
S10591、升级单元卸载(unmount,简写为umount)userdate存储分区。
S10592、升级单元刷新分区表。
S10593、升级单元对userdate存储分区进行低格。
S10594、升级单元清除升级标识。
S10595、升级单元控制进行系统重启。
本实施例中,由于用户版本的软件包预先拷贝存储在userdata存储分区中,因而先进行软件升级再刷新分区表,这样能够避免用户版本的软件包被清除,确保升级的正常进行。另外,整机老化产线不能接入U盘,本实施例提供的方法实现了在大屏设备的内置卡中进行软件升级,无需在整机老化产线上向大屏设备接入U盘,满足整机老化产线的要求。
下面对整机自动化测试过程进行说明。
整机自动化测试过程中,需要查询确定用户版本的软件系统处于工厂模式后启动相应的功能测试。其中,查询工厂模式的过程与生产版本的软件系统查询工厂模式的过程类似。
具体的,以音频自动化测试为例来说,在音频自动化测试工位,测试装备向大屏设备发送音频测试指令。用户版本的软件系统中的通信管理模块接收音频测试指令,并将音频测试指令发送至生产指令处理模块。生产指令处理模块接收并解析音频测试指令,通过第一工厂模式查询模块向第二工厂模式查询模块发送第一工厂模式查询指令。第二工厂模式查询模块响应于第一工厂模式查询指令,在oeminfo存储分区中查询第一工厂标识,并将查询结果通过第一工厂模式模块发送至生产指令处理模块。生产指令处理模块根据查询结果,若确定当前用户版本的软件系统处于工厂模式,则向测试模块发送解析后的测试指令。测试模块响应于解析后的测试指令,对大屏设备的音频功能进行测试。
图12是本申请实施例提供的一例用户版本复位过程的模块交互示意图。如上述实施例所述,在SMT烧录工位烧录生产版本的软件系统时,生产版本的软件包中包括userdataimage。该userdata image存储于userdata_bak存储分区。本实施例基于该userdata_bak存储分区的userdata image进行复位。
具体的,如图12所示,上述实施例中的步骤S108中对用户版本的软件系统进行出厂复位的过程,包括:
S1081、测试装备通过通信管理模块向生产指令通路的其他指令处理模块发送复位标识写指令,复位标识写指令用于指示写入复位标识。
可选的,复位标识写指令可以为AT指令。
S1082、其他指令处理模块响应于复位标识写指令,向misc存储分区写入复位标识。
复位标识用于标识进入出厂复位流程,用于触发对userdata存储分区的覆盖重写。可选的,复位标识可以为misc签名字段。
需要说明的是,当前用户版本的软件系统还未开始复位,因而,还处于工厂模式,通过测试装备向生产指令通路发送复位标识写指令,实现复位标识的写入。
S1083、测试装备通过通信管理模块向生产指令通路的其他指令处理模块发送复位指令,复位指令用于指示清除大屏设备的userdata存储分区中的生产测试数据。
可选的,复位指令可以为在定制信息写入(custom information write,CW)工位写入测试装备的指令。
生产测试数据为生产测试过程中产生的数据,可以包括生产测试过程中的状态数据,以及生产测试过程中产生的测试数据等。状态数据例如包括工厂标识等。测试数据例如包括音频测试数据、白平衡测试数据等。
S1084、其他指令处理模块响应于复位指令清除大屏设备的userdata存储分区中的生产测试数据,并执行重启用户版本的软件系统的操作。
S1085、响应于重启用户版本的软件系统的操作,Mboot系统从misc存储分区读取复位标识。
S1086、Mboot系统从userdata_bak存储分区读取userdata image,并覆盖写入userdata存储分区,之后清除复位标识。
Mboot系统读取到复位标识,说明整机测试产线进入出厂复位流程,则启动数据覆盖重写,即,用备份在userdata_bak存储分区的userdata image,覆盖userdata存储分区中的内容,实现了userdata存储分区的低格。
在一个具体的实施例中,Mboot读取复位标识及数据覆盖重写的代码如下:
mmc read.p 0x50000000userdata_bak 0x200000
mmc erase.p userdata
sparse_write mmc 0x50000000userdata filesize
S1087、Mboot系统启动用户版本的软件系统。
在启动用户版本的过程中,软件系统的init进程模块识别到userdata存储分区被覆盖,对存储分区大小进行自适应调整(resize)。
本实施例中,Mboot系统利用预先备份的userdata image覆盖重写userdata存储分区,实现对userdata存储分区的低格,而无需进入recovery模式进行低格,因此可以减少复位耗时。另外,本实施例中,复位过程仅需执行一次系统重启,能够进一步减少耗时。而且,该方法中,在工厂模式下写入复位指令,通过复位指令控制出厂复位,如上述实施例所述,软件系统中工厂模式下处理指令的模块与出厂模式下相关模块进行了隔离,防止干扰软件系统的出厂状态,提高软件系统的稳定性,进而提高用户体验。
根据测试,上述过程中,步骤S1085耗时约1秒,步骤S1086中,用户版本的软件系统中Linnux系统启动耗时约22秒,Android系统启动耗时约43秒,步骤S1086总耗时约65秒。因而,本实施例中用户版本的软件复位耗时约66秒。
为了突出本申请的方案的有益效果,下述结合图13对相关技术中大屏设备的软件系统的出厂复位过程进行说明。
如图13所示,相关技术中大屏设备的软件系统的复位过程包括:
S201、向软件系统发送复位指令,复位指令用于指示清除生产测试数据。
S202、响应于复位指令,清除生产测试数据,并写入复位标识。
S203、执行重启软件系统的操作。
S204、响应于重启软件系统的操作,Mboot系统读取复位标识,启动recovery模式。
S205、在recovery模式下,对userdata存储分区进行低格。
S206、重启软件系统。
上述过程中,步骤S204中,启动recovery模式耗时约11秒。步骤S205中,date低格耗时约21秒。步骤S206中,重启软件系统过程中,从开始重启到Linnux系统启动init完成耗时约26秒,从Linnux系统启动init完成到Android系统启动完成耗时约47秒。即,步骤S206中,系统重启共耗时约93秒。相关技术中,大屏设备的软件系统的复位耗时约105s。本申请实施例提供的方法,无需启动recovery模式,无需在recovery模式下进行低格,仅需进行耗时约1秒的覆盖重写,因而能够节省约31秒。而且,本申请实施例仅需重启一次系统,减少一次系统重启,节省约10秒。总的来说,该方法能够减少软件系统的复位耗时约39秒,解决整机测试生产线线体阻塞的问题,提高线体UPH。具体的,出厂复位工位(原用户版本升级工位)的单位时间(unit time,UT)由3600/260提高至3600/66,提高将近4倍。
下面对整机老化的相关内容进行说明。
示例性的,图14为相关技术中整机老化的流程示意图。如图14所示,相关技术中,整机老化的过程如下:
S301、开机进入整机老化流程。
具体的,在进入整机老化流程前,写入老化标识。识别到老化标识后,开机进入整机老化流程。
S302、执行整机老化测试项目。
按照预设老化测试项目,自动执行相关的老化测试。
S303、判断是否大屏设备是否重启(reboot);若是,则执行步骤S304和步骤S305;若否,则执行步骤S306。
S304、记录异常重启事件,写入老化失败(fail)标识。
S305、重新写入老化标识,返回执行步骤S301。
基于步骤S304写入的老化失败标识,在执行完老化测试流程后重新写入老化标识。也即,整机老化产线流转完之后,若检测到存在老化失败标识,则重新写入老化标识,并重新返回整机老化产线,重新进行整机老化(即产线回流)。
S306、正常执行完所有老化测试项目。
发明人经分析研究发现,大屏设备重启的原因主要分为两种:第一,老化应力原因导致重启,也即老化测试失败造成大屏设备重启,下述称为异常重启。第二,非老化应力原因导致重启,也即意外情况造成重启,下述称为非异常重启。非异常重启例如为供电异常造成的重启。大屏设备在整机老化产线上是通过导轨进行导电,为移动导电,因而会存在接触不良等原因造成供电异常,导致重启的情况。也就是说,整机老化过程中,重启的原因不全是因为老化失败。因而,上述整机老化过程中,只要存在重启,就会产线回流,会将部分老化测试正常的大屏设备进行了整机老化产线回流,从而导致整机老化产线回流设备的数量较大,影响整机老化产线的UPH。
针对于此,本申请实施例还提供一种整机老化方法,能够降低整机老化产线回流设备的数量,提高整机老化产线的UPH。
示例性的,图15为本申请实施例提供的一例整机老化的流程示意图。本实施例的各个步骤可以由生产版本的软件系统中的老化应用程序及各个层与老化测试相关的模块实现,以下不再赘述。如图15所示,整机老化过程包括:
S401、开机进入整机老化流程。
S402、执行整机老化测试项目,并记录从开始老化到当前时刻的老化时长。
也就是说,在老化测试过程中,实时记录老化时长。
S403、判断大屏设备是否重启;若是,则执行步骤S404;若否,则执行步骤S413和步骤S414。
S404、重启总次数+1。
重启总次数用于表征从开始老化到当前时刻大屏设备的重启次数的总值。
S405、判断老化时长是否超过预设时长;若是,则执行步骤S406;若否,则执行步骤S408。
也就是说,在大屏设备出现重启时,确定当前时刻的老化时长是否超过预设时长。可选的,预设时长例如可以为20分钟。
S406、判断当前大屏设备的中央处理器(central processing unit,CPU)温度是否高于预设温度阈值;若是,则执行步骤S407;若否,则执行步骤S408。
可选的,预设温度阈值例如可以为63℃。一般的,整机老化过程中,前20分钟,老化应力处于上升状态,且20分钟后,大屏设备的CPU温度一般都会上升至63℃以上。因而,通过步骤S405和步骤S406能够确定本次重启之前是否已经满足老化应力要求,若满足,则可以继续执行后续老化,而无需从头开始老化,这样能够缩短老化耗时。
S407、从当前老化时长对应的老化测试项目开始,继续老化,之后执行步骤S409。
S408、从第一个老化测试项目开始,重新执行老化测试项目,之后执行步骤S409。
S409、判断重启总次数是否超过预设次数;若是,则执行步骤S410和步骤S411;若否,则执行步骤S412。
可选的,预设次数例如可以为1次。若重启总次数超过预设次数,则认为本次老化可能存在异常重启,执行步骤S410和S411。
S410、记录异常重启事件,写入老化失败标识。
S411、重新写入老化标识,返回执行步骤S401。
S412、判断本次重启是否为非异常重启;若是,则执行步骤S414;若否,则执行步骤S410和步骤S411。
可选的,软件系统在发生重启时,可以记录重启原因,并生成重启原因(rebootreason)信息。该步骤中,可以通过读取重启原因信息,确定本次重启是否为非异常重启。如果本次重启是非异常重启,则无需产线回流,老化测试完成。
S413、正常执行完所有老化测试项目。
S414、老化成功,测试装备通过AT指令读取大屏设备的重启总次数。
该步骤中,测试装备通过AT指令读取重启次数,便于后续分析测试装备分析大屏设备在老化过程中重启的概率等。
本实施例中,在整机老化过程中大屏设备重启时,判断老化时长是否超过预设时长,且大屏设备的CPU温度是否超过预设温度阈值,从而确定当前整机老化的阶段是否满足老化应力要求。若老化时长超过预设时长且大屏设备的CPU温度超过预设温度阈值,说明当前整机老化的阶段已满足老化应力要求,无需从头开始老化,而是从老化时长对应的老化测试项目开始继续进行老化。如此,可以减少老化产线回流设备的数量,提高整机老化产线的UPH,而且能够缩短单次老化的耗时,进一步提高整机老化产线的UPH。另一方面,无论是从老化时长对应的老化测试项目开始继续进行老化,还是从头开始老化,在完成测试后,判断重启总次数,在重启总次数未超过预设次数,且确定本次重启为非异常重启时,完成老化,不进行产线回流,进一步减少老化产线回流设备的数量,提高整机老化产线的UPH。
上文详细介绍了本申请实施例提供的软件版本升级方法的示例。可以理解的是,电子设备为了实现上述功能,其包含了执行各个功能相应的硬件和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以结合实施例对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对电子设备进行功能模块的划分,例如,可以对应各个功能划分为各个功能模块,例如检测单元、处理单元、显示单元等,也可以将两个或两个以上的功能集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
需要说明的是,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
本实施例提供的电子设备,用于执行上述软件版本升级方法,因此可以达到与上述实现方法相同的效果。
在采用集成的单元的情况下,电子设备还可以包括处理模块、存储模块和通信模块。其中,处理模块可以用于对电子设备的动作进行控制管理。存储模块可以用于支持电子设备执行存储程序代码和数据等。通信模块,可以用于支持电子设备与其他设备的通信。
其中,处理模块可以是处理器或控制器。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,数字信号处理(digital signal processing,DSP)和微处理器的组合等等。存储模块可以是存储器。通信模块具体可以为射频电路、蓝牙芯片、Wi-Fi芯片等与其他电子设备交互的设备。
在一个实施例中,当处理模块为处理器,存储模块为存储器时,本实施例所涉及的电子设备可以为具有图3所示结构的设备。
本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质中存储了计算机程序,当计算机程序被处理器执行时,使得处理器实现上述任一实施例的软件版本升级方法中的生产版本的软件系统或用户版本的软件系统的功能。
本申请实施例还提供了一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述相关步骤,以实现上述实施例中的软件版本升级方法中的生产版本的软件系统或用户版本的软件系统的功能。
另外,本申请的实施例还提供一种装置,这个装置具体可以是芯片,组件或模块,该装置可包括相连的处理器和存储器;其中,存储器用于存储计算机执行指令,当装置运行时,处理器可执行存储器存储的计算机执行指令,以使芯片实现上述各方法实施例中的软件版本升级方法中的生产版本的软件系统或用户版本的软件系统的功能。
其中,本实施例提供的电子设备、计算机可读存储介质、计算机程序产品或芯片均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
通过以上实施方式的描述,所属领域的技术人员可以了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (13)
1.一种软件版本升级方法,其特征在于,应用于电子设备的生产线,用于将所述电子设备中安装的生产版本的软件系统升级为用户版本的软件系统,所述生产线包括单板产线、整机老化产线和整机测试产线,所述方法包括:
在所述单板产线,基于所述生产版本的软件系统,对所述电子设备的电路板进行测试,并拷贝用户版本的软件包;
在所述整机老化产线,基于所述生产版本的软件系统,对所述电子设备进行老化测试,并在所述老化测试成功后,根据所述用户版本的软件包将所述生产版本的软件系统升级为所述用户版本的软件系统;
在所述整机测试产线,基于所述用户版本的软件系统,对所述电子设备进行功能测试,并在所述功能测试完成后,对所述用户版本的软件系统进行出厂复位;
其中,所述在所述整机测试产线,基于所述用户版本的软件系统,对所述电子设备进行功能测试,包括:
在所述整机测试产线,基于工厂模式下的所述用户版本的软件系统,对所述电子设备进行功能测试;
其中,所述用户版本的软件系统包括第二指令处理模块、第一工厂模式查询模块、测试模块和第二工厂模式查询模块,所述在所述整机测试产线,基于工厂模式下的所述用户版本的软件系统,对所述电子设备进行功能测试,包括:
在所述整机测试产线,所述第二指令处理模块接收并解析第二测试装备发送的第一测试指令,通过所述第一工厂模式查询模块向所述第二工厂模式查询模块发送第一工厂模式查询指令;所述第一测试指令用于指示测试所述电子设备的第一功能;
所述第二工厂模式查询模块响应于所述第一工厂模式查询指令,在所述电子设备的第一预设存储分区中查询第一工厂标识,得到查询结果;
所述第二工厂模式查询模块将所述查询结果通过所述第一工厂模式查询模块返回至所述第二指令处理模块;
若所述第二指令处理模块根据所述查询结果,确定所述用户版本的软件系统工作于工厂模式,则所述第二指令处理模块向所述测试模块发送解析后的测试指令;
所述测试模块响应于所述解析后的测试指令,对所述电子设备的第一功能进行测试。
2.根据权利要求1所述的方法,其特征在于,所述单板产线包括预通电工位和单板定制信息写入工位,所述拷贝用户版本的软件包,包括:
在所述预通电工位,向所述电路板挂载外部存储介质,并对所述电路板进行预通电,基于所述生产版本的软件系统,从所述外部存储介质中拷贝所述用户版本的软件包;
在所述单板定制信息写入工位,基于所述生产版本的软件系统向所述电路板写入第一工厂标识;所述第一工厂标识用于标识所述用户版本的软件系统工作于所述工厂模式。
3.根据权利要求2所述的方法,其特征在于,所述生产版本的软件系统包括第一指令处理模块和工厂模式设置单元,所述在所述单板定制信息写入工位,基于所述生产版本的软件系统向所述电路板写入第一工厂标识,包括:
在所述单板定制信息写入工位,所述第一指令处理模块接收并响应于第一测试装备发送的第一工厂标识写指令,向所述工厂模式设置单元发送工厂模式设置指令;
所述工厂模式设置单元响应于所述工厂模式设置指令,向所述第一预设存储分区写入所述第一工厂标识。
4.根据权利要求2或3中任一项所述的方法,其特征在于,所述生产版本的软件系统包括软件包拷贝模块和开关机应用程序,所述基于所述生产版本的软件系统,从所述外部存储介质中拷贝所述用户版本的软件包,包括:
所述开关机应用程序检测到所述外部存储介质被挂载,调用所述软件包拷贝模块;
若所述软件包拷贝模块确定所述生产版本的软件系统处于工厂模式,且所述外部存储介质中存在文件名称为第一预设文件名的初始软件包,则从所述外部存储介质中获取所述初始软件包的MD5码;
若所述软件包拷贝模块确定所述电路板中第三预设存储目录下不存在文件名称为第三预设文件名的历史软件包,则所述软件包拷贝模块对所述电路板中第四预设存储目录下的目标MD5文件进行初始化,并从所述外部存储介质中拷贝所述初始软件包至所述预设存储目录下,得到目标软件包;
所述软件包拷贝模块计算所述目标软件包的MD5码;
若确定所述目标软件包的MD5码与所述初始软件包的MD5码相同,则存储所述目标软件包的MD5码至目标MD5码文件中。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
若所述软件包拷贝模块检测到所述第三预设存储目录下存在所述历史软件包,则所述软件包拷贝模块从所述目标MD5码文件中获取所述历史软件包的MD5码;
若确定所述初始软件包的MD5码与所述历史软件包的MD5码不相同,则执行步骤所述软件包拷贝模块对所述电路板的第四预设存储目录下的目标MD5文件进行初始化,并将所述外部存储介质中的所述初始软件包拷贝至所述预设存储目录下,得到目标软件包。
6.根据权利要求4所述的方法,其特征在于,所述方法还包括:
在所述单板定制信息写入工位,第三测试装备从所述电路板获取所述目标MD5码文件;
所述第三测试装备获取所述用户版本的软件包的MD5码标准文件;
若所述第三测试装备确定所述目标MD5码文件与所述MD5码标准文件中的MD5码不相同,则所述第三测试装备返回校验失败信息;所述校验失败信息用于表征所述电路板中保存的所述目标软件包校验不通过。
7.根据权利要求1至3中任一项所述的方法,其特征在于,所述在所述单板产线,基于所述生产版本的软件系统,对所述电子设备的电路板进行测试,并拷贝用户版本的软件包之前,所述方法还包括:
在所述单板产线,向所述电路板烧录用户版本的软件包,所述用户版本的软件包中包括用户数据镜像备份文件;
所述对所述用户版本的软件系统进行出厂复位,包括:
在所述整机测试产线,基于所述用户版本的软件系统,清除所述电子设备的第二预设存储分区中的生产测试数据,并将所述用户数据镜像备份文件覆盖写入所述第二预设存储分区;所述生产测试数据包括第一工厂标识,所述第一工厂标识用于标识所述用户版本的软件系统工作于工厂模式。
8.根据权利要求7所述的方法,其特征在于,所述整机测试产线包括出厂复位工位,所述用户版本的软件系统包括第三指令处理模块,所述电子设备还安装有引导程序Mboot系统,所述在所述整机测试产线,基于所述用户版本的软件系统,清除所述电子设备的第二预设存储分区中的生产测试数据,并将所述用户数据镜像备份文件覆盖写入所述第二预设存储分区,包括:
在所述出厂复位工位,所述第三指令处理模块接收并响应于第四测试装备发送的复位标识写指令,向所述电子设备的第三预设存储分区中写入复位标识;
所述第三指令处理模块接收并响应于第五测试装备发送的复位指令,清除所述第二预设存储分区中的所述生产测试数据,并执行对所述用户版本的软件系统的重启操作;
所述Mboot系统响应于所述重启操作,在确定所述第三预设存储分区中存在所述复位标识的情况下,读取所述用户数据镜像备份文件,将所述用户数据镜像备份文件覆盖写入所述第二预设存储分区,并清除所述复位标识;
所述Mboot系统启动所述用户版本的软件系统。
9.根据权利要求1至3中任一项所述的方法,其特征在于,所述在所述整机老化产线,基于所述生产版本的软件系统,对所述电子设备进行老化测试,包括:
在所述整机老化产线,基于所述生产版本的软件系统,对所述电子设备执行老化测试项目;
在所述电子设备重启时,获取从开始老化到当前时刻的老化时长;
若确定所述老化时长超过预设时长,且所述电子设备的中央处理器CPU的温度大于预设温度阈值,则根据所述老化时长,继续执行所述老化测试项目;
若确定所述老化时长未超过所述预设时长,或所述CPU的温度小于或等于预设温度阈值,则重新开始执行所述老化测试项目。
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
在所述电子设备重启时,将重启总次数加1;
所述根据所述老化时长,继续执行所述老化测试项目,或,所述重新开始执行所述老化测试项目之后,所述方法还包括:
若确定所述重启总次数未超过预设次数,且本次重启为非异常重启,则确定老化成功;
若确定所述重启总次数超过所述预设次数,或者本次重启为异常重启,则确定老化失败。
11.根据权利要求1至3中任一项所述的方法,其特征在于,所述整机测试产线还包括返工降级工位和拷包校验工位,所述方法还包括:
在所述返工降级工位,将待返工的电子设备的用户版本的软件系统降级为生产版本的软件版本的软件系统,并向所述待返工的电子设备写入第一工厂标识;所述第一工厂标识用于标识所述用户版本的软件系统工作于工厂模式;
在所述拷包校验工位,向所述待返工的电子设备挂载外部存储介质,基于所述生产版本的软件系统,从所述外部存储介质中拷贝所述用户版本的软件包,并对所述用户版本的软件包进行校验。
12.一种电子设备,其特征在于,所述电子设备安装有用户版本的软件系统,所述用户版本的软件系统包括第二指令处理模块、第一工厂模式查询模块、测试模块和第二工厂模式查询模块;
所述第二指令处理模块用于接收并解析第二测试装备发送的第一测试指令,并通过所述第一工厂模式查询模块向所述第二工厂模式查询模块发送第一工厂模式查询指令;所述第一测试指令用于指示测试所述电子设备的第一功能;
所述第二工厂模式查询模块用于响应于所述第一工厂模式查询指令,在第一预设存储分区中查询第一工厂标识,得到查询结果,并将所述查询结果通过所述第一工厂模式查询模块返回至所述第二指令处理模块;
所述第二指令处理模块还用于若根据所述查询结果确定所述用户版本的软件系统工作于工厂模式,则向所述测试模块发送解析后的测试指令;
所述测试模块用于响应于所述解析后的测试指令,对所述电子设备的第一功能进行测试。
13.根据权利要求12所述的电子设备,其特征在于,所述第二指令处理模块、所述第一工厂模式查询模块和所述测试模块位于所述用户版本的软件系统的本地Native层,所述第二工厂模式查询模块位于所述用户版本的软件系统的内核Kernel层。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210908157.9A CN116028100B (zh) | 2022-07-29 | 2022-07-29 | 软件版本升级方法和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210908157.9A CN116028100B (zh) | 2022-07-29 | 2022-07-29 | 软件版本升级方法和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116028100A CN116028100A (zh) | 2023-04-28 |
CN116028100B true CN116028100B (zh) | 2024-04-05 |
Family
ID=86078335
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210908157.9A Active CN116028100B (zh) | 2022-07-29 | 2022-07-29 | 软件版本升级方法和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116028100B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109089108A (zh) * | 2018-08-15 | 2018-12-25 | 晶晨半导体(上海)股份有限公司 | 测试方法及系统 |
CN112306552A (zh) * | 2020-11-01 | 2021-02-02 | 国铁吉讯科技有限公司 | 一种系统软件版本管理方法、装置及存储介质 |
CN113220322A (zh) * | 2021-04-21 | 2021-08-06 | 深圳市安仕新能源科技有限公司 | 测试软件更新方法、电子设备及存储介质 |
CN113220537A (zh) * | 2021-06-02 | 2021-08-06 | 上海节卡机器人科技有限公司 | 一种软件监控方法、装置、设备及可读存储介质 |
CN114610341A (zh) * | 2022-03-22 | 2022-06-10 | Oppo广东移动通信有限公司 | 产线刷机方法、装置、电子设备、芯片及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7095634B2 (ja) * | 2019-03-13 | 2022-07-05 | トヨタ自動車株式会社 | 自動更新システム、その更新方法及びプログラム |
-
2022
- 2022-07-29 CN CN202210908157.9A patent/CN116028100B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109089108A (zh) * | 2018-08-15 | 2018-12-25 | 晶晨半导体(上海)股份有限公司 | 测试方法及系统 |
CN112306552A (zh) * | 2020-11-01 | 2021-02-02 | 国铁吉讯科技有限公司 | 一种系统软件版本管理方法、装置及存储介质 |
CN113220322A (zh) * | 2021-04-21 | 2021-08-06 | 深圳市安仕新能源科技有限公司 | 测试软件更新方法、电子设备及存储介质 |
CN113220537A (zh) * | 2021-06-02 | 2021-08-06 | 上海节卡机器人科技有限公司 | 一种软件监控方法、装置、设备及可读存储介质 |
CN114610341A (zh) * | 2022-03-22 | 2022-06-10 | Oppo广东移动通信有限公司 | 产线刷机方法、装置、电子设备、芯片及存储介质 |
Non-Patent Citations (1)
Title |
---|
基于LoRa技术的生产线可视化看板系统研究;王文莉;《中国优秀硕士学位论文全文数据库 (信息科技辑)》;I138-327 * |
Also Published As
Publication number | Publication date |
---|---|
CN116028100A (zh) | 2023-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9965270B2 (en) | Updating computer firmware | |
US8874892B1 (en) | Assessing BIOS information prior to reversion | |
CN104850762B (zh) | 防止计算机的动作不良的方法、计算机程序以及计算机 | |
US20060224794A1 (en) | Using USB memory device to recover operating system | |
CN108509215B (zh) | 一种系统软件的更换方法、装置、终端设备及存储介质 | |
CN105637521B (zh) | 一种数据处理方法及智能终端 | |
US20130036431A1 (en) | Constraining Execution of Specified Device Drivers | |
CN111813428A (zh) | 终端固件的升级方法、装置、电子设备及存储介质 | |
EP3572933B1 (en) | Updating firmware via a remote device | |
US10025587B2 (en) | Method of bootup and installation, and computer system thereof | |
CN104484625A (zh) | 一种具有双操作系统的计算机及其实现方法 | |
US9110678B1 (en) | Automated BIOS enhancements and upgrades | |
CN101807152A (zh) | 自我验证选择只读存储器的基本输出入系统及其验证方法 | |
CN115762625A (zh) | 验证eMMC功能的方法、系统、电子设备及存储介质 | |
US8214825B2 (en) | Electronic device and method for installing software | |
CN111596930A (zh) | 根文件系统镜像制作方法、装置、存储介质及嵌入式设备 | |
US20130080751A1 (en) | Method and device for updating bios program for computer system | |
US11354259B1 (en) | Computer system configurations based on accessing data elements presented by baseboard management controllers | |
CN106528226A (zh) | 操作系统的安装方法及装置 | |
CN113641394A (zh) | 一种多操作系统设备的差分升级方法 | |
CN116028100B (zh) | 软件版本升级方法和电子设备 | |
CN116700768B (zh) | 一种应用的处理方法及相关装置 | |
KR101461319B1 (ko) | 셋탑박스의 펌웨어 업그레이드 방법 및 펌웨어 업그레이드 장치 | |
US20150212866A1 (en) | Management system for service of multiple operating environments, and methods thereof | |
CN113778485A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |