CN111625385A - 调整rpm来处理死机的方法、***、终端设备及存储介质 - Google Patents
调整rpm来处理死机的方法、***、终端设备及存储介质 Download PDFInfo
- Publication number
- CN111625385A CN111625385A CN202010447217.2A CN202010447217A CN111625385A CN 111625385 A CN111625385 A CN 111625385A CN 202010447217 A CN202010447217 A CN 202010447217A CN 111625385 A CN111625385 A CN 111625385A
- Authority
- CN
- China
- Prior art keywords
- rpm
- working mode
- remote end
- intelligent terminal
- state
- 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
- 238000012545 processing Methods 0.000 title claims abstract description 36
- 238000000034 method Methods 0.000 title claims abstract description 34
- 230000006870 function Effects 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 15
- 230000003993 interaction Effects 0.000 claims description 9
- 238000004891 communication Methods 0.000 description 24
- 238000012423 maintenance Methods 0.000 description 11
- 238000011161 development Methods 0.000 description 9
- 238000004458 analytical method Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 230000006872 improvement Effects 0.000 description 6
- 230000005540 biological transmission 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
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000005034 decoration Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012827 research and development Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
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/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0751—Error or fault detection not based on redundancy
- G06F11/0754—Error or fault detection not based on redundancy by exceeding limits
- G06F11/076—Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5094—Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供了一种调整RPM来处理死机的方法、***、终端设备及存储介质,其方法包括:控制远程端发送控制指令进行调试,所述控制指令包含指定RPM工作模式的唯一值,智能终端设备接收所述控制指令后,控制AP通过触发属性配置将所述唯一值,写入特定寄存器的文件节点,智能终端设备重启后,控制RPM读所述特定寄存器的值,来进行RPM工作模式的设置。本发明通过智能终端设备的AP与RPM进行通信,从而最终实现对RPM多种工作模式进行动态调整,能够有效降低智能终端设备的死机问题。
Description
技术领域
本发明涉及智能终端技术领域,尤指一种调整RPM来处理死机的方法、***、终端设备及存储介质。
背景技术
随着手机、智能手表等消费类智能终端设备的电路集成化程度越来越高,经常会在一小部分用户的能终端设备遇到一些难以解决的死机问题,而往往这些死机问题都很发散,基本怀疑都是跟DDR、Flash、CPU以及控制器相关的硬件异常有关。这类智能终端设备通常在用户手里一天内随机的出现多次死机,但重启之后仍然可以正常使用。基于在项目研发阶段对这种死机问题的分析和整理,并通过大量的试验进行验证,对于这种随机且发散的硬件不稳定异常死机问题,可以通过调整几种RPM(Resource Power Manager)工作模式,极大的改善这类机器的死机状况,其中RPM是高通MSM平台另外加的一块芯片,虽然与AP(application process,移动终端中的应用处理器CPU)芯片打包在一起,但其是一个独立的ARM Core。由于每台机器对应解决的RPM工作模式有所不同,在智能终端设备出现死机问题时,无法对通过代码进行统一的RPM工作模式设置。因此,设计一种动态调整RPM工作模式的方案是非常有必要的。
发明内容
本发明的目的是提供一种调整RPM来处理死机的方法、***、终端设备及存储介质,实现远程对RPM工作模式的调整,以针对智能终端设备的死机情况进行解决。
本发明提供的技术方案如下:
本发明提供一种调整RPM来处理死机的方法,包含如下步骤:
控制远程端发送控制指令进行调试,所述控制指令包含指定RPM工作模式的唯一值;
智能终端设备接收所述控制指令后,控制AP通过触发属性配置将所述唯一值,写入特定寄存器的文件节点;
智能终端设备重启后,控制RPM读所述特定寄存器的值,来进行RPM工作模式的设置。
进一步的,在所述进行RPM工作模式的设置后,还包括如下步骤:
控制RPM再通过写特定的寄存器,将RPM工作模式是否设置成功的状态值发送给AP;
控制AP读取所述特定的寄存器中的所述状态值,然后根据所述状态值将RPM工作模式的设置状态写入到本地日志中和/或返回给所述远程端。
进一步的,所述智能终端设备为安卓设备,所述控制AP读取所述特定的寄存器中的所述状态值,然后根据所述状态值将RPM工作模式的设置状态写入到本地日志中和/或返回给所述远程端具体包括如下步骤:
控制AP在lk阶段读取所述特定的寄存器中的所述状态值,然后将所述状态值存入到cmdline里面,通过init将所述状态值对应的androidboot字段转换成property_get函数可读的字段;
通过property_get函数读取所述可读的字段,根据读取的数据将RPM工作模式的设置状态写入到本地日志中和/或返回给所述远程端。
进一步的,在所述控制远程端发送控制指令进行调试之前,还包括如下两组步骤中的一组:
第一组步骤:
控制远程端接收智能终端设备发送的RPM工作模式,并在远程端上显示出来;
控制远程端接收工作人员输入的所述控制指令;
第二组步骤:
控制远程端接收智能终端设备发送的死机指示消息与对应的RPM工作模式,并在远程端上进行统计,得到一定时段内在该种RPM工作模式的死机次数,若是所述死机次数大于预设死机次数,则产生所述控制指令。
本发明还提供一种调整RPM来处理死机的***,包含如下模块:
指令发送模块,用于控制远程端发送控制指令进行调试,所述控制指令包含指定RPM工作模式的唯一值;
AP处理模块,用于智能终端设备接收所述控制指令后,控制AP通过触发属性配置将所述唯一值,写入特定寄存器的文件节点;
RPM处理模块,用于智能终端设备重启后,控制RPM读所述特定寄存器的值,来进行RPM工作模式的设置。
进一步的,还包括如下模块:
状态交互模块,用于控制RPM再通过写特定的寄存器,将RPM工作模式是否设置成功的状态值发送给AP;
记录返回模块,用于控制AP读取所述特定的寄存器中的所述状态值,然后根据所述状态值将RPM工作模式的设置状态写入到本地日志中和/或返回给所述远程端。
进一步的,所述智能终端设备为安卓设备,所述控制AP读取所述特定的寄存器中的所述状态值,然后根据所述状态值将RPM工作模式的设置状态写入到本地日志中和/或返回给所述远程端具体通过如下单元实现:
预读取单元,用于控制AP在lk阶段读取所述特定的寄存器中的所述状态值,然后将所述状态值存入到cmdline里面,通过init将所述状态值对应的androidboot字段转换成property_get函数可读的字段;
记录返回单元,用于通过property_get函数读取所述可读的字段,根据读取的数据将RPM工作模式的设置状态写入到本地日志中和/或返回给所述远程端。
进一步的,还包括如下两组模块中的一组:
第一组模块:
接收显示模块,用于控制远程端接收智能终端设备发送的RPM工作模式,并在远程端上显示出来;
指令输入模块,用于控制远程端接收工作人员输入的所述控制指令;
第二组模块:
指令自动产生模块,用于控制远程端接收智能终端设备发送的死机指示消息与对应的RPM工作模式,并在远程端上进行统计,得到一定时段内在该种RPM工作模式的死机次数,若是所述死机次数大于预设死机次数,则产生所述控制指令。
本发明还提供一种终端设备,包括处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器,用于执行所述存储器上所存放的计算机程序,实现上述的调整RPM来处理死机的方法所执行的操作。
本发明还提供一种存储介质,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现上述的调整RPM来处理死机的方法所执行的操作。
本发明提供的一种调整RPM来处理死机的方法、***、终端设备及存储介质,通过智能终端设备的AP与RPM进行通信,从而最终实现对RPM多种工作模式进行动态调整,能够有效降低智能终端设备的死机问题。相对于传统解决此类死机问题的方案,本发明中智能终端设备无须回寄分析,减少了售后压力和机器的维护成本。
附图说明
下面将以明确易懂的方式,结合附图说明优选实施方式,对一种调整RPM来处理死机的、***、终端设备以及存储介质的上述特性、技术特征、优点及其实现方式予以进一步说明。
图1是本发明一种调整RPM来处理死机的方法的一个实施例的流程图;
图2是本发明一种调整RPM来处理死机的方法的另一个实施例的流程图;
图3是本发明一种调整RPM来处理死机的方法的另一个实施例的流程图;
图4是本发明一种调整RPM来处理死机的方法的另一个实施例的流程图;
图5是本发明一种调整RPM来处理死机的***的一个实施例的结构示意图;
图6是本发明一种调整RPM来处理死机的***的另一个实施例的结构示意图;
图7是本发明一种调整RPM来处理死机的***的另一个实施例的结构示意图;
图8是本发明一种调整RPM来处理死机的***的另一个实施例的结构示意图;
图9是本发明一种终端设备的一个实施例的结构示意图。
具体实施方式
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对照附图说明本发明的具体实施方式。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。
为使图面简洁,各图中只示意性地表示出了与本发明相关的部分,它们并不代表其作为产品的实际结构。另外,以使图面简洁便于理解,在有些图中具有相同结构或功能的部件,仅示意性地绘示了其中的一个,或仅标出了其中的一个。在本文中,“一个”不仅表示“仅此一个”,也可以表示“多于一个”的情形。
本发明的一个实施例,如图1所示,一种调整RPM来处理死机的方法,包含如下步骤:
S11、控制远程端发送控制指令进行调试,所述控制指令包含指定RPM工作模式的唯一值。
本实施例的应用场景主要是针对经常出现死机的智能终端设备,例如手机、智能手表、平板电脑等,当开发维修人员发现某一用户的智能终端设备一天内出现多次死机,且死机原因是跟DDR、flash等硬件异常有关,就可以通过远程端选择对应的RPM工作模式,并形成对应的控制指令发送至智能终端设备。远程端优选为Web端(网页端),在本发明的另一实施例中,远程端也可以通过专门开发的应用程序实现,例如可以通过台式电脑、笔记本电脑登录指定的网页进行实现,或者在台式电脑、笔记本电脑安装专门开发的应用程序实现。
控制指令可以是通过远程端推送给用户的智能终端设备的一个字串,字串是跟设置在用户的智能终端设备上的RPM工作模式是一一对应的,即每种字串对应一种RPM工作模式。
S12、智能终端设备接收所述控制指令后,控制AP通过触发属性配置将所述唯一值,写入特定寄存器的文件节点。
在本实施例中,智能终端设备会通过专门的apk接收远程端发送的控制指令,在安卓机中AP可以通过设置log.tag.rpmdebug属性,将上述唯一值写入到特定寄存器中。特定寄存器是有专门的物理地址,AP通过寻址可以进行读写操作。
S13、智能终端设备重启后,控制RPM读所述特定寄存器的值,来进行RPM工作模式的设置,即在RPM根据从寄存器读到的唯一值选择对应的工作模式。
本实施例中,针对智能终端设备出现多次死机的情况,开发维修人员通过远程端发送一个控制指令给用户设备,让用户设备AP与RPM进行通信,从而最终实现对RPM多种工作模式进行动态调整。
同时,本实施例针对AP与RPM通信方式也提出了新的解决方案,传统的RPM侧与AP侧通信主要基于sharememory进行消息发送和接收,这种方式AP要基于专门的驱动进行控制,RPM侧需要专门注册resource去接收。本实施例的解决方案是AP与RPM通过对特定寄存器的读写操作,实现AP与RPM之间的的消息发送和接收。
本发明的另一个实施例,如图2所示,一种调整RPM来处理死机的方法,包含如下步骤:
S11、控制远程端发送控制指令进行调试,所述控制指令包含指定RPM工作模式的唯一值;
S12、智能终端设备接收所述控制指令后,控制AP通过触发属性配置将所述唯一值,写入特定寄存器的文件节点;
S13、智能终端设备重启后,控制RPM读所述特定寄存器的值,来进行RPM工作模式的设置,即在RPM根据从寄存器读到的唯一值选择对应的工作模式;
S14、控制RPM再通过写特定的寄存器,将RPM工作模式是否设置成功的状态值发送给AP;
S15、控制AP读取所述特定的寄存器中的所述状态值,然后根据所述状态值将RPM工作模式的设置状态写入到本地日志中和/或返回给所述远程端。
具体的,本实施例是上述实施例对应的改进实施例,相同的部分具体参见上述实施例,在此不再一一赘述。
本实施例中相对于上述实施例而言,新增了步骤S14和S15,这两个步骤的目的是将智能终端设备的RPM工作模式的设置状态保存到日志中和/或者返回给远程端。保存到本地日志中,可以用于进行后续的智能终端设备的状态分析,例如性能分析、故障分析等,本地日志例如可以是安卓***中的kernel日志。返回给远程端,可以让远程端的工作人员知晓RPM工作模式是否设置成功,若是不成功可以再次进行设置,或者分析不成功的原因,以便后续改进。
上述特定的寄存器有专门的物理地址,AP通过寻址可以进行读写操作。其可以与上述特定寄存器为统一个寄存器,可以分别采用不同的寄存器实现。
作为本实施例步骤S14的一种实现方式:该特定的寄存器无初始状态值,RPM基于上述唯一值设置RPM工作模式成功与失败,会在该特定的寄存器中写入不同的值。作为本实施例步骤S14的另一种实现方式:在步骤S14中,可以将特定的寄存器默认一个初始状态值,只在RPM基于上述唯一值设置RPM工作模式成功后,将特定的寄存器的初状态值改写为不同的状态值,AP读取到初始状态值时,会知道本次利用所述唯一值设置RPM工作模式失败,若是读取大其他的状态值,则会知道本次利用所述唯一值设置RPM工作模式成功。
步骤S15在根据所述状态值将RPM工作模式的设置状态写入到本地日志中和/或返回给所述远程端,可以仅仅在本地日志中写入RPM基于上述唯一值设置RPM工作模式成功与否的状态值和/或者仅仅将RPM基于上述唯一值设置RPM工作模式成功与否的状态值返回给所述远程端,也可以将RPM最新的RPM工作模式一起写入本地日志和/或返回给所述远程端。
作为本发明的一种实施方式,智能终端设备为安卓设备时,控制AP读取所述特定的寄存器中的所述状态值,然后根据所述状态值将RPM工作模式的设置状态写入到本地日志中和/或返回给所述远程端具体包括如下步骤:
控制AP在lk阶段读取所述特定的寄存器中的所述状态值,然后将所述状态值存入到cmdline里面,通过init将所述状态值对应的androidboot字段转换成property_get函数可读的字段;通过property_get函数读取所述可读的字段,根据读取的数据将RPM工作模式的设置状态写入到本地l日志中和/或返回给所述远程端。安卓***中,androidboot字段的形式一般为androidboot.xxx.xxx,property_get函数可读的字段一般为ro.boot.xxx.xxx,xxx为开发时所设计采用的字段。
例如将所述状态值对应的androidboot.xtc.rpmmode转化为只读属性的ro.boot.xtc.rpmmode,native层可以通过property_get函数读到ro.boot.xtc.rpmmode的属性值。
本发明的另一个实施例,如图3所示,一种调整RPM来处理死机的方法,包含如下步骤:
S101、控制远程端接收智能终端设备发送的RPM工作模式,并在远程端上显示出来;
S102、控制远程端接收工作人员输入的所述控制指令;
S11、控制远程端发送控制指令进行调试,所述控制指令包含指定RPM工作模式的唯一值;
S12、智能终端设备接收所述控制指令后,控制AP通过触发属性配置将所述唯一值,写入特定寄存器的文件节点;
S13、智能终端设备重启后,控制RPM读所述特定寄存器的值,来进行RPM工作模式的设置,即在RPM根据从寄存器读到的唯一值选择对应的工作模式。
具体的,本实施例是上述实施例对应的改进实施例,相同的部分具体参见上述实施例,在此不再一一赘述。
本实施例的改进点在于,由于在智能终端设备在重启后均会将自己的RPM工作模式发送给远程端,远程端在接收到智能终端设备发送的RPM工作模式后会进行显示,提供给开发维修人员进行参考,在智能终端设备发生死机时,开发维修人员可以及时知道智能终端设备RPM工作模式,必须时可以发送控制指令来设置智能终端设备处于与之前不同的RPM工作模式。
本发明的另一个实施例,如图4所示,一种调整RPM来处理死机的方法,包含如下步骤:
S10、控制远程端接收智能终端设备发送的死机指示消息与对应的RPM工作模式,并在远程端上进行统计,得到一定时段内在该种RPM工作模式的死机次数,若是所述死机次数大于预设死机次数,则产生所述控制指令;
S11、控制远程端发送控制指令进行调试,所述控制指令包含指定RPM工作模式的唯一值;
S12、智能终端设备接收所述控制指令后,控制AP通过触发属性配置将所述唯一值,写入特定寄存器的文件节点;
S13、智能终端设备重启后,控制RPM读所述特定寄存器的值,来进行RPM工作模式的设置,即在RPM根据从寄存器读到的唯一值选择对应的工作模式。
具体的,本实施例是上述实施例对应的改进实施例,相同的部分具体参见上述实施例,在此不再一一赘述。
本实施例的改进点在于,由于在智能终端设备在重启后均会将自己的死机指示消息和对应的RPM工作模式发送给远程端,远程端会进行统计,得到一定时段内在该种RPM工作模式的死机次数,若是所述死机次数大于预设死机次数,则产生所述控制指令,这里预设死机次数一般取大于或等于1的整数,因为预设死机次数等于0时,只要智能终端设备死机,就有进行RPM工作模式的调整,这种不太符合实际应用。例如,上述一段时间内是指一天00:00至24:00,预设死机次数为3次,即若是发现智能终端设备在一天内的死机次数大于3次,则产生控制指令调整智能终端设备的RPM工作模式,否则不调整。
在本实施例的一种实现方式中,调整时,所述控制指令用于控制智能终端设备处于与随机的RPM工作模式,即每次调整时,控制智能终端的RPM工作模式为随机。
在本实施例的另一种实现方式中,调整时,所述控制指令用于控制智能终端设备处于与之前不同的RPM工作模式,直至所有的RPM工作模式均被调整过。例如RPM工作模式共有四种,即本次为模式1,下一次则为不调整为模式1,则采用模式2,再下次模式3,最后为模式4。若是所有的模式均被调整过,还是发生一定时段内在该种RPM工作模式的死机次数大于预设死机次数的情况,则报警,通知研发维修人员处理,或者重新再循环调整。
应当理解的是,本发明的图2、3、4所示实施例可以单独实施例,也可以与图3或者图4所示实施例的方案结合实施例。
本发明的一个实施例,如图5所示,一种调整RPM来处理死机的***,包含如下模块:指令发送模块11、AP处理模块12、RPM处理模块13。
指令发送模块11,用于控制远程端发送控制指令进行调试,所述控制指令包含指定RPM工作模式的唯一值。
本实施例的应用场景主要是针对经常出现死机的智能终端设备,例如手机、智能手表、平板电脑等,当开发维修人员发现某一用户的智能终端设备一天内出现多次死机,且死机原因是跟DDR、flash等硬件异常有关,就可以通过远程端选择对应的RPM工作模式,并形成对应的控制指令发送至智能终端设备。远程端优选为Web端(网页端),在本发明的另一实施例中,远程端也可以通过专门开发的应用程序实现,例如可以通过台式电脑、笔记本电脑登录指定的网页进行实现,或者在台式电脑、笔记本电脑安装门开发的应用程序实现。
控制指令可以是通过远程端推送给用户的智能终端设备的一个字串,字串是跟设置在用户的智能终端设备上的RPM工作模式是一一对应的,即每种字串对应一种RPM工作模式。
AP处理模块12,用于智能终端设备接收所述控制指令后,控制AP通过触发属性配置将所述唯一值,写入特定寄存器的文件节点。
在本实施例中,智能终端设备会通过专门的apk接收远程端发送的控制指令,在安卓机中AP可以通过设置log.tag.rpmdebug属性,将上述唯一值写入到特定寄存器中。特定寄存器是有专门的物理地址,AP通过寻址可以进行读写操作。
RPM处理模块13,用于智能终端设备重启后,控制RPM读所述特定寄存器的值,来进行RPM工作模式的设置,即在RPM根据从寄存器读到的唯一值选择对应的工作模式。
本实施例中,针对智能终端设备出现多次死机的情况,开发维修人员通过远程端发送一个指令给用户设备,让用户设备AP与RPM进行通信,从而最终实现对RPM多种工作模式进行动态调整。
同时,本实施例针对AP与RPM通信方式也提出了新的解决方案,传统的RPM侧与AP侧通信主要基于sharememory进行消息发送和接收,这种方式AP要基于专门的驱动进行控制,RPM侧需要专门注册resource去接收。本实施例的解决方案是AP与RPM侧通过对特定寄存器的读写操作,实现AP侧与RPM侧的消息发送和接收。
本发明的另一个实施例,如图6所示,一种调整RPM来处理死机的***,包含如下模块:指令发送模块11、AP处理模块12、RPM处理模块13、状态交互模块14、记录返回模块15。
指令发送模块11,用于控制远程端发送控制指令进行调试,所述控制指令包含指定RPM工作模式的唯一值;
AP处理模块12,用于智能终端设备接收所述控制指令后,控制AP通过触发属性配置将所述唯一值,写入特定寄存器的文件节点;
RPM处理模块13用于智能终端设备重启后,控制RPM读所述特定寄存器的值,来进行RPM工作模式的设置,即在RPM根据从寄存器读到的唯一值选择对应的工作模式;
状态交互模块14用于控制RPM再通过写特定的寄存器,将RPM工作模式是否设置成功的状态值发送给AP;
记录返回模块15用于控制AP读取所述特定的寄存器中的所述状态值,然后根据所述状态值将RPM工作模式的设置状态写入到本地日志中和/或返回给所述远程端。
具体的,本实施例是上述实施例对应的改进实施例,相同的部分具体参见上述实施例,在此不再一一赘述。
本实施例中相对于上述实施例而言,新增了状态交互模块14、记录返回模块15,这两个模块的目的是将智能终端设备的RPM工作模式的设置状态保存到日志中和/或者返回给远程端。保存到本地日志中,可以用于进行后续的智能终端设备的状态分析,例如性能分析、故障分析等,本地日志例如可以是安卓***中的kernel日志。返回给远程端,可以让远程端的工作人员知晓RPM工作模式是否设置成功,若是不成功可以再次进行设置,或者分析不成功的原因,以便后续改进。
上述特定的寄存器有专门的物理地址,AP通过寻址可以进行读写操作。其可以与上述特定寄存器为统一个寄存器,可以分别采用不同的寄存器实现。
作为本实施例状态交互模块14的一种实现方式:该特定的寄存器无初始状态值,RPM基于上述唯一值设置RPM工作模式成功与失败,会在该特定的寄存器中写入不同的值。作为本实施例状态交互模块14的另一种实现方式:在状态交互模块14中,可以将特定的寄存器默认一个初始状态值,只在RPM基于上述唯一值设置RPM工作模式成功后,将特定的寄存器的初状态值改写为不同的状态值,AP读取到初始状态值时,会知道本次利用所述唯一值设置RPM工作模式失败,若是读取大其他的状态值,则会知道本次利用所述唯一值设置RPM工作模式成功。
记录返回模块15在根据所述状态值将RPM工作模式的设置状态写入到本地日志中和/或返回给所述远程端,可以仅仅在本地日志中写入RPM基于上述唯一值设置RPM工作模式成功与否的状态值和/或者仅仅将RPM基于上述唯一值设置RPM工作模式成功与否的状态值返回给所述远程端,也可以将RPM最新的RPM工作模式一起写入本地日志和/或返回给所述远程端。
作为本发明的一种实施方式,智能终端设备为安卓设备时,控制AP读取所述特定的寄存器中的所述状态值,然后根据所述状态值将RPM工作模式的设置状态写入到本地日志中和/或返回给所述远程端具体通过如下单元实现:
预读取单元,用于控制AP在lk阶段读取所述特定的寄存器中的所述状态值,然后将所述状态值存入到cmdline里面,通过init将所述状态值对应的androidboot字段转换成property_get函数可读的字段;
记录返回单元,用于通过property_get函数读取所述可读的字段,根据读取的数据将RPM工作模式的设置状态写入到本地日志中和/或返回给所述远程端。安卓***中,androidboot字段的形式一般为androidboot.xxx.xxx,property_get函数可读的字段一般为ro.boot.xxx.xxx,xxx为开发时所设计采用的字段。
例如将所述状态值对应的androidboot.xtc.rpmmode转化为只读属性的ro.boot.xtc.rpmmode,native层可以通过property_get函数读到ro.boot.xtc.rpmmode的属性值。
本发明的另一个实施例,如图7所示,一种调整RPM来处理死机的***,包含如下模块:接收显示模块101、指令输入模块102、指令发送模块11、AP处理模块12、RPM处理模块13。
接收显示模块101,用于控制远程端接收智能终端设备发送的RPM工作模式,并在远程端上显示出来;
指令输入模块102,用于控制远程端接收工作人员输入的所述控制指令;
指令发送模块11,用于控制远程端发送控制指令进行调试,所述控制指令包含指定RPM工作模式的唯一值;
AP处理模块12,用于智能终端设备接收所述控制指令后,控制AP通过触发属性配置将所述唯一值,写入特定寄存器的文件节点;
RPM处理模块13,用于智能终端设备重启后,控制RPM读所述特定寄存器的值,来进行RPM工作模式的设置,即在RPM根据从寄存器读到的唯一值选择对应的工作模式。
具体的,本实施例是上述实施例对应的改进实施例,相同的部分具体参见上述实施例,在此不再一一赘述。
本实施例的改进点在于,由于在智能终端设备在重启后均会将自己的RPM工作模式发送给远程端,远程端在接收到智能终端设备发送的RPM工作模式后会进行显示,提供给开发维修人员进行参考,在智能终端设备发生死机时,开发维修人员可以及时知道智能终端设备RPM工作模式,必须时可以发送控制指令来设置智能终端设备处于与之前不同的RPM工作模式。
本发明的另一个实施例,如图8所示,一种调整RPM来处理死机的***,包含如下模块:指令自动产生模块10、指令发送模块11、AP处理模块12、RPM处理模块13。
指令自动产生模块10,用于控制远程端接收智能终端设备发送的死机指示消息与对应的RPM工作模式,并在远程端上进行统计,得到一定时段内在该种RPM工作模式的死机次数,若是所述死机次数大于预设死机次数,则产生所述控制指令;
指令发送模块11,用于控制远程端发送控制指令进行调试,所述控制指令包含指定RPM工作模式的唯一值;
AP处理模块12,用于智能终端设备接收所述控制指令后,控制AP通过触发属性配置将所述唯一值,写入特定寄存器的文件节点;
RPM处理模块13,用于智能终端设备重启后,控制RPM读所述特定寄存器的值,来进行RPM工作模式的设置,即在RPM根据从寄存器读到的唯一值选择对应的工作模式。
具体的,本实施例是上述实施例对应的改进实施例,相同的部分具体参见上述实施例,在此不再一一赘述。
本实施例的改进点在于,由于在智能终端设备在重启后均会将自己的死机指示消息和对应的RPM工作模式发送给远程端,远程端会进行统计,得到一定时段内在该种RPM工作模式的死机次数,若是所述死机次数大于预设死机次数,则产生所述控制指令,这里预设死机次数一般取大于或等于1的整数,因为预设死机次数等于0时,只要智能终端设备死机,就有进行RPM工作模式的调整,这种不太符合实际应用。例如,上述一段时间内是指一天00:00至24:00,预设死机次数为3次,即若是发现智能终端设备在一天内的死机次数大于3次,则产生控制指令调整智能终端设备的RPM工作模式,否则不调整。
在本实施例的一种实现方式中,调整时,所述控制指令用于控制智能终端设备处于与随机的RPM工作模式,即每次调整时,控制智能终端的RPM工作模式为随机。
在本实施例的另一种实现方式中,调整时,所述控制指令用于控制智能终端设备处于与之前不同的RPM工作模式,直至所有的RPM工作模式均被调整过。例如RPM工作模式共有四种,即本次为模式1,下一次则为不调整为模式1,则采用模式2,再下次模式3,最后为模式4。若是所有的模式均被调整过,还是发生一定时段内在该种RPM工作模式的死机次数大于预设死机次数的情况,则报警,通知研发维修人员处理,或者重新再循环调整。
通过本发明提供的一种调整RPM来处理死机的方法、***、终端设备以及存储介质,通过智能终端设备的AP与RPM进行通信,从而最终实现对RPM多种工作模式进行动态调整,能够有效降低智能终端设备的异常死机。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的程序模块完成,即将装置的内部结构划分成不同的程序单元或模块,以完成以上描述的全部或者部分功能。实施例中的各程序模块可以集成在一个处理单元中,也可是各个单元单独物理存在,也可以两个或两个以上单元集成在一个处理单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件程序单元的形式实现。另外,各程序模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。
本发明的一个实施例,如图9所示,一种终端设备100,包括处理器110、存储器120,其中,存储器120,用于存放计算机程序;处理器110,用于执行存储器120上所存放的计算机程序,实现上述图1-4任意一个所对应方法实施例中的调整RPM来处理死机的方法。
所述终端设备100可以为桌上型计算机、笔记本、掌上电脑、平板型计算机、手机、人机交互屏等设备。所述终端设备100可包括,但不仅限于处理器110、存储器120。本领域技术人员可以理解,图9仅仅是终端设备100的示例,并不构成对终端设备100的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如:终端设备100还可以包括输入/输出接口、显示设备、网络接入设备、通信总线、通信接口等。通信接口和通信总线,还可以包括输入/输出接口,其中,处理器110、存储器120、输入/输出接口和通信接口通过通信总线完成相互间的通信。该存储器120存储有计算机程序,该处理器110用于执行存储器120上所存放的计算机程序,实现上述图1-4任意一个所对应方法实施例中的数据处理方法。
所述处理器110可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器120可以是所述终端设备100的内部存储单元,例如:终端设备的硬盘或内存。所述存储器也可以是所述终端设备的外部存储设备,例如:所述终端设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器120还可以既包括所述终端设备100的内部存储单元也包括外部存储设备。所述存储器120用于存储所述计算机程序以及所述终端设备100所需要的其他程序和数据。所述存储器还可以用于暂时地存储已经输出或者将要输出的数据。
通信总线是连接所描述的元素的电路并且在这些元素之间实现传输。例如,处理器110通过通信总线从其它元素接收到命令,解密接收到的命令,根据解密的命令执行计算或数据处理。存储器120可以包括程序模块,例如内核(kernel),中间件(middleware),应用程序编程接口(Application Programming Interface,API)和应用。该程序模块可以是有软件、固件或硬件、或其中的至少两种组成。输入/输出接口转发用户通过输入/输出接口(例如感应器、键盘、触摸屏)输入的命令或数据。通信接口将该终端设备100与其它网络设备、用户设备、网络进行连接。例如,通信接口可以通过有线或无线连接到网络以连接到外部其它的网络设备或用户设备。无线通信可以包括以下至少一种:无线保真(WiFi),蓝牙(BT),近距离无线通信技术(NFC),全球卫星定位***(GPS)和蜂窝通信等等。有线通信可以包括以下至少一种:通用串行总线(USB),高清晰度多媒体接口(HDMI),异步传输标准接口(RS-232)等等。网络可以是电信网络和通信网络。通信网络可以为计算机网络、因特网、物联网、电话网络。终端设备100可以通过通信接口连接网络,终端设备100和其它网络设备通信所用的协议可以被应用、应用程序编程接口(API)、中间件、内核和通信接口至少一个支持。
本发明的一个实施例,一种存储介质,存储介质中存储有至少一条指令,指令由处理器加载并执行以实现上述调整RPM来处理死机的方法对应实施例所执行的操作。例如,计算机可读存储介质可以是只读内存(ROM)、随机存取存储器(RAM)、只读光盘(CD-ROM)、磁带、软盘和光数据存储设备等。
它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述或记载的部分,可以参见其他实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其他的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性、机械或其他的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可能集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序发送指令给相关的硬件完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括:计算机程序代码,所述计算机程序代码可以为源代码形式、数据项代码形式、可执行文件或某些中间形式等。所述计算机可读存储介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读存储介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如:在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
应当说明的是,上述实施例均可根据需要自由组合。以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种调整RPM来处理死机的方法,其特征在于,包含如下步骤:
控制远程端发送控制指令进行调试,所述控制指令包含指定RPM工作模式的唯一值;
智能终端设备接收所述控制指令后,控制AP通过触发属性配置将所述唯一值,写入特定寄存器的文件节点;
智能终端设备重启后,控制RPM读所述特定寄存器的值,来进行RPM工作模式的设置。
2.根据权利要求1所述的调整RPM来处理死机的方法,其特征在于,在所述进行RPM工作模式的设置后,还包括如下步骤:
控制RPM再通过写特定的寄存器,将RPM工作模式是否设置成功的状态值发送给AP;
控制AP读取所述特定的寄存器中的所述状态值,然后根据所述状态值将RPM工作模式的设置状态写入到本地日志中和/或返回给所述远程端。
3.根据权利要求2所述的调整RPM来处理死机的方法,其特征在于,所述智能终端设备为安卓设备,所述控制AP读取所述特定的寄存器中的所述状态值,然后根据所述状态值将RPM工作模式的设置状态写入到本地日志中和/或返回给所述远程端具体包括如下步骤:
控制AP在lk阶段读取所述特定的寄存器中的所述状态值,然后将所述状态值存入到cmdline里面,通过init将所述状态值对应的androidboot字段转换成property_get函数可读的字段;
通过property_get函数读取所述可读的字段,根据读取的数据将RPM工作模式的设置状态写入到本地日志中和/或返回给所述远程端。
4.根据权利要求1所述的调整RPM来处理死机的方法,其特征在于,在所述控制远程端发送控制指令进行调试之前,还包括如下两组步骤中的一组:
第一组步骤:
控制远程端接收智能终端设备发送的RPM工作模式,并在远程端上显示出来;
控制远程端接收工作人员输入的所述控制指令;
第二组步骤:
控制远程端接收智能终端设备发送的死机指示消息与对应的RPM工作模式,并在远程端上进行统计,得到一定时段内在该种RPM工作模式的死机次数,若是所述死机次数大于预设死机次数,则产生所述控制指令。
5.一种调整RPM来处理死机的***,其特征在于,包含如下模块:
指令发送模块,用于控制远程端发送控制指令进行调试,所述控制指令包含指定RPM工作模式的唯一值;
AP处理模块,用于智能终端设备接收所述控制指令后,控制AP通过触发属性配置将所述唯一值,写入特定寄存器的文件节点;
RPM处理模块,用于智能终端设备重启后,控制RPM读所述特定寄存器的值,来进行RPM工作模式的设置。
6.根据权利要求5所述的调整RPM来处理死机的***,其特征在于,还包括如下模块:
状态交互模块,用于控制RPM再通过写特定的寄存器,将RPM工作模式是否设置成功的状态值发送给AP;
记录返回模块,用于控制AP读取所述特定的寄存器中的所述状态值,然后根据所述状态值将RPM工作模式的设置状态写入到本地日志中和/或返回给所述远程端。
7.根据权利要求6所述的调整RPM来处理死机的***,其特征在于,所述智能终端设备为安卓设备,所述控制AP读取所述特定的寄存器中的所述状态值,然后根据所述状态值将RPM工作模式的设置状态写入到本地日志中和/或返回给所述远程端具体通过如下单元实现:
预读取单元,用于控制AP在lk阶段读取所述特定的寄存器中的所述状态值,然后将所述状态值存入到cmdline里面,通过init将所述状态值对应的androidboot字段转换成property_get函数可读的字段;
记录返回单元,用于通过property_get函数读取所述可读的字段,根据读取的数据将RPM工作模式的设置状态写入到本地日志中和/或返回给所述远程端。
8.根据权利要求5所述的调整RPM来处理死机的***,其特征在于,还包括如下两组模块中的一组:
第一组模块:
接收显示模块,用于控制远程端接收智能终端设备发送的RPM工作模式,并在远程端上显示出来;
指令输入模块,用于控制远程端接收工作人员输入的所述控制指令;
第二组模块:
指令自动产生模块,用于控制远程端接收智能终端设备发送的死机指示消息与对应的RPM工作模式,并在远程端上进行统计,得到一定时段内在该种RPM工作模式的死机次数,若是所述死机次数大于预设死机次数,则产生所述控制指令。
9.一种终端设备,其特征在于,包括处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器,用于执行所述存储器上所存放的计算机程序,实现如权利要求1至权利要求4任一项所述的调整RPM来处理死机的方法所执行的操作。
10.一种存储介质,其特征在于,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现如权利要求1至权利要求4任一项所述的调整RPM来处理死机的方法所执行的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010447217.2A CN111625385A (zh) | 2020-05-25 | 2020-05-25 | 调整rpm来处理死机的方法、***、终端设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010447217.2A CN111625385A (zh) | 2020-05-25 | 2020-05-25 | 调整rpm来处理死机的方法、***、终端设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111625385A true CN111625385A (zh) | 2020-09-04 |
Family
ID=72257990
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010447217.2A Pending CN111625385A (zh) | 2020-05-25 | 2020-05-25 | 调整rpm来处理死机的方法、***、终端设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111625385A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101645033A (zh) * | 2009-05-15 | 2010-02-10 | 上海闻泰电子科技有限公司 | 一种手机软件异常时的调试方法 |
CN107168818A (zh) * | 2017-03-30 | 2017-09-15 | 努比亚技术有限公司 | 终端及刷机失败恢复方法 |
CN107257567A (zh) * | 2017-05-27 | 2017-10-17 | 努比亚技术有限公司 | 数据传输***及方法 |
US20180052718A1 (en) * | 2016-08-22 | 2018-02-22 | Amplidata N.V. | Non-Process Identifier Based Service Manager |
CN107766177A (zh) * | 2017-10-12 | 2018-03-06 | 广东欧珀移动通信有限公司 | 开机优化方法、装置、存储介质及终端设备 |
US20180246730A1 (en) * | 2015-06-05 | 2018-08-30 | Apple Inc. | Memory management of data processing systems |
-
2020
- 2020-05-25 CN CN202010447217.2A patent/CN111625385A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101645033A (zh) * | 2009-05-15 | 2010-02-10 | 上海闻泰电子科技有限公司 | 一种手机软件异常时的调试方法 |
US20180246730A1 (en) * | 2015-06-05 | 2018-08-30 | Apple Inc. | Memory management of data processing systems |
US20180052718A1 (en) * | 2016-08-22 | 2018-02-22 | Amplidata N.V. | Non-Process Identifier Based Service Manager |
CN107168818A (zh) * | 2017-03-30 | 2017-09-15 | 努比亚技术有限公司 | 终端及刷机失败恢复方法 |
CN107257567A (zh) * | 2017-05-27 | 2017-10-17 | 努比亚技术有限公司 | 数据传输***及方法 |
CN107766177A (zh) * | 2017-10-12 | 2018-03-06 | 广东欧珀移动通信有限公司 | 开机优化方法、装置、存储介质及终端设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220053068A1 (en) | Methods, apparatuses and computer storage media for applet state synchronization | |
US8843895B2 (en) | Debugger connection | |
US11640247B2 (en) | Providing service address space for diagnostics collection | |
CN110019498B (zh) | 日志同步方法及装置、存储介质、电子设备 | |
CN109359118B (zh) | 一种数据写入方法及装置 | |
US20230214243A1 (en) | One-machine multi-control method, apparatus, system and electronic device | |
US10055377B2 (en) | Using a proprietary framework on a standards-based embedded device | |
CN106095622A (zh) | 数据备份方法及装置 | |
CN109218393B (zh) | 一种推送的实现方法、装置、设备和计算机存储介质 | |
CN112765084A (zh) | 计算机设备、虚拟化加速设备、数据传输方法及存储介质 | |
CN112395098B (zh) | 应用程序接口调用方法、装置、存储介质和电子设备 | |
WO2017206893A1 (zh) | 界面刷新同步方法、装置、终端及存储介质 | |
US7822040B2 (en) | Method for increasing network transmission efficiency by increasing a data updating rate of a memory | |
CN112328561A (zh) | 一种日志传递方法、***、电子设备和存储介质 | |
CN111625385A (zh) | 调整rpm来处理死机的方法、***、终端设备及存储介质 | |
CN111651308A (zh) | Dp转hdmi芯片的调试数据获取方法、装置和智能设备 | |
CN111475432A (zh) | 一种从机启动控制装置、单总线***及其控制方法 | |
CN113448762B (zh) | 一种死机处理方法、***、智能设备及存储介质 | |
CN115827030A (zh) | 车辆的usb固件升级的方法、装置及车辆 | |
CN115794701A (zh) | 一种dma功能虚拟串口的bmc芯片及方法 | |
CN114070892A (zh) | 数据传输方法和装置 | |
CN111538660A (zh) | 云上容器内程序代码覆盖率统计方法及装置 | |
CN114371978B (zh) | 安卓获取数据的方法、设备、装置和*** | |
CN113032164B (zh) | Bmc与bios信息交互方法、装置、bmc和介质 | |
CN117215966B (zh) | 一种芯片sdk接口的测试方法、测试装置及电子设备 |
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 |